java在的数据类型
- java数据类型的划分
程序的本质=数据的处理;
数据库的本质=数据的存储。
java之中数据类型一共分为两大类。
·基本数据类型:
数值型:
整型:byte,short,int,long 默认值都是0;
浮点型:float,double 默认值:0.0;
字符型:char 默认值: "\u0000";
布尔型:boolean 默认值:false;
·引用数据类型:
数组,类,接口 默认值:null;
基本数据类型是不牵扯内存操作的,属于数值操作;引用数据类型会牵扯到内存的操作。
而对于数值型的基本基本类型而言,主要区别在于保存的长度:

一般在开发中对数据类型的选择:
如果要表示整数就使用int,小数就使用double;
如果要表示日期或者内存文件大小的时候使用long;
如果要进行数据传输,编码转换使用byte;
如果要描述逻辑运算,使用boolean。
数据类型的转换分为两种模式:
· 自动转型:数据保存范围小的自动向保存范围大的数据类型转换;
|- 如果范围大和范围小的数据类型进行计算,则范围小的数据类型会自动变为参与的另外一个范围大的数据类型;
· 强制转换:
|- 无损转换:将范围小的数据类型强制变为范围大的数据类型;
|- 可能的有损转换:将范围大的数据类型变为范围小的数据类型。
范例:利用数据类型的扩大解决数据溢出问题
|
public class TestDemo { public static void main(String args[]) { // long 变量 = 自动转型为 long 的 int 型数据 long max = Integer.MAX_VALUE ; // 取得最大值、2147483647 int min = Integer.MIN_VALUE ; // 取得最小值、-2147483648 // long 型变量 + long(int 型常量自动转换) = long 型结果 System.out.println(max + 1) ; // 2147483648 System.out.println(max + 2) ; // 2147483649 // long(int 型变量强制) - long(int 型常量转换) = long 型结果 System.out.println((long)min - 1) ; // -2147483649 } } |
在开发之中尽量不要出现强制性的向下转型,除非你确定数据一定在允许范围之内。 范围小的数
据类型自动向范围大的数据类型转换。
其中byte类型也是最为常用的数据类型,此类型的长度为 8,范围是:-128 ~ 127 之间。
浮点型(小数)
Java 里面默认的小数常量其对应的类型都是 double。
double 和 int 相比,int 的范围要比 double 小(double 可以保存下全宇宙最大的有意义的数据)。所以 int 型的常量可以使用 double类型进行接收
但是浮点型之中除了有 double 之外还有 float 类型,只不过一般很少去直接使用 float。因为默认的小数是 double,如果要使用float,还需要强制转换
不同数据类型在进行计算之前都会首先默认向最大范围的数据类型转换,而后再进行计算处理,所以按照这个流程:
· byte → int → long → double;
字符型
在程序之中使用单引号声明的内容就表示字符,例如"'A'"、按照正常道理来讲,一个字符= 2 个字节(char = byte * 2),而且
最为重要的问题在于,Java 中的字符采用的是十六进制的编码方案,即:它可以存放一个中文。
与数据库的概念区别:
数据库之中不使用双引号,而使用"'"进行字符串的标记,里面是有很多内容的;
程序之中的"''"里面只能够包含有一个字符,程序中的""""与数据库中的"'"相同,可以包含多个内容(字符串)。
但是你千万要记住一点,在程序之中,char 可以和 int 互相转换,而转换后的 int 内容就是字符的编码。
|
字符编码范围:'A' (65 ) ~ 'Z' (90 ); 字符编码范围:'a' (97 ) ~ 'z' (122 ); 字符编码范围:'0' (48 ) ~ '9' (57 |
在现实开发之中编码有许多种,其中最为常用的就是 ASCII 码,也就是说 Java 中的使用的 Unicode 编码兼容 ASC II 码的内容。
也就是说明确告诉大家了,unicode 是有编码范围的,任何的文字都可以使用 unicode 完成。
如果以后要进行中文的处理,使用字符类型是最方便的,不要用字节
布尔型
布尔是一个数学家的名字,对于布尔类型使用 boolean,而对于 boolean 的内容取值有两个:true(真)、false(假)。一般而言,
布尔型往往是与判断逻辑相结合的,例如:if 语句,这个语句之中必须要求判断 boolean 型的结果。
许多的编程语言实际上并没有明确的提供有布尔型的操作,往往会使用 0 表示 false,而非 0 表示 true,但是在 Java 里面没有这样的概念。
String
String 并不是一个基本数据类型,而属于一个引用数据类型,它是一个类,但是这个类的使用上非常特殊,下面先对这个类有
一个基本的认识。在程序之中使用""""声明的内容就表示字符串,而字符串对应的类型暂时简单理解为就是 String。String 并不是一个基本数据类型,而属于一个引用数据类型,它是一个类,但是这个类的使用上非常特殊,下面先对这个类有一个基本的认识。在程序之中使用""""声明的内容就表示字符串,而字符串对应的类型暂时简单理解为就是 String。需要明确的是 String 不是基本数据类型,可是在 String 里面可以使用"+"进行连接。
但是这个时候有一个问题出现了,数学中也有一个"+",那么这个结果什么呢?
|
public class TestDemo { public static void main(String args[]) { double numA = 10.2 ; int numB = 20 ; String str = " 计算结果:" + numA + numB ; System.out.println(str) ; // 计算结果:10.220 } } |
这个时候发现使用"+"操作变为了字符串的连接处理。Java 对于字符串的操作有一个强制性的规定:基本数据类型如果不与字符串进行"+"操作,那么遵循低位向高位自动转换原则(int → double),但是如果有了字符串进行"+"处理,那么所有的数据类型必须变为 String 后再进行"+"(连接),而要想改变此问题,需要使用"()"改变执行的优先级;
|
public class TestDemo { public static void main(String args[]) { double numA = 10.2 ; int numB = 20 ; String str = "计算结果:" + (numA + numB) ; System.out.println(str) ; } } |
|
public class TestDemo { public static void main(String args[]) { double numA = 10.2 ; int numB = 20 ; System.out.println(numA + numB + "") ; // 30.2 System.out.println("" + numA + numB) ; // 10.220 System.out.println(numA + '' + numB) ; } } |
在字符串定义之中还有一个关于转义字符的问题,有如下几个:Tab(\t)、"(\")、'(\')、\(\\)、换行(\n)。
测试转义字符
|
public class TestDemo { public static void main(String args[]) { String strA = "h\tello\n world" ; System.out.println(strA) ; String strB = "我说:\"聊五毛的\"、\\" ; System.out.println(strB) ; } } |
java在的数据类型的更多相关文章
- Java的基本数据类型与转换
1.1 Java为什么需要保留基本数据类型 http://www.importnew.com/11915.html 基本数据类型对大多数业务相关或网络应用程序没有太大的用处,这些应用一般是采用客户端/ ...
- 闲来无事——第一弹 Java基础 基本数据类型
一个优秀的Java类一定要去优质的名称,类的命名主要有字母和数字,并且必须以字母开头:虽然说没有明确规定类名首字母要大写,但是实际上如果出现首字母小写的类名,那就呵呵了,坐等挨骂吧!类名首字母大写是业 ...
- Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典)
1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题.(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对 ...
- Java学习——基本数据类型
Java两大数据类型 内置数据类型 引用数据类型 变量就是申请内存存储值,内存管理系统根据变量的类型分配相应的存储空间存储该类型的数据. 内置数据类型 8中基本类型(四个整数型,两个浮点型),一种字符 ...
- JAVA:变量,数据类型,运算符,流程控制(简介)<1>
一.安装和配置jdk 1.jdk是什么? (1).jdk全称是Java Development Kit, Java开发工具包; (2).jdk是sun公司开发的; (3).jdk主要包括:jre(Ja ...
- Java的基本数据类型
java的基本数据类型是四类八种: 整型 byte 1字节 8位 short 2字节 16位 int 4字节 32位 long 8字节 64位 在hibernate自动映射中会根据数字长度,选 ...
- 学习java随笔第三篇:java的基本数据类型
数据类型 一:整型 1.十进制 2.八进制 八进制数是满8进1,包含0~7的8个数字,在整数前面添加一个"0",表示是八进制数. 3.十六进制 十六进制数是满16进1,包含0~9, ...
- Java笔记原生数据类型【二】
1.Java中的数据类型分为: 1)原生类型(primitive Data type) 2.)引用类型(对象类型) (Reference Type) 1.变量和常量: 常量: 就是值不会变化的量: 变 ...
- Java中的数据类型及相互转换方法
本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...
- Java基础之数据类型和转换
一.常见的数据类型分类 1.java中基本数据类型分为三大类,即布尔类型,字符型,数值型.其中数值型又分为整型和浮点型.引用数据类型分为类,接口,数组,枚举,注解.具体如下: 注:一个字节 = 8位 ...
随机推荐
- Linux系统下安装Mysql5.7.18教程收集分享
本人最近服务器新手入门,需要搭建一个在linux虚拟机上的服务器 第一天再装虚拟机,选的linux系统CentOS,一切顺利. 第二天,要给虚拟机装Mysql,但是需要用到命令行进行安装/操作等,我是 ...
- 用2D动画做遮罩
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- docker核心概念及centos6下安装
Docker三大核心概念 镜像 容器 仓库 镜像 docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统. 容器 1.容器是从镜像创建的应用运行实例,容器和 ...
- R – GPU Programming for All with ‘gpuR’
INTRODUCTION GPUs (Graphic Processing Units) have become much more popular in recent years for compu ...
- kali虚拟机安装提示安装系统步骤失败
首先虚拟机不论是VM还是VirtualBox都可以直接安装kali镜像文件的,不过如果你采用虚拟机默认硬盘8G设置的话,到的系统安装步骤会出错无法继续,具体原因不明. 解决办法却很简单,将虚拟机的硬盘 ...
- Git详细教程(3)---结合gitHub使用
1.GitHub的基本使用 GitHub就是一个网站,本身是基于Git,可以完成版本控制,可以托管代码. 英文版的. 在使用GitHub之前,首先需要注册一个账号. 登录,就可以完成相关的一些操作. ...
- CentOS7安装使用Docker
安装 Docker 官方为了简化安装流程,提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装: curl -sSL https://get.docker.com/ | sh 执行这个命令后, ...
- Java 9 揭秘(4. 模块依赖)
文 by / 林本托 Tips 做一个终身学习的人. 在此章节中,主要学习以下内容: 如何声明模块依赖 模块的隐式可读性意味着什么以及如何声明它 限定导出(exports)与非限定导出之间的差异 声明 ...
- Eclipse汉化后如何还原为EN英文(实用技巧) --转
自从那天脑袋短路后,下了个汉化包将Eclipse给汉化了,用的我真TMD的不习惯,一直想还原为EN文,试了好多办法,删文件,汉化包,改eclipse.ini文件中的"-nl zh" ...
- oracle 11g 完全卸载方法
网上好多卸载教程都前篇一律,但很多卸完重装都有问题,卸了几次装了几次,就特地总结整理一下 另外说一句:在完全删除(或者叫卸载)oracle时,没有必要特别意oracle提示问题,只要把oracle痕迹 ...