数据类型和类型转换
我们都知道JAVA是跨平台语言,那是因为每台计算机都配置有一个JAVA虚拟机的东西,所以JAVA项目可以在每台计算机上都能运行。
同时JAVA也是强制型语言,因为变量都需要定义才能被使用。
那JAVA的基本数据类型有(按优先级划分从低到高): boolean 、byte、char、short、 int 、long、 float、 double;
----从结果可知小数的优先级大于整数;由于优先级的问题所以在运算过程中,不同类型数据先转换为同一数据类型再进行运算。
类型转换需要注意:
(1)不能对布尔值进行转换(boolean的值只有true或false);
(2)不能把对象类型转换为不相干类型;
(3)把高优先级转换低优先级时 ,需要强制性转换;
(4)转换时可能存在内存溢出,或者精度问题;
例】:
System.out.println((int)23.7); //结果23,是精度问题
System.out.println((int)-45.78f); //结果-45,是精度问题
又有 : int i=128; byte b=(byte)i; //因为byte的容量是-127到127;所以强制转换导致溢出问题
所以:操作比较大的数的时候,注意溢出问题;
另 JDK7有一个新特性,数字之间可以用下划线分割;
即: int i=10_0000_0000; System.out.println(i); //结果也是1000000000;没影响
如果数值太大,超过int 的容量,则可以转换成long类型;
System.out.println(long(i*10));