java的八大数据类型
一、数据类型的分类
逻辑类型:boolean(true false)
字符类型:char
整数类型:int、byte、short、long
浮点类型:float、double
Java中整数值有4种表示方式:十进制、二进制、八进制和十六进制,其中二进制的整数以0b或0B开头;八进制的整数以0开头;十六进制的整数以0x或者0X开头,其中10~15分别以a~f(此处的a~f不区分大小写)来表示。
1、整数类型
(1) byte 型
占用空间:1字节,占8位,因此byte型变量的取值范围是-27~27-1。
java中不存在byte型常量的表示法,因此需强调一个整数是byte时,需使用类型转换运算,例如:(byte)-12,(byte)28
(2) short 型
占用空间:2字节,占16位,因此short型变量的取值范围是-215~215-1。
java中不存在short型常量的表示法,因此需强调一个整数是short时,需使用类型转换运算,例如:(short)-12,(short)28。
(3) int 型
占用空间:4字节,占32位,因此short型变量的取值范围是-231~231-1(约21亿)。
Java的整型默认是int.超出int范围的数Java也不会自动将其定义为long类型。
(4) long 型
占用空间:8字节,占64位,因此long型变量的取值范围是-263~263-1.
常量:long型常量通常用后缀L来表示。
注:java没有无符号的byte,short,int,long。因此 unsigned int m是错误的变量声明。
2、字符型
(1)char型
常量:用单引号(‘ ’)括起来的Unicode表中的一个字符。
例如:char c1 = ‘a’; char c2= ‘中’; char c3 = ‘9’;
char=97(输出表示为a,开发中很少见) = char=a;
char型变量,分配2个字节,占16位,最高位不是符号位,没有负数的char,所以char型变量的取值范围是0~65535。
3、浮点型
(1)float 型
常量:423.2345f,23434.223F,231.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)
变量:float 储存是保留8位有效数字,称之为单精度。分配4字节,占32位。
(2)double 型
常量:1234.242d,937.243256345,0.03(小数表示法),1e-90,对于double有后缀d或D,但可以省略。
变量:精度是float的两倍。通常采用此类型。
4、布尔型
boolean类型的数值只能是true或false,不能用0或者非0来代表。其他基本数据类型的值也不能转换成boolean类型。
Java规范并没有强制指定boolean类型的变量所占用的内存空间。虽然boolean类型的变量或值只要1位即可保存,但由于大部分计算机在分配内存时允许分配的最小内存单元是字节(8位),因此bit大部分时候实际上占用8位