Java数据类型转换

  • 时间:
  • 来源:互联网
  • 文章标签:

***** 如有理解错误请温柔的指教***

一:基本数据类型转换

1、自动转换(取值范围:小范围转大范围)。例如:

```java
        int a = 100;
        long b = 1000;
        float c = a;
        float d = b;


        int num1 = 100;
        float num2 = 3.14F;
        //这里会将num1先转换为float类型的然后再进行运算
        System.out.println(num1+num2); 

2、强制类型转换(可能会发生精度损失、数据溢出)。例如:

        int a = (int) 100L;
        float b = (float) 3.14;

        //数据溢出
        //下面为long类型的数值已经超出了int类型的取值范围,发生数据溢出
        int num3 = (int) 10000000000L;

        //精度损失
        //浮点型强转整型,num4的值为3,发生精度损失
        int num4 = (int) 3.14;

3、byte、short、char都可发生数学运算,但在进行运算的时候,会首先被转为int类型的。例如:

        int num = 1;
		char a = 'a';  //ASCII值为97
		char A = 'A';  //ASCII值为65
		System.out.println(num+a);  //相加为int类型98
		System.out.println(a+A);  //相加为int类型162
		
		byte m = 12;
		byte n = 13;
		int result1 = m+n;  //相加前m和n先转为int类型,相加后的值也为int类型
		byte result2 = m+n;  //报错,int类型的值不能赋给byte
		byte result3 = (byte) (m+n);  //需要进行强制
		
		short x = 10;
		short y = 10;
		int result4 = x+y;
		short result5 = x+y;  //报错
		short result6 = (short) (x+y);

本文链接http://www.taodudu.cc/news/show-83245.html