精华内容
下载资源
问答
  • 正常的break只能跳出当前最内层的循环,想要跳出多层循环,可以使用break标号一起使用,达到跳出多层循环的目的。 打印五五乘法表使用 break标号 package com.ann.test; public class BreakLabel { ...

    正常的break只能跳出当前最内层的循环,想要跳出多层循环,可以使用break和标号一起使用,达到跳出多层循环的目的。

    打印五五乘法表使用 break和标号

    package com.ann.test;
    
    public class BreakLabel {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		outer:
    			for(int i=1;i<=9;i++){
    				for(int j=1;j<=9;j++){
    					if(j>i){
    						break;
    					}
    					if(i==6){
    						break outer;
    					}
    					System.out.println(" "+j+"*"+i+"="+i*j);
    				}
    				System.out.println();
    			}
    
    	}
    
    }
    

    这个地方i和j都是9,如果不跳出,会一直打印到9*9,但是如果要跳出整个循环,用break和标号一起使用

    break还可以和代码块一起使用,将代码块用标号和大括号包裹起来
    break和代码块标号一起使用

    package com.ann.test;
    
    public class BreakLabel {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		outer:{
    			for(int i=1;i<=9;i++){
    				for(int j=1;j<=9;j++){
    					if(j>i){
    						break;
    					}
    					if(i==6){
    						break outer;
    					}
    					System.out.println(" "+j+"*"+i+"="+i*j);
    				}
    				System.out.println();
    			}
    	}
    
    	}
    
    }
    

    作用与标号作用一样。

    展开全文
  • 今天在复习Java的时候,发现一个Java的break语句和continue语句和C++/C语言里面的有点不同。 首先来介绍一下break和continue语句: break 和continue 语句都能够跳过部分代码。 可以在switch 语句或任何循环中使用...

    今天在复习Java的时候,发现一个Java的break语句和continue语句和C++/C语言里面的有点不同。

    首先来介绍一下break和continue语句

    break 和continue 语句都能够跳过部分代码。

    可以在switch 语句或任何循环中使用break语句,使程序跳到switch或循环后面的语句处执行。

    continue 语句用于循环中,让程序跳过循环中余下的代码,并开始新一轮循环。

    首先在两种语言里面break和continue的基本用法都是一致的。

    我们这里主要说说他们的不同点

    java中的break包含带标号的break语句和不带标号的break语句两种。

    不带标号:只是跳出当前break语句所在的循环,用法和C++的break一样。

    而带标号:不仅能跳出当前break所在的循环,还可以跳出标号所指的循环。

    而在C++里面似乎不能带标号。

    下面我们用例子来说明:

    我们来看看Java带标号的例子:

    package testonr;
    
    public class One 
    {
    	public static void main(String[] args) 
    	{
    	outer:for(int i = 0; i < 10; i++)
    			{
    				System.out.print("i="+i+"\t,j=");
    				for(int j = 0; j <= i; j++)
    				{
    					System.out.print(j+"\t");
    					if(i+j == 16)
    					{
    						System.out.print("循环中断!");
    						break outer;
    					}
    				}
    				System.out.println("外来循环最后一句!");
    			}
    			
    	}
    }
    输入结果:


    同样的代码在C++中报错:



    那么我们去掉标号,试试?

    #include <iostream>
    using namespace std;
    void main()
    {
    	 for (int i = 0; i < 10; i++)
    		{
    			cout << "i=" << i << "\t,j=";
    			for (int j = 0; j <= i; j++)
    			{
    				cout << j << "\t";
    				if (i + j == 16)
    				{
    					cout << "循环中断!";
    					break;
    				}
    			}
    			cout << "外层循环最后一句" << endl;
    		}
    }

    输出结果:



    从图中对比可以看出,Java里面的 带标号的break语句 在跳出当前break语句所在的循环外,还跳出了标号指定的循环语句。

    而C++里面break 是不可以和Java一样直接跟标号的,所以只能跳出break语句所在的循环,而无法跳出其他的循环,所以我们可以在C++的输出语句里面看到比Java多输出了一行(即Java跳出的标号所指的大循环,而C++并没有跳出)。


    再来看看continue语句:

    java带标号:

    package testonr;
    
    public class One 
    {
    	public static void main(String[] args) 
    	{
    	System.out.println("100内的素数为:");
    	loop:
    		for(int i = 2; i < 100; i++)
    		{
    			for(int j = 2; j < i/2; j++)
    			{
    				if(i%j == 0)
    					continue loop;
    			}
    			System.out.print(" "+i);
    		}
    			
    	}
    }
    

    输出结果:


    C++还是一样报错:



    我们去掉contiune后面跟的标号试试:

    #include <iostream>
    using namespace std;
    void main()
    {
    	 for (int i = 2; i < 100; i++)
    		{
    			for (int j = 2; j < i/2; j++)
    			{
    				if (i % j == 0)
    					continue;
    			}
    			cout << " " << i;
    		}
    }

    输出结果:



    这里我们就能看出比较大的差异。

    先来分析一下Java的代码:

    此处的loop为外循环的标号,当执行到if(i%j==0)的时候,如果if条件成立,就执行contiune,程序执行流程不仅跳出了当前continue所在的循环(小循环)还跳出标号loop标注的本次循环,因为只要条件成立就表示它不是素数,也就不需要输出,此处直接跳过。

    而C++的语句里面,执行到if(i%j==0)的时候,如果条件成立执行continue,程序只跳出了当前continue所在的循环(内循环),而没有跳出大循环,所以,无论if的条件成立与否都会执行大循环里面的输出语句。


    总结:小弟作为一个初学者不是为了证明某一种语言的孰优孰劣,而是单纯的讨论这个无意中发现的差别,如果有错误的地方,希望各位大神欢迎指出,小弟感激不尽!

    展开全文
  • 带标号的continue和break

    2020-12-12 21:33:31
    package Exercise; public class x { public static void main(String[] args) { for(int i=0;i;i++){ for(int j=0;j;j++){ if(i>1){ System...//将跳到【标号以下离标号最近的那层循环】继续执行循环 } } } } } 输出:
    package Exercise;
    public class x {
        public static void main(String[] args) {
            for(int i=0;i<4;i++){
                for(int j=0;j<2;j++){
                    if(i>1){
                        System.out.println("i:"+i);
                        System.out.println("j:"+j);
                        System.out.println("hhhh");
                        break;//终止最内层循环
                    }
                }
            }
            System.out.println("----------------");
            Block1:
            for(int i=0;i<4;i++){
                for(int j=0;j<2;j++){
                    if(i>1){
                        System.out.println("i:"+i);
                        System.out.println("j:"+j);
                        System.out.println("hhhhh");
                        break Block1;// 终止Block1整个程序块
                    }
                }
            }
            System.out.println("----------------");
            for(int i=0;i<4;i++){
                for(int j=0;j<2;j++){
                    if(i>1){
                        System.out.println("i:"+i);
                        System.out.println("j:"+j);
                        System.out.println("hhhhhh");
                        continue;//终止本次循环
                    }
                    
    
                }
            }
            System.out.println("----------------");
            Block2:
            for(int i=0;i<4;i++){
                for(int j=0;j<2;j++){
                    if(i>1){
                        System.out.println("i:"+i);
                        System.out.println("j:"+j);
                        System.out.println("hhhhh");
                        continue Block2;//将跳到【标号以下离标号最近的那层循环】继续执行循环
                    }
                }
            }
        }
    }
    
    
    

    输出:
    在这里插入图片描述

    展开全文
  • java带标号break跳出多重循环

    千次阅读 2014-01-15 10:02:06
    但当我们想要跳出多重循环的时候,我们就应该使用标号来进行跳转。public static void main(String[] args) { for(int i=0;i;i++){ for(int j=0;j;j++){ if(j==3) break; else{ System.out....
    在循环语句中,我们常使用break来跳出循环。但当我们想要跳出多重循环的时候,我们就应该使用标号来进行跳转。
    
    public static void main(String[] args) {
    		for(int i=0;i<5;i++){
    			for(int j=0;j<5;j++){
    				if(j==3) break;
    				else{
    					System.out.println("i="+i+",j="+j);
    				}
    			}
    		}
    }

    上面这个例子是一般的break示例,运行结果如下:


    i=0,j=0
    i=0,j=1
    i=0,j=2
    i=1,j=0
    i=1,j=1
    i=1,j=2
    i=2,j=0
    i=2,j=1
    i=2,j=2
    i=3,j=0
    i=3,j=1
    i=3,j=2
    i=4,j=0
    i=4,j=1
    i=4,j=2

    然后我们在其中加上一个标号ok,使得当j==3时,程序跳出整个循环体

    public static void main(String[] args) {
    	    ok:
    		for(int i=0;i<5;i++){
    			for(int j=0;j<5;j++){
    				if(j==3) break ok;
    				else{
    					System.out.println("i="+i+",j="+j);
    				}
    			}
    		}
    	}


    此时运行结果为:

    i=0,j=0
    i=0,j=1
    i=0,j=2

    当然,跳出多重循环并非只有这一种方法,下面一种方法也可以

    public static void main(String[] args) {
    		boolean key=true;
    		for(int i=0;i<5 && key;i++){
    			for(int j=0;j<5;j++){
    				if(j==3){
    					key=false;
    					break;
    				}else{
    					System.out.println("i="+i+",j="+j);
    				}
    			}
    		}
    	}


    展开全文
  • java中带标号break与continue详解 结合后都会 int i = 0,j = 0,t = 0; for(i = 0;i<2;i++) { outer: for(j = 0;j<2;j++) { for(t = 0;t<3;t++) { if(t == 2) continue outer; System.out.println(...
  • 带标号break和continue Label1: for ( …… ) { // 为外层循环语句添加标号,假设为Label1 Label2: for ( …… ) { // 为内层循环语句添加标号,假设为Label2 …… break Label1; // ...
  • 带标号break语句

    2010-05-28 19:40:52
     public class sugizo_can{ public static void main(String args[]) { int index=0; while(index&...break; System.out.println("index="+index); } System.out.pr...
  • java中带标号break、continue

    千次阅读 2005-05-21 02:15:00
    java中带标号break、continue,类似与goto示例:class LabelBreak{ public static void main(String[] args){ int i=0; outer: //标号必须在一个循环的前面,意思是这个循环的名字叫outer,并且这一行后面不能...
  • public class C3_18 { public static void main(String[] args) { int n=0,m,j,i; p1:for(i=3;i;i+=2)//外层循环,前面标号 { m=(int)Math.sqrt((double)i);
  • break/continue 标号

    2019-10-05 12:19:05
    子供の日 转载于:https://www.cnblogs.com/Super-kk/p/5549475.html
  • Java标号与continue,break

    2018-06-05 22:27:00
     可以给语句块加标号赋予它们名称,标号位于语句之前。...通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while等循环。 通过用标号,我们可以对外层循环进行控制   下面是用con...
  • java break label

    2018-09-18 15:40:36
    看见java-cm中有break 带标号的写法,查了资料,好多语言都有这个语法。 但是c++不能break 带标号。 java中的break 带标号,可以用在循环嵌套中,也可以用在switch嵌套中。用于跳出嵌套的代码。 不喜欢这种写法,...
  • JAVA标号与continue,break

    2016-03-02 21:47:00
    标号只能被continue和break引用。格式如下: label:statement 语句前只允许加一个标号标号后面不能跟大括号。通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while等循环。 通过用...
  • break,continue,与标号

    千次阅读 2016-05-21 18:19:43
    break,continue,标号阅读报告 一般的,在各种编程语言中都会有break和continue的出现。对于break,通常是用于从任意语句块中退出,常用于中断循环。而continue,只能在循环中使用(for,while,或者do),它把控制...
  • java标号—continue,break用法详解

    千次阅读 2017-11-13 16:38:23
    标号只能被continue和break引用。格式如下:  label:statement  语句前只允许加一个标号标号后面不能跟大括号。通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while等循环。 ...
  • 标号

    2019-10-08 04:58:51
    break只能跳出单层循环,对于多层循环通过break后加标号的方式可跳出标号所标识的循环体。 continue的用法与break类似,只是作用和效果不同。 示例:(跳出整个循环) label: for (int ...
  • //通过标号可以选择循环中满足条件的第一条记录,后面的就都不执行了。 public static void main(String[] args) { System.out.println(“输入一个数字”); Scanner in = new Scanner(System.in); int amount...
  • break 标签得用法

    千次阅读 2017-03-05 22:50:50
    JAVA中提供了标签的中断控制流程语句(continue + break ); 结果: 修改一下标签的位置得到: 结果: 观察这两个不同的标签位置,我们就可以发现标签的break将标签下面的函数作用域看作一个整体,当执行到...
  • public class Loop { public static void loop() { for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { if (j == 5) { break; // 跳出内部循
  • Java基础语法的学习,跳转语句continue、跳转语句break、循环标号多级break、Random库。在Java中的continue和其他编程语言用法是差不多是相同的,continue;可以用于跳过某次循环体内容的执行。案例:电梯总共10楼,...
  • break :跳出循环, 只能在switch 和 循环语句中使用。continue : 终止(跳过)本次循环,继续下一次循环。return : 结束方法。 方法返回结果。标号的使用 :...
  • 语法:   continue 标号break 标号名   ...continue 标号名 : continue 后的标号名 应该...break 标号名 : break 跳出 这个标识的语块,执行该语句的后续语句;   代码: public class ContinueWith...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,802
精华内容 11,520
关键字:

break带标号