数据类型和类型转换

  我们都知道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));

 

 

posted @ 2019-12-03 14:19  未来我做主  阅读(178)  评论(0编辑  收藏  举报