读书人

关于default的一个有关问题

发布时间: 2013-09-05 16:02:07 作者: rapoo

关于default的一个问题

public class DefaultTest {

private static int next(int i) {
switch(i) {
// 这里加default的理由是什么?而且为什么必须加在这里才行。
default:
case 0: return 0;
case 1: return 1;
}
}

public static void main(String[] args) {
int[] arr = new int[2];
for(int i = 0; i < arr.length; i++) {
arr[i] = next(i);
}
for(int i : arr) {
System.out.println(i);
}
}

}

上述代码如果去掉default编译器会报‘缺少返回语句’的错误。不是很理解,希望有人能够解答,谢谢! switch
[解决办法]
估计java编译器对分支选择结构的检查机制就是这样,方法有返回值,就必须考虑到不满足条件的情况
即使这么写也不能通过
    public int f() {
if(true) {
return 1;
}
}

读书人网 >J2SE开发

热点推荐