📅  最后修改于: 2020-02-14 12:28:13             🧑  作者: Mango
这是给出的一个小代码段。尝试猜测输出
public class Test
{
public static void main(String[] args)
{
System.out.print("Y" + "O");
System.out.print('L' + 'O');
}
}
乍一看,我们希望可以打印出“ YOLO”。
实际输出:
“ YO155″。
说明:
当我们使用双引号时,将文本视为字符串,并打印“ YO”,但是当我们使用单引号时,字符“ L”和“ O”将转换为int。这称为扩展原始转换。转换为整数后,将数字相加(“ L”为76,“ O”为79)并打印155。
现在尝试猜测以下输出:
public class Test
{
public static void main(String[] args)
{
System.out.print("Y" + "O");
System.out.print('L');
System.out.print('O');
}
}
输出: YOLO
说明:现在将打印“ YOLO”而不是“ YO7679″。这是因为仅当出现类似’+’的运算符且期望两侧都至少为整数时,才会发生数据类型的转换。
扩展原语转换适用于转换以下规则指定的一个或两个操作数。