一 循环嵌套

  嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、

for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环。

格式:

for(初始化表达式; 循环条件; 操作表达式) {

………

for(初始化表达式; 循环条件; 操作表达式) {

执行语句

………

}

………

}

例如:用“*”打印直角三角形

 1public class ForForDemo {
2 public static void main(String[] args) {
3 int i, j; // 定义两个循环变量
4 for (i = 1; i <= 9; i++) { // 外层循环
5 for (j = 1; j <= i; j++) { // 内层循环
6 System.out.print("*"); // 打印*
7 }
8 System.out.print("\n"); // 换行
9 }
10 }
11}

第一步,在第3行代码定义了两个循环变量i和j,其中i为外层循环变量,j为内层循环变量。

第二步,在第4行代码将i初始化为1,条件i <= 9为true,首次进入外层循环的循环体。

第三步,在第5行代码将j初始化为1,由于此时i的值为1,条件j <= i为true,首次进入内层循环的循环体,打印一个“*”。

第四步,执行第5行代码中内层循环的操作表达式j++,将j的值自增为2。

第五步,执行第5行代码中的判断条件j<=i,判断结果为false,内层循环结束。执行后面的代码,打印换行符。

第六步,执行第4行代码中外层循环的操作表达式i++,将i的值自增为2。

第七步,执行第4行代码中的判断条件i<=9,判断结果为true,进入外层循环的循环体,继续执行内层循环。

第八步,由于i的值为2,内层循环会执行两次,即在第2行打印两个“*”。在内层循环结束时会打印换行符。

第九步,以此类推,在第3行会打印3个“*”,逐行递增,直到i的值为10时,外层循环的判断条件i <= 9结果为false,外层循环结束,整个程序也就结束了。

例如:用“*”打印等腰角三角形

 public class ForForDemo {
public static void main(String[] args) {
System.out.println("请输入等腰三角形行数:");
int s2 = sc.nextInt();
for (int i=1;i<=s2 ;i++ ){
for (int j =1;j<=s2-i ;j++ ){
System.out.print(" ");
}
for (int k = 1;k<=2*i-1 ;k++ )
{System.out.print("*");
}
System.out.print("\n");
}
}
}

例如:打印99乘法表

public class ForForDemo {
public static void main(String[] args) {
for (int i = 1;i<=9 ;i++ ){
for (int j=1;j<=i ;j++ ){
System.out.print(j+"×"+i+"="+i*j+" ");
}
System.out.print("\n");
}
}
}

例如:用“*”打印倒直角三角形

public class ForForDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入三角形行数:");
int s = sc.nextInt();
for (int i = 1;i<=s ;i++ ){
for (int j=s;j>=i ;j-- ){
System.out.print("*");
}
System.out.print("\n");
}
}
}

二 跳转语句(break,continue)与标记

  跳转语句用于实现循环执行过程中程序流程的跳转,在Java中的跳转语句有break语句和continue语句。

1.break

在switch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case

并跳出switch结构。当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。

例如:

public class BreakDemo {
public static void main(String[] args) {
int x = 1; // 定义变量x,初始值为1
while (x <= 4) { // 循环条件
System.out.println("x = " + x); // 条件成立,打印x的值
if (x == 3) {
break;
}
x++; // x进行自增
}
}
}

2.标记

  当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳

出外层循环则需要对外层循环添加标记。

例如:

public class BreakDemo02 {
public static void main(String[] args) {
int i, j; // 定义两个循环变量
aaa: for (i = 1; i <= 9; i++) { // 外层循环
for (j = 1; j <= i; j++) { // 内层循环
if (i > 4) { // 判断i的值是否大于4
break aaa; // 跳出外层循环
}
System.out.print("*"); // 打印*
}
System.out.print("\n"); // 换行
}
}
}

3.continue

  continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。

例如:

对1~100之内的奇数求和

public class ContinueDemo {
public static void main(String[] args) {
int sum = 0; // 定义变量sum,用于记住和
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) { // i是一个偶数,不累加
continue; // 结束本次循环
}
sum += i; // 实现sum和i的累加
}
System.out.println("sum = " + sum);
}
}

