「java类型转换顺序」java中类型的转换
今天给各位分享java类型转换顺序的知识,其中也会对java中类型的转换进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java中数据类型自动类型转换为什么转换顺序是byte-short-int-long-float-double
byte1个字节short2个字节,int占4个字节,long占8个,float占8个,double占16个
字节从低的向高的可以自动转,高向低的不能。
long和float是同样字节的,long可以转float,但是float转long会丢精度。所以关系是这样的。
java中的类型转换
一、先说一下Java的转型规则是:1、 布尔型(boolean)不能转换为其他的数据类型2、小体积数据自动转换成大体积数据类型,数据类型大小顺序如下:byte, short, char int long float doublebyte, short, char之间不会互相转换,在计算时他们三个首先会转化成int型3、大体积数据要转换成小体积数据,要加上强制转换符。但可能会降低精度或溢出,一般不建议使用4、多种类型的数据混合运算时,系统自动将所有数据转换成最大体积的数据类型,再进行计算。如、1、2、3......等等这些是系统默认是整型的。1.2 、1.3......等系统默认是浮点型的二、当一个int型字面量的值被赋给一个byte 或short型的变量时,如果字面量的值没有超过对应类型的范围时,就不会产生错误。byte 类型数据的范围是-128 到127 。问题中,byte a = 1+2 。就相当于是 byte a =3,编译器会自动当做3来处理 ,3没有超过-128 到127 这个范围所以没有错误,但是如果byte a = 1+127 就会出错了。三、byte b1=1; byte b2=2 ;byte b3 = b1+b3 这样不行,b1和b2他们相加会先自动转换为int然后相加,当然相加的结果也是int型的,但是你要将一个int型的数字赋给一个byte型的b3显然是要强制转换的,因此Java会报编译错误
java自动类型转换示例
自动类型转换,就是一个类型直接可以赋值给另外一个类型,而不需要强制进行转换。
举例:
public class Test {
public static void main (String args[])
{
int i=123;
char c1=22;
char c2='c';
byte b=2;
int n=b;
long l=i;
System.out.println(n);
System.out.println(l);
}
}
关于java类型转换顺序和java中类型的转换的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。