Java基础之类型转换

来源:互联网 发布:新浪nba科比数据 编辑:程序博客网 时间:2024/04/30 16:48

一、将占用存储空间小的类型转换为占用存储空间较大的数据类型时,则作自动类型转换(隐式类型转换),反之必须做强制类型转换(显式转换)。

     1.1 小转大——自动类型转换。

例1:

输入

float number1 = 45f ;int number2 = 152;System.out.println(number1 + number2);
程序输出
奇数197.0
   
隐式类型转换规则

            操作数1的数据类型操作数2的数据类型转换后的数据类型byte、short、charintintbyte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyte、short、char、int、long、floatdoubledouble

例2:

输入:

        byte mybyte = 127;int myint =150;char mychar = 10;float myfloat = 452.12f;double mydouble = 45.45646;System.out.println("127+452.12 = "+(mybyte + myfloat));System.out.println("127*150 = "+mybyte + myint);System.out.println("10/127 = " +mybyte/mychar);System.out.println("45.46546+10 = "+(mydouble + mychar));
程序输出结果如下:

127+452.12 = 579.12127*150 = 127150127/10 = 1245.46546+10 = 55.45646

      1.2 、大转小——强制类型转换。

当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算(强制类型转换)。与方法格式:(类型名)要转换的值

输入:

        int a = (int)45.23;long y = (long)456.6F;int b = (int)'d';short s = 516;byte b1 = (byte)s;System.out.println("a = " +a);System.out.println("y = "+y);System.out.println("b = "+b);System.out.println("b1 = "+b1);

程序输出如下:

a = 45y = 456b = 100b1 = 4
注意:当把一个证书赋值给一个byte、short、int、long型变量时,不可超出这些变量的取值范围,否则就会发生数据溢出。得到的就是错误的数据。





0 0