前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础知识讲解(六)嵌套循环

Java基础知识讲解(六)嵌套循环

作者头像
徐建国
发布2021-08-03 15:40:21
4980
发布2021-08-03 15:40:21
举报
文章被收录于专栏:个人路线

在一个循环语句内部再嵌套一个或多个循环,称为嵌套循环。while、do-while与for循环可以任意嵌套多层。

代码语言:javascript
复制
package javastart;
/**
 * 嵌套循环
 * @author 玖点夜谈
 *
 */
public class Test02 {

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

}
}
代码语言:javascript
复制
package javastart;
/**
 * 使用嵌套循环实现九九乘法表
 * @author 玖点夜谈
 *
 */

public class Test01 {

public static void main(String[] args) {
for (int i = 1; i < 10; i++) { // i是一个乘数
for (int j = 1; j <= i; j++) { // j是另一个乘数
                  System.out.print(j + "*" + i + "=" + (i * j < 10 ? (" " + i * j) : i * j) + "  ");
              }
              System.out.println();
     }

  }

}

break语句和continue语句

在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。

continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

注意事项

1. continue用在while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。

2. continue用在for循环中,跳到for循环的迭代因子部分。

代码语言:javascript
复制
package javastart;
/**
 * continue语句:把100~150之间不能被3整除的数输出,并且每行输出5个
 * @author 玖点夜谈&&萌小肆
 *
 */

public class Test09 {

public static void main(String[] args) {
int count = 0;//定义计数器
for (int i = 100; i < 150; i++) {
//如果是3的倍数,则跳过本次循环,继续进行下一次循环
if (i % 3 == 0){
continue;
            }
//否则(不是3的倍数),输出该数
            System.out.print(i + "、");
            count++;//没输出一个数,计数器加1
//根据计数器判断每行是否已经输出了5个数
if (count % 5 == 0) {
                System.out.println();
            }
        }
  }

}

带标签的break和continue

goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在Java语言中得到正式使用;Java没有goto语句。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。

“标签”是指后面跟一个冒号的标识符,例如:“label:”。对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

在 “goto有害”论中,最有问题的就是标签,而非goto, 随着标签在一个程序里数量的增多,产生错误的机会也越来越多。但Java标签不会造成这方面的问题,因为它们的活动场所已被限死,不可通过特别的方式到处传递程序的控制权。由此也引出了一个有趣的问题:通过限制语句的能力,反而能使一项语言特性更加有用。

代码语言:javascript
复制
package javastart;
/**
 * 带标签break和continue:控制嵌套循环跳转(打印101-150之间所有的质数)
 * @author 玖点夜谈
 *
 */
public class Test08 {

public static void main(String[] args) {
     outer: for (int i = 101; i < 150; i++) {
for (int j = 2; j < i / 2; j++) {
if (i % j == 0){
continue outer;
                  }
              }
              System.out.print(i + "  ");
          }

  }

}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 明天也要加油呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档