qq_XL_14
2015-11-09 18:31
public class HelloWorld{
public static void main(String[] args) {
final char a='f';
final char b='m';
System.out.println(a+b);
}
}
这个运行结果为什么是211??
输出char型如果中间直接是+,char型数据会被转换成int型数据。建议中间加个换行,或者分成2行输出。
如:
public class HelloWorld{ public static void main(String[] args) { final char a='f'; final char b='m'; System.out.println(a+"\n"+b); } }
或者
public class HelloWorld{ public static void main(String[] args) { final char a='f'; final char b='m'; System.out.println(a); System.out.println(b); } }
它语言设计本来就是这样,字符是不能相加的,而字符和整形是可以转换的,字符的取值范围是0-65535,如果你把两个字符相加,那它会先转换为整形,再相加。
至于怎么来转换,每个字符都对应一个ASCII值,也就是0-65535范围内的数。
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题