基本数据类型转换规则

在类型转换的时候需要遵循的规则

1、八种基本数据类型除boolean类型不能转换,剩下的七种类型之间都可以进行转换。

2、如果整数型字面量没有超出byte、short、char取值范围的话,可以直接将整数赋值给byte、short、char类型的变量。

3、自动类型转换:小容量向大容量转换,byte<short(char)<int<long<float<double,其中short和char都各占两个字节,但是char可以表示更大的正整数。

4、强制类型转换:大容量转换成小容量,编写时必须添加“强制类型转换符”。但运行时可能出现精度损失,谨慎使用。

5、byte、short、char类型混合运算时,先各自转换成int类型再运算。

6、多种数据类型混合运算时,先各自转换成容量最大的那一种再做运算。

1.public class TestVar10{
2.        public static void main(String[] args){
3.                //类型转换的两种形式:
4.                double d = 6;//int-->double  自动类型转换
5.                System.out.println(d);
6.                int i = (int)6.5;//double--->int  强制类型转换 (强转)
7.                System.out.println(i);
8.                
9.                //在同一个表达式中,有多个数据类型的时候,应该如何处理:
10.                //多种数据类型参与运算的时候,整数类型,浮点类型,字符类型都可以参与运算,唯独布尔类型不可以参与运算。
11.                //double d2 = 12+1294L+8.5F+3.81+'a'+true;
12.                double d2 = 12+1294L+8.5F+3.81+'a';
13.                System.out.println(d2);
14.                /*
15.                类型级别:(从低到高的)
16.                
17.                级别用来做什么?当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后
18.                其余的类型都转换为当前表达式中级别最高的类型进行计算。
19.                double d2 = 12+1294L+8.5F+3.81+'a';
20.                          = 12.0+1294.0+8.5+3.81+97.0
21.                */
22.                int i2 = (int)(12+1294L+8.5F+3.81+'a');
23.                System.out.println(i2);
24.                /*
25.                在进行运算的时候:
26.                左=右  : 直接赋值
27.                左<右  :强转
28.                左>右  :直接自动转换
29.                */
30.                
31.                //以下情况属于特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行
32.                //强转了直接赋值即可。
33.                byte b = 12;
34.                System.out.println(b);
35.                byte b2 = (byte)270;
36.                System.out.println(b2);
37.                
38.                
39.                
40.        }
41.}

 

posted @ 2022-08-01 21:12  风子磊  阅读(1029)  评论(0编辑  收藏  举报