一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java的“Goto”與標簽及使用詳解

Java的“Goto”與標簽及使用詳解

2021-06-09 13:52zouqf Java教程

goto在Java中是一個保留字,但在語言中并沒有用到它;Java沒有goto。接下來通過本文給大家介紹Java的“Goto”與標簽,感興趣的朋友跟隨小編一起看看吧

goto在java中是一個保留字,但在語言中并沒有用到它;java沒有goto。但是,java也能完成一些類似于跳轉的操作,主要是依靠:標簽。

為什么要使用標簽

在迭代語句中,我們可以使用break和continue來中斷當前循環。但如果出現循環嵌套的情況,使用break和continue只能中斷內層循環,無法控制到外層的循環。這時,我們就可以使用標簽結合break和continue,中斷內層循環,跳轉到標簽所在的地方。

標簽聲明

標簽的聲明很簡單,加個冒號就行,就像下面這樣:

label1:

標簽使用

在java中,標簽起作用的唯一地方是在迭代語句之前,注意“唯一”,也就是說不能在其它地方單獨使用,只能結合迭代語句共同使用。

下面這個例子展示了帶標簽的break以及continue語句在while循環中的用法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/**
 * @author zouqingfeng
 */
public class gotolabeltest {
  public static void main(string[] args) {
    int i = 0;
    label1: while (true) {
      system.out.println("----------------外層循環開始----------------");
      while (true) {
        i++;
        system.out.println("i=" + i);
        if (i == 1) {
          system.out.println("continue");
          continue;
        }
        if (i == 3) {
          system.out.println("continue label1");
          continue label1;
        }
        if (i == 5) {
          system.out.println("break");
          break;
        }
        if (i == 7) {
          system.out.println("break label1");
          break label1;
        }
        system.out.println("----------------內層循環結束----------------");
      }
      system.out.println("----------------外層循環結束----------------");
    }
    system.out.println("end");
    /* output:
      ----------------外層循環開始----------------
      i=1
      continue
      i=2
      ----------------內層循環結束----------------
      i=3
      continue label1
      ----------------外層循環開始----------------
      i=4
      ----------------內層循環結束----------------
      i=5
      break
      ----------------外層循環結束----------------
      ----------------外層循環開始----------------
      i=6
      ----------------內層循環結束----------------
      i=7
      break label1
      end
     */   
  }
}

 從打印的結果可以看出

當i==1時,執行continue后,沒有執行“內層循環結束”打印語句,而是打印了“i=2”,說明continue使執行點回到內層循環起始處,并繼續下一次迭代。

當i==3時,執行continue label1后,沒有執行“內層循環結束”打印語句,也沒有執行“外層循環結束”,而是打印了“外層循環開始”,說明帶標簽的continue,對內外層循環都起作用,continue label1同時中斷內外層循環,直接跳轉到label1標簽處,隨后,從外部循環開始下一次的迭代。

當i==5時,執行break后,沒有執行“內層循環結束”,但執行了“外層循環結束”,說明break只中斷并跳出內層循環,回到了外層循環中。

當i==7時,執行break label1后,直接打印了“end”,說明帶標簽的break,對內外層循環都起作用,break label1同時中斷內外層循環,直接跳轉到label1標簽處,但并不重新進入迭代。也就是說,break label1完全終止了兩個循環。

總結

1.一般的continue只會對其所在的循環起作用,退回循環的開頭,并繼續執行。
2.帶標簽的continue會使執行點到達標簽的位置,并重新進入緊接在標簽后的循環。
3.一般的break會中斷并跳出當前循環。
4.帶標簽的break會中斷并跳出標簽所指的循環。
5.在java中,標簽起作用的唯一地方是在迭代語句之前。
6.在java中,使用標簽的唯一理由是有嵌套循環存在,并且想從多層嵌套中break或continue。

原文鏈接:https://www.cnblogs.com/zouqf/p/9881968.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2019中文字幕| 日本免费观看95视频网站 | 范冰冰上面好大下面好紧 | 欧美日韩专区国产精品 | 女人被男人躁得好爽免费视频 | 久久人妻少妇嫩草AV无码 | 99精彩视频在线观看 | 男人机机桶女人机机 | 91制片厂(果冻传媒)原档破解 | 国产精品视频第一区二区 | 亚洲国产精品无码中文字满 | porno18老师hd| 四虎在线永久免费视频网站 | 国产91精品在线观看 | 娇妻与老头绿文小说系列 | 天堂一区二区在线观看 | 国产精品露脸国语对白河北 | 欧美做受| 99国产精品免费视频 | 国产精品最新 | 日本一区二区三区四区无限 | 三级视频中文字幕 | 草莓永久地域网名入2022 | 欧美日韩一区不卡 | 色综合久久六月婷婷中文字幕 | voyeur 中国女厕 亚洲女厕 | 2021小妲己永久回家地址 | 99热er| 日本在线亚州精品视频在线 | 秋霞理论在一l级毛片 | 国产精品国产香蕉在线观看网 | 视频二区 素人 欧美 日韩 | 精品一久久香蕉国产线看播放 | 精品亚洲永久免费精品 | 久久这里只有精品视频9 | 视频在线观看高清免费看 | 成年男女免费视频 | 99久精品| 日本精品久久久久久久久免费 | 成人黄页网站 | 男老头澡堂gay老头456 |