类型转换

//类型转换:不同类型的数据先转换为同一类型,然后进行运算;

​ int i = 128;
​ byte b = (byte)i;//要想让i=b,两者必须属于同一类型,需要在i前加上(byte)进行转化
​ System.out.println(i);//输出i=128
​ System.out.println(b);//输出b=-128,由于内存溢出了,byte范围是-128-127

//强制转换类型:由高到低,不需要进行操作,直接写等号即可;

//自动转换类型:由低到高,需要进行操作;

//高低顺序:byte,short,char<int<long<float<double,小数有优先权;

​ double c = i;
​ System.out.println(i);
​ System.out.println(b);

/*注意:

1、不能对布尔进行转换;

2、不能把对象类型转换为不相干的类型;

3、在把高容量转换到低容量时候,强制转换;

4、转换的时候,可能存在内存溢出或者精度问题

/
​ System.
out.println((int)23.7);//输出23,精度降低;
​ char d = 'a';
​ int e = d +1;
​ System.
out.println(e);//由int转变到char不需要转换操作;
​ System.
out*.println((char)e);

//操作比较大的数字的时候,注意内存溢出问题;

//如果要写比较大的数字,不方便,可以中间用下划线分割,而且下划线不会被输出;

​ int money = 10_0000_0000;
​ System.out.println(money);
​ int year = 20;
​ int total = moneyyear;
​ System.
out.println(total);//此时输出为负数,因为内存溢出了,需要用long
​ long total2 = money
year;
​ System.out.println(total2);//输出依旧是负数,因为已经默认是整数了
​ long total3 = money((long)year);
​ System.
out*.println(total3);//输出正确

posted @ 2025-04-02 17:44  琬六岁  阅读(16)  评论(0)    收藏  举报