楼上回答正确啊 我在补充一下 char 类型可以自动转化为int类型,
对与原因请参见简单数据类型之间的转换
在Java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int--long--float--double。 简单数据类型之间的转换又可以分为:
低级到高级的自动类型转换
高级到低级的强制类型转换
包装类过渡类型能够转换
低级变量可以直接转换为高级变量,笔者称之为自动类型转换,例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
long l=b;
float f=b;
double d=b;
如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如:
char c='c';
int i=c;
System.out.println("output:" i);
输出:output:99;
对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
short i=99;
char c=(char)i;
System.out.println("output:" c);
输出:output:c;
为得技术分的人民伤不起啊 希望对你有帮助 |