问答详情
源自:5-3 学生选课---删除 Map 中的学生

continue; break;

若在嵌套循环中,break; 与continue; 的作用 是怎么看 呢

提问者:qq_Name晶_0 2016-12-06 22:36

个回答

  • weibo_肖邦在对我微笑_0
    2016-12-07 00:06:52
    已采纳

    break;是终止所在循环语句(在多层嵌套循环中只结束所在花括号的循环,外层循环不影响),不执行接下来的循环,无论循环条件是否成立。continue;是结束此次循环(同break;的权限一样),继续接下来的循环,直到循环条件不成立。

  • 许玮琛
    2017-04-14 21:51:57

    public void testRemove(){
    		System.out.println("请输入待删除学生的id");
    		Scanner console = new Scanner(System.in);
    	    String id = console.next();
    	    while(true){
    		    //通过Map的get(key)得到的value值判断该id是否存在
    		    Student st = students.get(id); 
    	    	if(st != null){
    	    		System.out.println("待删除学生id为"+students.get(id).id+"待删除名字为"+students.get(id).name);
    			    students.remove(id);
    			    System.out.println("成功删除学生!");
    		    	break;
    		   
    		    }else{
    		    	System.out.println("这个id并不存在!");
    		    	continue;
    		    }
    	    	
    	    }
    	}

    请问一下为什么我用这个删除语句删除不存在id时会陷入死循环

  • 历飞雨
    2016-12-07 00:37:13

    简单来说遇到break 就表示完全终止了,只能运行break后面的程序了。

    continue是终止该次运行,返回去从新循环。

  • 有种顺着网线来打我
    2016-12-07 00:06:04

    break的意思就是直接跳出循环,不进行下面的操作,而continue就是还会继续下面的操作,