【Java基础二】break && continue

     对于breakcontinue而言,大家深知多少,最近review代码的时候就遇到了其相关的细节问题,且不说遇到了什么问题:咱们针对demo说话:

break细节发现:

看如下demo

public static void main(String[] args) {
		System.out.println("2转换英文值="+toChineseNumberCase(2));
	}
	public static String toChineseNumberCase(int n){
		String chineseNumber="";
		switch(n){
		case 0:chineseNumber="zero";
		case 1:chineseNumber="one";
		case 2:chineseNumber="two";
		case 3:chineseNumber="three";
		case 4:chineseNumber="four";
		case 5:chineseNumber="five";
		}
		return chineseNumber;
	}

     执行如上结果,执行的结果会是什么呢?会是2所对应的单词two吗?如果基础过硬的话,再仔细看一下代码就会发现问题,每个case后面都没有加break,这种情况下,我从case 2开始执行,由于没有break,所以会一直执行,直到整个case执行完,所以输出结果为five:

执行结果:

如果想输出理想结果,则必须加上break,代码更改为:

public static String toChineseNumberCase(int n){
		String chineseNumber="";
		switch(n){
		case 0:chineseNumber="zero";
		break;
		case 1:chineseNumber="one";
		break;
		case 2:chineseNumber="two";
		break;
		case 3:chineseNumber="three";
		break;
		case 4:chineseNumber="four";
		break;
		case 5:chineseNumber="five";
		break;
		}
		return chineseNumber;
	}

执行结果:

     在review代码的是偶,就遇到了这个问题,break也不是忘记添加了,而是少些了一个,这样在测试过程中是针对一种情况来进行的,导致其细节过程没有测试出来,最后在大火的火眼金睛之下才完成了优化,试想一下:如果直到上线这个问题都没被发现的话,会导致什么严重的后果,再次不再细节分析。

break && continue对比:

     除上述break问题外,当我们执行某个循环的时候,总会遇到break和continue的犹豫不决,到底该用break还是continue???

demo尝试一下:

public static void main(String args[]) {
        System.out.println("开始测试continue");
        for (int i = 0; i < 6; i++) {
            System.out.println("开始第" + i + "次for循环");
            if (i == 3) {
                continue;
            }
        }
        System.out.println("continue测试完毕\n***********************");
        System.out.println("开始测试break");
        for (int i = 0; i <6; i++) {
            System.out.println("开始第" + i + "次for循环");
            if (i == 3){
                break;
            }
        }
        System.out.println("break测试完毕\n***********************");
    }

 

执行结果:

     通过结果可以发现,其实对于continue而言,是结束符合条件的本次循环;而对于break而言,则是结束整体循环。

posted on 2016-06-03 09:23  huohuoL  阅读(114)  评论(0编辑  收藏  举报

导航