Java的基本数据类型
一,整型类型
byte类型占一个字节(8位),取值范围:-2^7 ~ 2^7-1
有一个位用来表示字符了,所以用来表示数字的实际上只有7个位,所以是7次方而不是8次方。(下面的数据类型也是一样)
short类型占2个字节(16位),取值范围:-2^15 ~ 2^15-1。
int类型占4个字节(32位),取值范围:-2^31~ 2^31。
System.out.println(Integer.MAX_VALUE);//最大值2147483647
System.out.println(Integer.MIN_VALUE);//最小值-2147483648
System.out.printf(2147483648);//当字面值超过能够保存的最大值时会报错
System.out.println(Integer.MAX_VALUE+1);//而这里只是输出了int可保存的最小值-2147483648
``
System.out.println(Integer.MAX_VALUE+1);//-2147483648
System.out.println(Integer.MAX_VALUE+2);//-2147483648
用一个闹钟举例当时针指向12时时,下一个小时指向的是1时而不是13时,无论怎么样这个时针只能在1~12时这个范围来回跳转,不会出现在这个范围外的值。
long类型占8个字节(64位),取值范围:-2^63~ 2^63。
long a=10L;
使用long类型时要在数值后面加一个L,不然它还是一个int类型的数值
二,字符类型:
char类型占两个字节(16位),取值范围:0~655354。
char类型的最高位不是符号位,意味着char类型不存在负数。
System.out.println(Character.MAX_VALUE);//输出结果:,这个最大值识别不了
char ch='艺';//‘艺’占两个字节
Java中用的时Unicode字符表
Unicode字符表所包含的不仅仅有英文字符还有其他其不同的文字字符,而ASSCLL码只有一些英文字符
三,浮点类型
单精度浮点型float类型占4个字节(32位),取值范围:10^-38 ~10^38和 -10^38 ~ - 10^-38
float a1=3.1f;//为float类型的变量赋值时数字后面要加上大写或小写的f,否则这个数会是double类型的,编译器就会报错
双精度的double类型占8个字节(64位),取值范围:10^-308 ~ 10 ^ 308和-10^308~ -10^-308
四,布尔类型:
boolean类型没有明确的字节大小,常量为:true,false。
boolean b=true;//输出true
boolean b2=3;//报错
在Java当中true就是真,false就是假。