Java 基础编程:循环语句

循环语句

循环语句在程序设计中用来描述有规则重复的流程。在实际的程序中, 存在很多需要重复执行的流程,为了简化这些重复的执行流程,在程序设计语言 中新增了该类语句。
循环语句的三种语法格式:while 语句、do-while 语句 和 for 语句。

while 语句

while 关键字的中文意思是“当……的时候”,也就是当条件成立时循环执行对应的代码。while 语句是循环语句中基本的结构,语法格式比较简单。
while 语句语法格式:

while(循环条件){
    循环体; 
} 

执行流程:在执行 while 语句时,首先判断循环条件,如果循环条件为 false,则直接执行 while 语句后续的代码,如果循环条件为 true,则执行循环体代码,然后再判断循环条件,一直到循环条件不成立为止。

do-while 语句

do-while 语句由关键字 do 和 while 组成,是循环语句中最典型的“先循环再判断”的流程控制结构,这个和其它 2 个循环语句都不相同。
do-while 语句的语法格式为:

do{
    循环体
}while(循环条件)

执行流程:当执行到 do-while 语句时,首先执行循环体,然后再判断循环条件,如果循环条件不成立,则循环结束,如果循环条件成立,则继续执行循环体,循环体执行完成以后再判断循环条件,依次类推。

for 语句语法

for 关键字的意思是“当…的时候”,是实际开发中比较常用的循环语句。
for 语句的语法格式为:

for(初始化语句;循环条件;迭代语句){
    循环体; 
}

执行流程:

  • 执行初始化语句
  • 判断循环条件,如果循环条件为 false,则结束循环,否则执行下一步
  • 执行循环体
  • 执行迭代语句
  • 跳转到步骤 2 重复执行

小结

while 语句和 for 语句在循环语句中属于“先判断再循环”的结构, 而 do-while 语句属于“先循环再判断”的结构,所以从语法角度来看,do-while 语句的循环体至少会执行一次,在实际使用时 while 语句和 for 语句之间可以进 行很方便的替换。

break 和 continue 语句

break和continue语句是和循环语句紧密相关的两种语句。其中break关键字的意思是中断、打断,continue 关键字的意思是继续。使用这两个关键字可以调节循环的执行。

break 语句

break 语句, 在循环语句中,break 语句的作用也是中断循环语句,也就是结束循环语句的执行。
break 语句可以用在三种循环语句的内部,功能完全相同。下面以 while 语句为例来说明 break 语句的基本使用及其功能。

    int i = 0;
    while (i < 10) {
        i++;
        if (i == 5) {
            break;
        }
    }

该循环在变量 i 的值等于 5 时,满足条件,然后执行 break 语句, 结束整个循环,接着执行循环后续的代码。 在循环语句中,可以使用 break 语句中断正在执行的循环。
在实际的代码中,结构往往会因为逻辑比较复杂,而存在循环语句的 嵌套,如果 break 语句出现在循环嵌套的内部时,则只结束 break 语句所在的循 环,对于其它的循环没有影响,示例代码如下:

        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.println(j);
                if (j == 3) {
                    break;
                }
            }
        }

则该break语句因为出现在循环变量为j的循环内部,则执行到break 语句时,只中断循环变量为 j 的循环,而对循环变量为 i 的循环没有影响。

continue 语句

continue语句只能使用在循环语句内部,功能是跳过该次循环,继续执行下一次循环结构。

  • 在while 和do-while 语句中continue 语句跳转到循环条件处开始继续执行
  • 在 for语句中 continue 语句跳转到迭代语句处开始继续执行。
        int i = 0;
        while (i < 4) {
            i++;
            if (i == 2) {
                continue;
            }
            System.out.println(i);
        }

在变量i的值等于2时,执行continue语句,则后续未执行完成的循环体将被 跳过,而直接进入下一次循环。

        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.println(j);
                if (j == 3) {
                    continue ;
                }
            }
        }

执行 continue 语句时,直接跳转到 i++ 语句。

小结

在实际的代码中,可以根据需要使用break和continue语句调整循环语句的执行。

  • break:结束所在的循环,
  • continue : 跳过当次循环未执行的代码,直接执行下一次循环。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容

  • 《Java从小白到大牛》纸质版已经上架了!!! 程序设计中的控制语句有三种,即顺序、分支和循环语句。Java程序通...
    tony关东升阅读 436评论 0 1
  • 作者的序言 朋友们,弃疗系列4出来啦,作者还并没有放弃,感觉自己萌萌哒,233。 语句 js程序其实就是一系列可执...
    zhaolion阅读 1,738评论 0 8
  • 循环简介 循环可以用于让一个程序重复地执行语句。 循环是用来控制语句块重复执行的一种结构。 循环的概念是程序设计的...
    Vinfai阅读 1,130评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,307评论 0 2
  • 不知道任何信息,只记得一张脸。说不是上帅,脸圆圆的,干净的短发,好像很爱笑,一笑,眼睛笑弯了腰。很耐看……
    奥多的小毛驴阅读 103评论 0 0