java循环嵌套与跳转语句(break,continue)的更多相关文章

  1. 04-01 Java switch、for、while、do while语句,循环嵌套,跳转语句break、continue、return

    语句 1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n ...

  2. 【2017-02-24】循环嵌套、跳转语句、异常语句、迭代穷举、while

    一.循环嵌套 1.格式 for() { for() { } } 2.执行顺序 先执行外边循环进到循环体发现里面的循环,开始执行里面的循环.等到里面的循环执行完毕,再执行外边的循环. 在外面循环第一次, ...

  3. 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法

    For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...

  4. 【2017-2-24】C#循环嵌套,跳转语句,迭代穷举,异常语句,while循环

    循环嵌套 在一个循环体语句中包含另一个循环语句: 99乘法表 ; i <= ; i++) { ; j <= i; j++) { Console.Write(i+"x"+ ...

  5. 跳转语句—break,continue,goto

    #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...

  6. 跳转语句Break、continue

    跳转语句Break.continue 1.break -跳出 作用范围:switch或循环语句; -当break语句单独存在时,下面不需要定义其他语句,因为直接被跳出,不执行下面的语句. -break ...

  7. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  8. js中退出语句break,continue和return 比较(转)

    原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...

  9. java控制语句 if-else while do-while for return break continue goto switch default

    if for //: object/ForEachFloat.java package object; import java.util.Random; public class ForEachFlo ...

随机推荐

  1. 怎样从gitHub上面拉项目

    1.注册 https://gitee.com/oschina 2.拿到代码在gitHub上的地址 3.打开eclipse-->import https://git.oschina.net/cai ...

  2. 不懂DevOps!他在升职加薪的那天下午,提出了离职

    不久前我们一个已毕业的学员向班主任老师分享了前几天他遇到的一件事: 一个许久未联系他的朋友突然打电话给他,寒暄了几句后突然说,想来北京找工作,问能不能帮忙给介绍一些工作. 在接下来的通话中,我们学员了 ...

  3. Goorm永久免费的VPS

    简介 咱在LOC(某知名主机论坛)看到的,当个容器玩玩还是不错的,不过10分钟后会休眠,目前还没有大佬可以解决,可以使用SSH连接,适合折腾,不适合建站等生产环境操作,请注意.https://www. ...

  4. k_means算法+python实现

    文章目录 一.原理 二.算法步骤 三.实例如下: 四.python代码实现: 一.原理 K均值算法使用的聚类准则函数是误差平方和准则,通过反复迭代优化聚类结果,使所有样本到各自所属类别的中心的距离平方 ...

  5. [jvm] -- 类加载过程篇

    类加载过程 系统加载 Class 类型的文件主要三步 加载 通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转换为方法区的运行时数据结构 在内存中生成一个代表该类的 Class对象, ...

  6. 不是吧,阿sir,2020年程序员要不好过?

    自从网传程序员到了35岁之后必须要转行,现在又有人传言:“疫情之下,程序员今年要过苦日子了,降薪裁员是大趋势.” 不是,我就不明白了,你们怎么就看不得程序员好呢?天天巴望着程序员降薪.转行.裁员…   ...

  7. Flutter + Android 混合开发

    JIT (Just In Time) 即时编译器, 边执行边编译 程序运行时,JIT 编译器选择将最频繁执行的方法编译成本地代码.运行时才进行本地代码编译而不是在程序运行前进行编译 AOT可以理解为“ ...

  8. VS Code小白使用教程

    本文来自作者:你不知道的巨蟹 原文链接 https://www.cnblogs.com/tu-0718/p/10935910.html,如有侵权,则可删除. 前言 现在使用Vscode编码的人越来越多 ...

  9. python从放弃到放弃

    本文目录 第一篇:python基础 第二篇:数据类型 第三篇:文件处理 第四篇:函数 第五篇:模块与包 第六篇:常用模块

  10. Hexo博客美化之蝴蝶(butterfly)主题魔改

      Hexo是轻量级的极客博客,因为它简便,轻巧,扩展性强,搭建部署方便深受广大人们的喜爱.各种琳琅满路的Hexo主题也是被各种大佬开发出来,十分钦佩,向大佬仰望,大声称赞:流批!!! 我在翻看各种主 ...