首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于default的一个有关问题

2013-09-05 
关于default的一个问题public class DefaultTest {private static int next(int i) {switch(i) {// 这里加

关于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;
    }
    }

热点排行