byte和int,char类型有什么区别

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:21:02
一个int类型的常量和一个byte类型的常量做减法,结果的类型是int,为什么?

处理流时int和char原始数据类型可以交互使用,为什么??

java规定在做运算时,会有一个自动类型转换,byte short char 在和 int 运算时都会提升成int后,再运算,结果为int;
不考虑负数的情况,char和int可以交互使用,不过int赋给char可能会产生预期外的结果,因为int范围比char大,会发生截取现象,

byte和int,char类型区别如下:
1、byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。
2、char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。
3、int是整型数据类型,是有符号型的,占用4个字节,大小范围为:-2147483648到2147483647

自动转换,容量小的向容量大的转换。char在java中使用的时候其实也是作为int类型使用的。比如你使用for循环可以写for(char c=0;c<100;c++)

据数长度的差别,没什么本质的差别吧...

隐形转换的原因,小类型会自动转成大类型

Java在进行数值运算的时候,会自动的将两个或多个的数字向上转型,转换成所有数值中位数最大的数值进行运算,得到的自然就是位数最大的数字。本问中毫无疑问就是先转换成int型数字,在进行运算,最后得到的就是int型。