首页 > 编程语言 >Java中跳转语句的学习

Java中跳转语句的学习

时间:2024-08-03 17:55:36浏览次数:9  
标签:语句 Count Java 标签 break continue 跳转 循环

跳转语句


目录

break语句

break 语句可用于上一节介绍的 while、 repeat-while 和 for 循环结构,它的作用是强
行退出循环体,不再执行循环体中剩余的语句。
在循环体中使用 break 语句有两种方式:带有标签和不带标签。语法格式如下:
break; //不带标签
break label; //带标签, label是标签名

不带标签的 break 语句使程序跳出所在层的循环体,而带标签的 break 语句使程序跳
出标签指示的循环体。
下面看一个示例,代码如下:

int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i = 0; i < numbers.length; i++) {
    if (i == 3) {
    //跳出循环
        break;
    }
    System.out.println("Count is:" + i);
}

在上述程序代码中, 当条件 i==3 的时候执行 break 语句, break 语句会终止循环,程序运行的结果如下:
Count is: 0
Count is: 1
Count is: 2
break 还可以配合标签使用, 示例代码如下:

label1: for(int x = 0; x < 5; x++) { ①
 
    for (int y = 5; y > 0; y--) { ②
 
        if (y == x) {
 
        //跳转到label1指向的循环
 
            break label1; ③
 
        }
 
        System.out.printf("(x,y) =(%d,%d)", x, y);
 
// 打印一个换行符,实现换行
 
        System.out.println();
 
    }
}
System.out.println("Game Over!");

默认情况下, break 只会跳出最近的内循环(代码第②行 for 循环)。如果要跳出代码第①行的外循环,可以为外循环添加一个标签 label1, 注意在定义标签的时候后面跟一个冒号。 代码第③行的 break 语句后面指定了label1 标签,这样当条件满足执行 break 语句时,程序就会跳转出label1 标签所指定的循环。
程序运行结果如下:

(x,y) = (0,5)
(x,y) = (0,4)
(x,y) = (0,3)
(x,y) = (0,2)
(x,y) = (0,1)
(x,y) = (1,5)
(x,y) = (1,4)
(x,y) = (1,3)
(x,y) = (1,2)
Game Over!

如果 break 后面没有指定外循环标签,则运行结果如下:

(x,y) = (0,5)
(x,y) = (0,4)
(x,y) = (0,3)
(x,y) = (0,2)
(x,y) = (0,1)
(x,y) = (1,5)
(x,y) = (1,4)

(x,y) = (1,3)

(x,y) = (1,2)

(x,y) = (2,5)

(x,y) = (2,4)

(x,y) = (2,3)

(x,y) = (3,5)

(x,y) = (3,4)

(x,y) = (4,5)

Game Over!

continue语句

continue 语句用来结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件

的判断,以决定是否继续循环。对于 for 语句,在进行终止条件的判断前,还要先执行迭

代语句。

在循环体中使用 continue 语句有两种方式可以带有标签,也可以不带标签。语法格式如下:

continue //不带标签

continue label//带标签, label是标签名

下面看一个示例,代码如下:

在上述程序代码中,当条件 i==3 的时候执行continue 语句, continue 语句会终止本次循环,循环体中 continue 之后的语句将不再执行,接着进行下次循环,所以输出结果中没有 3。 程序运行结果如下:

