java 数据类型转换
发布网友
发布时间:2022-04-25 18:34
我来回答
共1个回答
热心网友
时间:2023-10-23 21:38
java中数据类型是有个隐式的自动转换的.
byte,short,int和long都是整数,任何数字(如1,11,111等),只要不超过范围,都是可以赋值给byte,short,int类型的,但不能直接赋值给long,必须在后面加上L(大小写均可),任何char,byte,short,int之间的计算的结果都是int 型,
如题,
a = 1;把1赋给a,当然把1赋给byte是没有问题的,
a = a + 1 ; 这样就等于把int型赋给了byte型是会报错的.
a += 1 是自增运算,+=,-=,*=,/=等运算是不会转成其他类型的,此题中虽然结果与a = a + 1一样;
顺便展开一点讲,共有8种基本数据类型,顺要说明的是:byte,short,int,long,float,double,boolean,char
1.char,byte,short,int之间运算会自动转换为int,不包括自增与自减;
char会以ASCII码转换
2.如下链条,可以向下赋值,反之刚不行,比如,byte值可以赋给short变量,反之则不行.
3.数字默认类型是int,是不符合如下链条的例外情况,只要不超过范围可以赋值给char,byte,short等类型,比如可以byte a = 127是对的,byte a = 128是会编译错误的;
4.有小数点的都默认为为double型,加f变float,如2.5f
5.boolean只能逻辑运算
byte->short->int->long->float->double char->int