java中循环标签的使用

以前不知道在循环中可以使用标签。最近遇到后,举得还是有其独特的用处的。我这么说的意思是说标签在循环中可以改变循环执行的流程。而这种改变不是我们以前单独使用break或者是continue能够达到的。下面还是看看实例吧。

Java代码  

  1. outer1:
  2. for(int i =0;i<4;i++){
  3. System.out.println("begin to itrate.    "+i);
  4. for(int j =0;j<2;j++){
  5. if(i==2){
  6. continue outer1;
  7. //          break;
  8. }
  9. System.out.println("now the value of j is:"+j);
  10. }
  11. System.out.println("******************");
  12. }

执行的结果是: 
begin to itrate.    0 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    1 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    2 
begin to itrate.    3 
now the value of j is:0 
now the value of j is:1 
****************** 
注:当i=2的时候,continue outer1 使程序回到了outer1最开始循环的位置,开始下一次循环,这个时候执行的循环是i=3而不是重新从i=0开始。同时当使用continue outer1跳出内层循环的时候,外层循环后面的语句也不会执行。也就是是在begin to itrate.    2后面不会出现一串*号了。 
对比:

Java代码  

  1. outer1:
  2. for(int i =0;i<4;i++){
  3. System.out.println("begin to itrate.    "+i);
  4. for(int j =0;j<2;j++){
  5. if(i==2){
  6. //          continue outer1;
  7. break;
  8. }
  9. System.out.println("now the value of j is:"+j);
  10. }
  11. System.out.println("******************");
  12. }

注:我们直接使用break的话,只是直接跳出内层循环。结果其实就可以看出区别来: 
begin to itrate.    0 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    1 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    2 
****************** 
begin to itrate.    3 
now the value of j is:0 
now the value of j is:1 
****************** 
-----------------------------------------------------------------分割线 
我们再来看看break+标签的效果

Java代码  

  1. outer2:
  2. for(int i =0;i<4;i++){
  3. System.out.println("begin to itrate.    "+i);
  4. for(int j =0;j<2;j++){
  5. if(i==2){
  6. break outer2;
  7. //          break;
  8. }
  9. System.out.println("now the value of j is:"+j);
  10. }           System.out.println("******************");
  11. }

结果: 
begin to itrate.    0 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    1 
now the value of j is:0 
now the value of j is:1 
****************** 
begin to itrate.    2 
注:从结果就可以看出当i=2的时候,break+标签 直接把内外层循环一起停掉了。而如果我们单独使用break的话就起不了这种效果,那样只是跳出内层循环而已。 
最后说一句,Java中的标签只适合与嵌套循环中使用。

时间: 2024-10-27 04:00:12

java中循环标签的使用的相关文章

java中循环控制结构

1. break结束break所在循环 for(i……) { for(j……) { break;  //结束循环j } } 2.带标签的break. java中的标签只用在循环语句前面. outer: for(i……) { for(j……) { break outer;  //结束循环i } } 3.continue 用于结束本次循环剩下的语句. for(i……) { for(j……) { if(j==2) { continue ;  //忽略循环j剩下的循环 } } } 4.带有标签的cont

Java中循环声明变量方法

Java循环声明变量 之前想这样做,但是网上一直搜索不到,下面是我的方式 项目中 // 得到需要查询外表的数量,然后分别创建缓存,插入数据多的时候如果编码在缓存里面,就不需要再去查询数据库了.key:code/value:pk // 根据"数据来源"有多少非空的 就创建几个,使用 "数据来源字段"+Cache 当cacheMap的key Map<String, Map<String, String>> cacheMap =new HashMa

JAVA中循环删除list中元素的方法总结

印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末.看总结.. JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环).iterator遍历. 1.for循环遍历list for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")

JAVA中循环删除list中元素的方法总结(跳格删除问题解决)(转)

印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区.下面就来讲一讲..伸手党可直接跳至文末.看总结.. JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环).iterator遍历. 1.for循环遍历list for(int i=0;i<list.size();i++){ if(list.get(i).equals("del")

Java中利用标签跳出外层循环break

直接看代码: class ForLoop{ public static void main(String[] args){ //jump from outer loop outer:for(int i=0;i<5;i++){ for(int j=0;j<10;j++){ if(j==5) break outer; System.out.print("*"); } System.out.print("\r\n"); } } } 另外,continue也可以

浅谈java中循环结构之一——————while的简单应用

1.什么是循环? 有时您希望代码在工作完成之前反复做同一件事.可使用循环 实现此目的.循环是一种编程结构,它在满足某个特定条件(或某组条件)时反复执行.循环结构就是为了解决重复代码或者是有规律的代码. 2.今天先简单谈谈while的简单应用 先谈谈while循环的三要素 while循环的三要素:(1)初始化变量(2)循环条件(3)改变循环变量的值 当你要用while循环时主要知道这三个要素什么,那么循环起来就得心应手了. 下面是while循环语法和特点:                    

java中循环的不同终止方式

1.break:直接强行跳出当前循环,不再执行剩余代码.但在多重循环的情况下,若break在内层循环中,则仅仅终止了内层循环,外循环照常执行. 2.continue:仅仅终止此次循环. 3.return:使程序返回到调用某方法的地方. 4:.break+标签:可用于终止多重循环.在多重循环前设置一个标签,配合break即可终止整个循环. 5.boolean标签+break:与4相似.

java中循环遍历删除List和Set集合中元素的方法

今天一个网友问我集合忘记了没有,这一问让我纠结了一下,最后决定把这个集合问题写下来,以免自己在犯下类似的问题: 需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常:ConcurrentModificationException为了以后不会忘记,和也给遇到同样问题的同事提供一个参考: 出现错误的代码如下所示: package set; import java.util.HashSet; import java.util.Iterator; import java.u

Java中的标签

@SuppressWarnings 简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上. 作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息. 使用: @SuppressWarnings("") @SuppressWarnings({}) @SuppressWarnings(value={}) 根据sun的官方文档描述: value - 将由编译器在注释的元素中