每天一題,進步一點。大家好,我是程式員小魚騎白馬。
直接上題:

答案為50
解析
在計算機中,所有的資料在存儲和運算時都要使用二進制數表示,例如,像a、b、c、d這樣的字母以及各種符号,還有作為字元的數字,都要使用二進制數字來表示,是以需要一種二進制碼與這些字元的對應關系。
而現在普遍遵守的對應關系就是ASCII編碼
由此可以看出,字元最終可以表示為一個數字(十進制的ascii碼)。
我們來看一下int和char的範圍
1.int
類型是一個32位的資料類型,因為其位有符号數,是以,其取值範圍為:-2^31 至 2^31 - 1。
2.char
為16位的資料,為無符号數,其範圍為:0 至 2 ^ 16-1,即 0 - 65535,用十六進制碼來看,則為:’ ’ - ‘’。
是以char完全可以轉為int,但是int不一定可以轉為char,超過65535就會報錯。
基于以上特性,char和int隻要在不超限的情況下是可以直接加減的,如
char c1= 'a' + 1;
int n2 = 'a' + 1;
System.out.println("c1: " + c1);
System.out.println("n2: " + n2);
System.out.println("(char) n2: " + (char) n2);
輸出:
c: b
n2: 98
(char) n2: b
知識擴充
有一個字元為'1',我們想将其變為數字1,或者,我們想将一個int類型的數字1轉換為字元'1',這時,我們就可以這樣寫:
1轉為'1':
int n = 1;
char c = (char)(n + '0');
'1'轉為1:
char c = '1';
int n = c - '0';
大家可以思考一下為什麼,在下面留言