基本类型
整数类型
1. byte占1个字节范围:-128~127 默认值(0)
2. short占2个字节范围:-32768~32767默认值(0)
3. int占4个字节范围:-2147483648~2147483647默认值(0)
4. long占8个字节范围:-9223372036854775808~9223372036854775807默认值(0L)
浮点类型
1. float占4个字节默认值(0.0f)
2. double占8个字节默认值(0.0d)
字符类型
1. char 占2个字节 默认值('u0000')
布尔类型(默认值为false)
1. boolean占一位其值只有true和false两个
引用数据类型(默认值为null)
在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
字符串 String (or any object) 默认值(muill)
数组 Array默认值(muill)
拓展
-
字符拓展 所有的字符本质还是数字 可以强制转换,编码 Unicode表: 97=a 65=A 占用2字节 最多可以表示65536个字节 编码表范围 U0000~UFFFF
-
浮点数拓展: 银行业务表示,float ,double 有限离散 舍入误差 大约 接近但不等于最好使用完全使用浮点数进行比较,数学工具类 BigDecimal
-
整数拓展: 进制 二进制(0b) 八进制(0) 十进制(1) 十六进制(0x)
int i=10;//十进制 int j=011;//八进制 int k=0x10;//十六进制 0~9 A~F
类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。低->高:byte,short,char->int->long->float->double
-
强制转换 : 条件是转换的数据类型必须是兼容的。(类型) 变量名 高->低
-
自动转换 :必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。 (类型)变量名 低->高
-
隐含强制类型转换: 整数的默认类型是 int。 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
-
注意:不能对布尔值尽行转换,不能把对象转换为不相干的类型,在把高容量转换到低容量的时候强制转换会出现内存溢出或者精确度的问题,操作或操作比较大的数的时候,注意溢出问题