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