3 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
System.out.write() 存儲并打印 ASCII 值。您可以使用 System.out.print() 來顯示您的整數(shù)值。兩者的區(qū)別如下:
System.out.write(65); //will print ASCII value of 65 which is A;
System.out.print(65); // will print just 65

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
正如 Maantje 在他的回答中提到的。
write(int) 將參數(shù)解釋為要打印的單個(gè)字符,而 print(int) 將整數(shù)轉(zhuǎn)換為字符串。write(49) 打印“1”,而 print(49) 打印“49”。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果將字符值傳遞'A'
給int
,則會(huì)保存數(shù)字ASCII值。根據(jù) ASCII 表,字形'A'
被轉(zhuǎn)換65
為十進(jìn)制值。這里是方法之間的差異System.out::print
,并System.out::write
可能會(huì)造成混亂:
System.out.println(b);
打印65
,因?yàn)樵?a >System.out::print(int x)
該x
被理解為一個(gè)整數(shù):打印一個(gè)整數(shù),然后終止該行。
System.out.write(b);
打印A
,因?yàn)樵?a >System.out::write(int b)
該b
被理解為一個(gè)字節(jié):將指定的字節(jié)寫入此流。如果字節(jié)是換行符并且啟用了自動(dòng)刷新,則將調(diào)用刷新方法。
請注意,字節(jié)是按給定的方式寫入的;要編寫將根據(jù)平臺的默認(rèn)字符編碼進(jìn)行翻譯的字符,請使用 print(char) 或 println(char) 方法。
添加回答
舉報(bào)