我們都知道java中,如果char類型和int類型做加減法,那么char類型會被精度提升至int類型然后參與運算,返回的也是int類型的數(shù)據(jù)。
那么如果表達式中參與運算的均為char類型,那么表達式返回的類型是什么呢?
'A' - 'a'
經(jīng)過簡單測試,是int類型。文章來源:http://www.zghlxwxcb.cn/news/detail-711323.html
char c = 'w'; sb.append('A' + c - 'a');
這個問題是在調(diào)用StringBuilder.append()方法里面遇到的,本來期望的是追加一個表達式計算完成后的字符,但是最后追加的是一個兩位的數(shù)字。而StringBuilder.append()恰巧重載了多種類型的參數(shù),包括char,ing等,說明匹配到了append(int)方法,如果想追加字符,那么需要將表達式強制轉(zhuǎn)換為char類型。文章來源地址http://www.zghlxwxcb.cn/news/detail-711323.html
char c = 'w'; sb.append((char)('A' + c - 'a'));
到了這里,關(guān)于JAVA中char類型加減乘除運算表達式返回類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!