循环嵌套的优化

版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83188016

基本for循环嵌套九九乘法表

	public class Test {
	    public static void main (String[] args){
	        for (int i = 0; i <=9 ; i++) {
	            for (int j = 1; j <=i ; j++) {
	                System.out.print(j+" * "+i+" = "+i*j+"  ");
	            }
	            System.out.println();
	        }
	    }
	}

基本for循环打印100以内的质数

	public class Test {
	    public static void main (String[] args){
	        boolean flag = true;
	        for (int i = 2; i <=100 ; i++) {
	            for (int j = 2; j <i ; j++) {
	               if (i%j==0){
	                   flag=false;
	               }
	
	            }
	            if (flag){
	                System.out.println(i);
	            }
	            flag=true;
	        }
	    }
	}

花费时间长

m*n等于一个数,当m不断的变大,n不断的变小,会有一个中间值,中间值就是这个数的取根号

1.加上break

2.第二层循环加上<=math.sqrt(i)

	public class Test {
	    public static void main (String[] args){
	        boolean flag = true;
	        for (int i = 2; i <=100 ; i++) {
	            for (int j = 2; j <=Math.sqrt(i) ; j++) {
	               if (i%j==0){
	                   flag=false;
	                   break;
	               }
	
	            }
	            if (flag){
	                System.out.println(i);
	            }
	            flag=true;
	        }
	    }
	}

100以内的质数最优化代码:使用标签

	public class Test {
	    public static void main (String[] args){
	        l:for (int i = 2; i <=100 ; i++) {
	            for (int j = 2; j <=Math.sqrt(i) ; j++) {
	                if (i%j==0){
	                  continue l;
	                }
	
	            }
	                System.out.println(i);
	        }
	    }
	}

break和continue的比较:break结束当前循环 continue结束当次循环

使用标签跳出外层循环:label

跳出标签标注的循环:

 label:
    for (int i = 0; i <5 ; i++) {
        for (int j = 1; j <5 ; j++) {
            if (j%4==0){
                break label;
            }
            System.out.print(j);
        }
    }

注意:无论是continue还是break,在其后面的语句都不会被执行

猜你喜欢

转载自blog.csdn.net/wwwzydcom/article/details/83188016