-
-
由于JAVA是强类型语言,在进行某些运算的时候需要进行强类型转换
低--------------------------------------------------------------------->高
byte,short,char --> int --> long --> float -->double
(小数的优先级一定大于整数)
public class Demo04 {
public static void main(String[] args) {
//强制转换:格式--(类型)变量名;由高转低
int i = 128;
byte b = (byte)i;
System.out.println(i);
System.out.println(b);//内存溢出
int i1 = 120;
byte b1 = (byte)i1;
System.out.println(i1);
System.out.println(b1);
//自动转换:由低转高
int i2 = 1213;
double b2 = i2;
System.out.println(i2);
System.out.println(b2);
//精度问题
System.out.println(13.7);
System.out.println((int)13.7);
System.out.println((int)-45.89f);
//类型转换
char c = 'a';
int d = c+1;
System.out.println(d);//输出了一个int类型的d
System.out.println((char)d);//输出了一个char类型的d
System.out.println("==================================================================");
//====================================================================================================
//操作比较大的时候要注意溢出问题
int money = 10_0000_0000;//数字之间可以用下划线分隔,方便阅读
int year = 20;
long total = money*year;
System.out.println(total);//默认是int,转换之前就存在问题了,所以溢出
long total1 = money*((long)year);//将其中一个数转换为long
System.out.println(total1);
/*注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换成不相干的类型
3.转换可能出现内存溢出或者精度问题
*/
}
} -
标签:类型转换,int,Day5,System,--,println,out From: https://www.cnblogs.com/1213tao/p/16838633.html