标签:char byte ota 之间 jdk print long one 计算
? 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。运算中,不同类型的数据先转换为同一类型,然后进行运算。
低 -------------------------------------------------------------- 高
byte,short,char ---> int ---> long ---> float ---> double
由高到低
(类型)变量名
// 强制转换
int num1 = 128;
byte b1 = (byte) num1; // 由高到低
System.out.println(num1); // 128
System.out.println(b1); // -128 内存溢出 因为byte类型的大小范围为-128~127
由低到高
JDK7新特性,数字之间可以用下划线分割,便于书写。
计算时也要注意内存溢出问题。
// 内存溢出,及JDK7新特性
int money = 10_0000_0000;
int years = 20;
int total = money * years;
System.out.println(total); // 内存溢出 -1474836480
long total2 = money * years;
System.out.println(total2); // -1474836480 默认是int 转换之前已经存在问题
long total3 = money * (long)years;
System.out.println(total3); // 20000000000
标签:char byte ota 之间 jdk print long one 计算
原文地址:https://www.cnblogs.com/zhangtu/p/14453728.html