Java是强数据类型,在声明的时候必须注明所使用的数据类型是什么,下面,我们来了解一下
Java的类型分为基本类型(或者成为内置的的数据类型)和引用类型,其中,基本类型主要有8+1种,分别是:6种数字类型和一个boolean类型,一个字符类型。一个null。请看下面
在我们编码的时候,byte只能赋值上述的数据范围,一旦超出,输出会特别的有意思,哈哈哈。比如
byte b = (byte)128;
System.out.println(b);
//输出=> -128
byte b = (byte)129;
System.out.println(b);
//输出=> -127
byte b = (byte)131;
System.out.println(b);
//输出=> -125
byte b = (byte)-129;
System.out.println(b);
//输出=> 127
又由于char是无符号类型的,在表示正整数和负数 的情况时 比如
char c= (char)-1;
System.out.println(c);
在Java8中输出的是 口(这是一个特殊字符) 然而在正整数下,
char c = (char) 10;
System.out.println(c);
则是什么都没有输出,在debug模式下 可以看到c为\n 10,仅此。 在汉字模式下比如
会直接输出 中
我们来对double和float做个探讨,在double和float定义的时候,我们千万要记得加末尾的`d`或者是`f`,否则会超出我们的预想范围哦
double t = 23.1d;
double t1 = 23.1;
System.out.println(t);
System.out.println(t1);
//因为没有后缀类型的数值,默认是double
System.out.println(1/3);
System.out.println((1/3d));
System.out.println((1/3f));
//输出
//0
//0.3333333333333333
//0.33333334
由上,可以看出其中的差异 还有一个陷阱等着,
System.out.println( 0.99999999f==1f);
System.out.println(0.9f==1f);
//输出竟然是
//true
//false
请等待Java的数据类型系列二