基本数据类型
java是一种强类型语言。每一个变量必须声明为某一种类型。在java中共有8种基本类型,4种整数类型(byte、short、int、long)、2种浮点类型(float、double)、1种用于Unicode编码的字符单元的字符类型(char)、1种表示逻辑变量的类型(boolean)。
数据类型名称 | 关键字 | 占字节数 | 取值范围 | 默认值 |
---|---|---|---|---|
字节型 | byte | 1 | -128~127 | 0 |
短整型 | short | 2 | -215~215-1 | 0 |
整型 | int | 4 | -231~231-` | 0 |
长整型 | long | 8 | -263~263-1 | 0 |
单精度浮点型 | float | 4 | ||
双精度浮点型 | double | 8 | ||
字符型 | char | 2 | 0~2^15-1 | |
布尔型 | boolean | 1 | true或false | false |
整型
java中byte、short、int、long是没有unsigned(无符号)形式的。
java7开始,前缀0b或者0B表示二进制数。java7开始,数字字面量中加入下划线,如1_000_000或者0b1111_0100_0100_0000表示100万。_下划线的作用只是为了更容易读,编译器会去除下划线。
浮点型
float类型数字后面有一个后缀f或F。如果没有f或F,则默认是double类型。double类型数值也可以在后缀加上D或d。
计算0/0或者负数的平方根得到的是NAN,正整数除以0的结果是正无穷大???。
Double.POSITIVE_INFINITY、Double.NEGATIVE_INFITIVE、Double.NaN
字符型
java中char类型描述UTF-16编码中的一个代码单元。
java中单引号表示字符与双引号表示的字符串需要区分。
\加上一些特定字符可以组成转义序列,如\r、\n。其中\u比较特别,不仅可以在字符串中出现,也可以在字符串之外。如 '''public static void main(String\u005B\u005D args){}'''。所以在使用时需要注意\u可能导致的问题,如注释或者文件路径可能包含\u而引发问题。
boolean逻辑值类型
在java中整数型和布尔值不能相互装换。
java中的变量名是一个以字母开头并由字母或数字构成的序列。
数组
创建对象类型数组时,所有元素初始化为null。整数数组初始化为0,浮点类型数组初始化为0.0,boolean类型数组初始化为false。