标题: 关于switch循环 [打印本页] 作者: elessarcheung 时间: 2016-3-13 18:37 标题: 关于switch循环 public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
当输入为2的时候返回值为什么是10作者: 参禅悟道 时间: 2016-3-13 18:53 本帖最后由 参禅悟道 于 2016-3-13 18:54 编辑
那是因为你没有在result = result + i * 2;这局代码下面写上break;其实在每个case里面的break的作用就是当该case为true,则跳出整个switch循环 ;
如果你不写break;它还会继续往下执行case 3: result = result + i * 3;因为这个时候result已经等于4了,i=2;所以result=result+i*3;之后result就等于10了。
不知我这样说,你明白了吗;