第一类:逻辑型boolean
boolean类型数据只允许取true或false,不可以0或非0的整数替代true和false,这点和C语言不同
第二类:文本型char
char 型数据用来表示通常意义上“字符”(2字节)
字符型常量的三种表现形式:
字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = ‘a‘; char c2 = ‘中‘; char c3 = ‘9‘;
Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // ‘\n‘表示换行符
直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。
char类型是可以进行运算的。因为它都对应有Unicode码。
第三类:整数型(byte、short、int、long)
Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。
Java语言整型常量的三种表示形式:
十进制整数,如:12,-314,0。
八进制整数,要求以0开头,如012。
十六进制数,要求0x或0X开头,如:0x12。
Java语言的整型常量默认为int型,声明long型常量必须后加‘|‘或‘L‘。
类型 | 占用存在空间 | 表数范围 |
byte |
1字节=8bit |
-128 ~ 127 |
short |
2字节 |
-215 ~215-1 |
int |
4字节 |
-231 ~ 231-1 |
long |
8字节 |
-263 ~ 263 |
第四类:浮点类型(float、double)
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
浮点型常量有两种表示形式:
十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式:如:5.12e2 512E2 100E-2
类型 | 占用存在空间 | 表数范围 |
单精度float |
4字节 |
-3.403E38 ~ 3.403E38 |
双精度double |
8字节 |
-1.798E308 ~ 1.798E308 |
基础数据类型转换
1.自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:
2.有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
3.byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。
4.实数常量(如:1.2)默认为double;整数常量(如:123)默认为int。
强制类型转换
1.自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。
2.通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
如: String a = “43”; int i = Integer.parseInt(a);
3.boolean类型不可以转换为其它的数据类型。