请解释以下代码段被执行时会发生什么事情:
int a='\15';
System.out.println(a);
这段代码将打印出13;
int a='\25';
System.out.println(a);
这段代码输出21;
int a='\100';
System.out.println(a);
这将打印出64。
int a='\15'
首先根据八进制数"15"(十进制数13,作为一个字符,它是 ASCII 的"回车符" )创建一个char
类型的变量,然后将其强制转换为一个int
类型的整数。由于 chars 是16位整数,所以这是安全的上转型,没有 Java 发出关于转换的任何通知。其他答案已经涵盖了整个八进制/十进制的问题。 - Mike 'Pomax' Kamermans