各个数据类型的取值范围
各个类型的参数情况
在程序语言中数据类型的范围是很重要的,在引用一些变量的时候给他赋予的值越界或者超出数据所给的范围就会造成异常报错。
所以数据的取值范围是很有必要知道的;
总共有8个基本的数据类型
在JAVA中输入以下语句就可以看到一些类型的界限:
public class Date {
public static void main(String[] args) {
System.out.println("int类型上限"+Integer.MAX_VALUE);
System.out.println("int类型下限"+Integer.MIN_VALUE);
System.out.println("short类型上限"+Short.MAX_VALUE);
System.out.println("short类型下限"+Short.MIN_VALUE);
System.out.println("byte类型下限" +Byte.MIN_VALUE);
System.out.println("byte类型上限" +Byte.MAX_VALUE);
System.out.println("float类型上限" +Float.MAX_VALUE);
System.out.println("float类型下限" +Float.MIN_VALUE);
System.out.println("double类型上限" +Double.MAX_VALUE);
System.out.println("double类型下限" +Double.MIN_VALUE);
System.out.println("long类型上限" +Long.MAX_VALUE);
System.out.println("long类型下限" +Long.MIN_VALUE);
System.out.println("char类型上限" +Character.MIN_VALUE);
System.out.println("char类型下限" +Character.MIN_VALUE);
System.out.println("boolean类型默认值"+new Boolean("b"));
}
}
在这8个数据类型当中是能够清楚的看到其中6个数据的取值范围,在boolean中只有两个取值就是
true或者flase
在创建boolean对象的时候就会系统自己默认赋值成为
flase
这个属性。 生成boolean的类型对象方法如下:
就是给new一个新的String对象“b” 则b的初始值就是 flase;
最关键的在在其中的char字符型这样的取值范围看不到?这是什么原因呢?生成的是
而这个是怎么出来的呢?一系列的问题就值得去探讨。
char是字符行常量,里面是用来存放例如‘a’,‘A’.这种形式的数据,我访问
MAX_VALUE
之后看到如下的界面:
在这里很清楚的看到是
char MIN_VALUE = ‘\u0000’ ;
char MAX_VALUE = ‘\uFFFF’;
这样的数据数据能看到但是就是看不到这个取值是什么问题呢?赋值粘贴 '\uFFFF’去百度搜索也是一个 的形式,最后我通过查阅数据才知道
\u开头的是一个Unicode码的字符。范围在’\u0000’到’\uFFFF’之间
而Unicode:采用的是十六进制形式,输入的时候采用 '\uxxxx’形式,除了前边的0-255,还在剩余的空间中加入了其余的符号,比如欧洲的一些语言,中国的汉语,而我们的汉字编码是从\u4e00开始,一直到\u8c9f结束,这也将剩余的空间占用了,也就有了取值范围是\u0000 - \uffff的说法,不过可惜汉字很多,unicode编码只收录了一部分常用的汉字。
在16进制计数是
0 1 2 3 4 5 6 7 8 9 A B C D E F
可得结果就是
16X16X16X16=65535
‘\uFFFF’=65535
‘\u0000’=0
所以可以查阅得到的char的范围就是0-65535这个区间。
当然也有人char字符是0-255这个范围的区间,这种说法中的0-255指的是ascill编码格式,一些常用的英文以及符号都在0 - 255范围之内放着,其余位置并没有存放东西。
所以呢char两种的区间取值都可以取。
综上呢,这就是这次的内容了。
后续再会!