1、java是强类型语言,进行运算的时候,有时需要用到类型转换
从低到高: byte--short--char--int--long--float--double
boolean(布尔类型)、short(短整型)、int(整型)、long(长整型)、byte(字节型)、char(字符型)、float(单精度浮点型)、double(双精度浮点型)

2、运算中,需要将不同数据类型转换成同一类型然后运算
强制转换格式:(类型)变量名 --强制转换一般用于从高转到低

int i= 128;
byte b = (byte)i; //强制转换,结果是-128 因为超出byte类型的范围导致内存溢出

自动转换:可以直接转换---适用于从低到高

int a = 128;
double c=a;

备注:
不能对不布尔值进行转换
转换的时候可能出现内存溢出,或者精度问题(例如把float转换成int时输出的数会去掉小数点 System.out.println((int)23.7f); //输出结果23)
关于内存溢出:

int money = 1000000000;
int year = 200;
int total = money*year;
System.out.println(total); //输出结果:-1863462912  内存溢出

解决内存溢出:在计算过程中进行类型转换而不是计算出结果之后再进行类型转换

long total = money*((long)year);
System.out.println(total);

补充:
jdk7新特性:数字之间可以用下划线分割,且不影响数字结果

 int money = 1000_0000;
 System.out.println(money); //输出结果:10000000

Java学习链接:https://www.bilibili.com/video/BV12J41137hu?p=1

Posted on 2021-08-26 22:48  阿黎~  阅读(28)  评论(0编辑  收藏  举报