Java基础(basis)-----基本数据类型转换

1.基本数据类型精度

      数据类型按容量大小排序为:char,byte,short -->int -->long --> float  --> double

2.类型转换

      自动类型转换是指一个容量小数据类型转换容量大的数据类型

      强制类型转换是指强制容量大的数据类型转换为容量小数据类型   

      注意:

  • 强制转换时有可能失真
  • 当char、byte、short之间做运算时,默认的结果为int类型
  • boolean类型不可以转换为其它的数据类型
  • 字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型

3.字符串与基本数据运算

       字符串与基本数据类型之间的运算:只能是连接运算 +  得到的结果仍为字符串

package com.yyx.pratice;

public class JavaPratice {
    public static void main(String[] args) {
        short s1=1;
        /*
         * s1=s1+1;
         * s1是short型,1是int型(1会被自动归为int型),二者相加,
         * 首先s1会被自动转为int型,相加的结果也就为int型。然而表达式的左边:
         * s1是short型。此时就需要把表达时的右侧的数据类型强制转换为shor型,
         * 所以s1=s1+1;存在问题,会报出编译错误,正确的写法应该是s1=(short)(s1+1);
         */
        s1=(short) (s1+1);
        s1+=1; //不会更改s1的数据类型
        
        /*
         * 自动类型转换
         */
        int s2=s1;
        
        short s3=2;
        /*
         * 当char、byte、short之间做运算时,默认的结果为int类型
         * 需要强制转换
         */
        short s4=(short) (s3+s3);
        
        long l1=235654756756346546l;
        /*
         * 强制转换时有可能失真
         * 运行结果-1307060558
         */
        System.out.println((int)l1);
        
        /*
         * 字符串与基本数据类型之间的运算:只能是连接运算 +  得到的结果仍为字符串
         * 运行结果 abc2
         */
        String str="abc";
        System.out.println(str+s3);
    }
}

猜你喜欢

转载自www.cnblogs.com/fengfuwanliu/p/11392042.html