int[] numbers= { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
 
for (int i =0; i < numbers.length; i++) {
 
    if (i == 3) {
 
    continue;
 
    }
 
    System.out.println("Countis: " + i);
 
}

以下是运行结果:

Count is: 0

Count is: 1

Count is: 2

Count is: 4

Count is: 5

Count is: 6

Count is: 7

Count is: 8

Count is: 9

带标签的 continue 语句示例代码如下:

label1: for(int x = 0; x < 5; x++) { ①
 
for (int y = 5; y > 0; y--) { ②
 
    if (y == x) {
 
        continue label1; ③
 
    }
 
    System.out.printf("(x,y) = (%d,%d)", x,y);
 
    System.out.println();
 
}
 
System.out.println("GameOver!");

默认情况下, continue 只会跳出最近的内循环(代码第②行 for 循环), 如果要跳出

代码第①行的外循环,可以为外循环添加一个标签 label1,然后在第③行的 continue 语句

后面指定这个标签 label1,这样当条件满足执行 continue 语句时,程序就会跳转出外循

环。

程序运行结果如下:

(x,y) = (0,5)

(x,y) = (0,4)

(x,y) = (0,3)

(x,y) = (0,2)

(x,y) = (0,1)

(x,y) = (1,5)

(x,y) = (1,4)

(x,y) = (1,3)

(x,y) = (1,2)

(x,y) = (2,5)

(x,y) = (2,4)

(x,y) = (2,3)

(x,y) = (3,5)

(x,y) = (3,4)

(x,y) = (4,5)

Game Over!

由于跳过了 x == y,因此下面的内容没有输出。

(x,y) = (1,1)

(x,y) = (2,2)

(x,y) = (3,3)

(x,y) = (4,4)

标签:语句,Count,Java,标签,break,continue,跳转,循环
From: https://www.cnblogs.com/BingBing-8888/p/18340856

相关文章

  • JavaScript (十七)——JavaScript 声明提升和严格模式
    目录JavaScript声明提升JavaScript初始化不会提升在头部声明你的变量JavaScript严格模式(usestrict)使用"usestrict"指令严格模式声明严格模式的限制JavaScript声明提升JavaScript中,函数及变量的声明都将被提升到函数的最顶部。JavaScript中,变量可以在......
  • JavaScript(十八)——JavaScript 使用误区
    目录赋值运算符应用错误比较运算符常见错误加法与连接注意事项浮点型数据使用注意事项JavaScript字符串分行错误的使用分号语句使用注意事项return使用注意事项数组中使用名字来索引定义数组元素,最后不能添加逗号定义对象,最后不能添加逗号Undefined不是Null程......
  • 【Java】如何定位线上的OOM
    1.概述本章我们主要讲解如何定位线上的OOM的问题。2.OOM原因OOM的原因有很多种,下面举几个列子。2.1一次申请对象过多比如你查询数据库数据,几千万的数据一次查询完毕,然后都放在内存,然后当然会导致OOM了。解决:可以分页查询2.2内存耗尽-未释放比如我们使用数据库连......
  • 57_2设置Servlet模板、Servlet线程安全问题、跳转
    设置Servlet模板再创建类就有了模板代码#if(${PACKAGE_NAME}&&${PACKAGE_NAME}!="")package${PACKAGE_NAME};#end#parse("FileHeader.java")importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servl......
  • Java - Stream流
    Stream流的使用结合Lambda表达式简化集合、数组操作获取Stream流对象->使用中间方法处理数据->使用终结方法处理数据调用方式中间方法1.中间方法返回的是新的Stream流,故每个Stream流只能使用一次中间方法,一般使用链式编程2.修改Stream流中数据不会影响原集合或数组......
  • Java中的不同数据类型的方法调用
    数组在Java中,数组是一个基础的数据结构,用来存储固定大小的同类型元素。数组本身在Java中是一个对象,但它的方法比较有限,主要依赖于Java的Arrays类来进行数组操作。排序sort():对整个数组或指定范围的元素进行排序。重载版本支持所有基本类型数组和对象数组。对于对象数组......
  • Java中使用通配符的限制与使用案例解析
    UML类图如下Person类Student类Teacher类Grade类packagecom.itheima.demo;importjava.util.ArrayList;importjava.util.Collections;publicclassGrade{ privateArrayList<Teacher>teacherList=newArrayList<>(); privateArrayList<Student......
  • 【Java基础】02变量和数据类型
    变量一个数据存储空间的表示不同数据存入具有不同内存地址的空间,相互独立,内存地址不好记,通过变量名可以简单快速地找到数据。变量命名规则包含数字、字母、下划线、$不能以数字开头,不能是纯数字英文命名,要有意义帕斯克命名法(驼峰命名法)大骆驼:HelloWorld首字母大写,一般......
  • java 面向对象1
    1.java类一个类文件可以定义多个类,只能有一个用public修饰.java基本语法方面在有的很想c++.在学习java面向对象的时候我也得对比c++来学习.学习c++的三大特性:继承,多态,封装,是如何在java中体现的.2.封装,封装是类最基础的特装类通过将好几个成员数据封装成一个整体,便于数据成......
  • 【Java零基础视频教程】综合练习题(一)——基础练习
    文章目录基础练习飞机票打印素数生成验证码复制数组评委打分数字加密抽奖双色球基础练习飞机票机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。​按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)......