我正在学习switch语句。我写一些这样的代码:
String computerMove;
switch ( (int)(3*Math.random()) ){
case 0:
computerMove = "Rock";
break;
case 1:
computerMove = "Paper";
break;
case 2:
computerMove = "Scissors";
break;
}
System.out.println("The computer`s move is " + computerMove);
编译代码后,我被要求添加“ case”或“ default”或'}'。我试图将代码“情况2:”更改为“默认值:”,它可以正常工作。我不明白为什么行得通?看来我的代码包含所有可能的值。
当使用带有int的switch时,编译器将只检查所有case
选项是否均为int
且是唯一的,但不会检查此int的可能范围。您甚至可以添加case 532:
,它仍然可以工作,因为编译器仅验证您的案例具有int
类型