Java(6):类型转换以及计算溢出问题
2021-03-01 07:26
标签:char byte ota 之间 jdk print long one 计算 ? 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。运算中,不同类型的数据先转换为同一类型,然后进行运算。 低 -------------------------------------------------------------- 高 byte,short,char ---> int ---> long ---> float ---> double 由高到低 (类型)变量名 由低到高 JDK7新特性,数字之间可以用下划线分割,便于书写。 计算时也要注意内存溢出问题。 Java(6):类型转换以及计算溢出问题 标签:char byte ota 之间 jdk print long one 计算 原文地址:https://www.cnblogs.com/zhangtu/p/14453728.html1 类型转换
1.1 强制转换
// 强制转换
int num1 = 128;
byte b1 = (byte) num1; // 由高到低
System.out.println(num1); // 128
System.out.println(b1); // -128 内存溢出 因为byte类型的大小范围为-128~127
1.2 自动转换
注意
补充
// 内存溢出,及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
文章标题:Java(6):类型转换以及计算溢出问题
文章链接:http://soscw.com/index.php/essay/58445.html