結(jié)果很奇怪
public class HelloWorld{
??? public static void main(String[] args) {
??final char a='f';
??? ?final char b='m';
??System.out.println(a+b);
?}
}
這個運行結(jié)果為什么是211??
?
public class HelloWorld{
??? public static void main(String[] args) {
??final char a='f';
??? ?final char b='m';
??System.out.println(a+b);
?}
}
這個運行結(jié)果為什么是211??
?
2015-11-09
舉報
2015-11-09
輸出char型如果中間直接是+,char型數(shù)據(jù)會被轉(zhuǎn)換成int型數(shù)據(jù)。建議中間加個換行,或者分成2行輸出。
如:
或者
2015-11-09
它語言設(shè)計本來就是這樣,字符是不能相加的,而字符和整形是可以轉(zhuǎn)換的,字符的取值范圍是0-65535,如果你把兩個字符相加,那它會先轉(zhuǎn)換為整形,再相加。
至于怎么來轉(zhuǎn)換,每個字符都對應(yīng)一個ASCII值,也就是0-65535范圍內(nèi)的數(shù)。