3 回答
TA贡献1810条经验 获得超5个赞
System.out.write() 存储并打印 ASCII 值。您可以使用 System.out.print() 来显示您的整数值。两者的区别如下:
System.out.write(65); //will print ASCII value of 65 which is A;
System.out.print(65); // will print just 65
TA贡献1887条经验 获得超5个赞
正如 Maantje 在他的回答中提到的。
write(int) 将参数解释为要打印的单个字符,而 print(int) 将整数转换为字符串。write(49) 打印“1”,而 print(49) 打印“49”。
TA贡献1784条经验 获得超2个赞
如果将字符值传递'A'
给int
,则会保存数字ASCII值。根据 ASCII 表,字形'A'
被转换65
为十进制值。这里是方法之间的差异System.out::print
,并System.out::write
可能会造成混乱:
System.out.println(b);
打印65
,因为在System.out::print(int x)
该x
被理解为一个整数:打印一个整数,然后终止该行。
System.out.write(b);
打印A
,因为在System.out::write(int b)
该b
被理解为一个字节:将指定的字节写入此流。如果字节是换行符并且启用了自动刷新,则将调用刷新方法。
请注意,字节是按给定的方式写入的;要编写将根据平台的默认字符编码进行翻译的字符,请使用 print(char) 或 println(char) 方法。
添加回答
举报