Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Java Break:break 语句用于跳出循环或 switch 语句。在循环中使用 break 语句可以立即终止循环,并继续执行循环后面的代码。在 switch 语句中使用 break 语句可以跳出当前 case,并继续执行下一个 case。

Java Break 和 Continue

Java Break:

  • break 语句用于跳出循环或 switch 语句。
  • 在循环中使用 break 语句可以立即终止循环,并继续执行循环后面的代码。
  • 在 switch 语句中使用 break 语句可以跳出当前 case,并继续执行下一个 case。

示例:

// 循环示例
for (int i = 0; i < 10; i++) {
   
  if (i == 4) {
   
    break;
  }
  System.out.println(i);
}

// 输出:0 1 2 3

// switch 语句示例
switch (day) {
   
  case "Monday":
    System.out.println("今天是星期一");
    break;
  case "Tuesday":
    System.out.println("今天是星期二");
    break;
  default:
    System.out.println("今天不是星期一或星期二");
}

Java Continue:

  • continue 语句用于跳过当前循环的剩余部分,并继续执行循环的下一次迭代。
  • continue 语句通常用于在循环中满足特定条件时跳过某些代码。

示例:

for (int i = 0; i < 10; i++) {
   
  if (i % 2 == 0) {
   
    continue;
  }
  System.out.println(i);
}

// 输出:1 3 5 7 9

在 While 循环中使用 Break 和 Continue:

  • breakcontinue 语句也可以在 while 循环中使用。
  • 用法与在 for 循环中相同。

示例:

// Break 示例
int i = 0;
while (i < 10) {
   
  System.out.println(i);
  i++;
  if (i == 4) {
   
    break;
  }
}

// Continue 示例
int i = 0;
while (i < 10) {
   
  if (i % 2 == 0) {
   
    i++;
    continue;
  }
  System.out.println(i);
  i++;
}

总结:

  • break 语句用于跳出循环或 switch 语句。
  • continue 语句用于跳过当前循环的剩余部分。
  • breakcontinue 语句也可以在 while 循环中使用。

Java 数组

数组 是用于存储多个值的容器。它们允许您将相关数据组织在一起,并使用单个变量名访问它们。

声明数组

要声明一个数组,您需要指定数组的类型和大小。例如,以下代码声明了一个可以存储四个字符串的数组:

String[] cars = new String[4];

初始化数组

您可以使用两种方式初始化数组:

  • 使用赋值运算符:
String[] cars = new String[4];
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Ford";
cars[3] = "Mazda";
  • 使用花括号:
String[] cars = {
   "Volvo", "BMW", "Ford", "Mazda"};

访问数组元素

您可以使用方括号语法访问数组元素。例如,以下代码输出数组中的第一个元素:

String[] cars = {
   "Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]); // 输出: Volvo

更改数组元素

您可以使用方括号语法更改数组元素的值。例如,以下代码将数组中的第一个元素更改为 "Opel":

String[] cars = {
   "Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
System.out.println(cars[0]); // 输出: Opel

数组长度

您可以使用 length 属性获取数组的长度。例如,以下代码输出数组的长度:

String[] cars = {
   "Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars.length); // 输出: 4

遍历数组

您可以使用 for 循环遍历数组。例如,以下代码打印数组中的所有元素:

String[] cars = {
   "Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length; i++) {
   
  System.out.println(cars[i]);
}

多维数组

您可以声明多维数组。例如,以下代码声明了一个二维数组,可以存储 3 行 4 列的数字:

int[][] numbers = new int[3][4];

总结

数组是一种强大的工具,可用于存储和组织数据。它们允许您使用单个变量名访问多个值。

多维数组

简介

多维数组是数组的数组,可以用来存储表格形式的数据,例如具有行和列的表格。

创建二维数组

int[][] myNumbers = {
    {
   1, 2, 3, 4}, {
   5, 6, 7} };
  • myNumbers 是一个包含两个数组的数组。
  • 每个内部数组包含四个元素。

访问元素

int[][] myNumbers = {
    {
   1, 2, 3, 4}, {
   5, 6, 7} };
System.out.println(myNumbers[1][2]); // 输出 7
  • myNumbers[1] 表示第二个数组(索引为 1)。
  • myNumbers[1][2] 表示第二个数组中的第三个元素(索引为 2)。

更改元素值

int[][] myNumbers = {
    {
   1, 2, 3, 4}, {
   5, 6, 7} };
myNumbers[1][2] = 9;
System.out.println(myNumbers[1][2]); // 输出 9
  • 更改 myNumbers[1][2] 的值为 9。

循环遍历多维数组

public class Main {
   
  public static void main(String[] args) {
   
    int[][] myNumbers = {
    {
   1, 2, 3, 4}, {
   5, 6, 7} };
    for (int i = 0; i < myNumbers.length; ++i) {
   
      for (int j = 0; j < myNumbers[i].length; ++j) {
   
        System.out.println(myNumbers[i][j]);
      }
    }
  }
}
  • 使用两个嵌套的 for 循环遍历数组。
  • 外部循环遍历行,内部循环遍历列。

示例

public class Main {
   
  public static void main(String[] args) {
   
    int[][] myNumbers = {
    {
   1, 2, 3}, {
   4, 5, 6}, {
   7, 8, 9} };
    for (int i = 0; i < myNumbers.length; ++i) {
   
      for (int j = 0; j < myNumbers[i].length; ++j) {
   
        System.out.print(myNumbers[i][j] + " ");
      }
      System.out.println();
    }
  }
}

输出:

1 2 3
4 5 6
7 8 9

总结

多维数组是存储表格形式数据的有效方式。可以使用嵌套循环遍历多维数组并访问每个元素。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关文章
|
3月前
|
Java 开发者
重学Java基础篇—Java类加载顺序深度解析
本文全面解析Java类的生命周期与加载顺序,涵盖从加载到卸载的七个阶段,并深入探讨初始化阶段的执行规则。通过单类、继承体系的实例分析,明确静态与实例初始化的顺序。同时,列举六种触发初始化的场景及特殊场景处理(如接口初始化)。提供类加载完整流程图与记忆口诀,助于理解复杂初始化逻辑。此外,针对空指针异常等问题提出排查方案,并给出最佳实践建议,帮助开发者优化程序设计、定位BUG及理解框架机制。最后扩展讲解类加载器层次与双亲委派机制,为深入研究奠定基础。
113 0
|
7天前
|
Oracle Java 关系型数据库
java 编程基础入门级超级完整版教程详解
这份文档是针对Java编程入门学习者的超级完整版教程,涵盖了从环境搭建到实际项目应用的全方位内容。首先介绍了Java的基本概念与开发环境配置方法,随后深入讲解了基础语法、控制流程、面向对象编程的核心思想,并配以具体代码示例。接着探讨了常用类库与API的应用,如字符串操作、集合框架及文件处理等。最后通过一个学生成绩管理系统的实例,帮助读者将理论知识应用于实践。此外,还提供了进阶学习建议,引导学员逐步掌握更复杂的Java技术。适合初学者系统性学习Java编程。资源地址:[点击访问](https://pan.quark.cn/s/14fcf913bae6)。
52 2
|
16天前
|
存储 人工智能 Java
打乱数组内容引发的问题( Java)
本文介绍了两种实现数组随机打乱的方法,并深入探讨了Java中原始数据类型与对象类型的差异。方法一通过自定义随机数交换数组元素位置,方法二借助`Collections.shuffle()`函数完成数组打乱。同时,文章详细解析了`int`和`Integer`的区别,包括声明方式、内存占用、初始化以及对象特性等,并讲解了自动装箱与拆箱的功能,帮助读者更好地理解Java的基础知识。
|
3月前
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList&lt;&gt;()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
Java 中数组Array和列表List的转换
|
3月前
|
设计模式 XML 算法
策略模式(Strategy Pattern)深度解析教程
策略模式属于行为型设计模式,通过定义算法族并将其封装为独立的策略类,使得算法可以动态切换且与使用它的客户端解耦。该模式通过组合替代继承,符合开闭原则(对扩展开放,对修改关闭)。
|
3月前
|
存储 设计模式 Java
重学Java基础篇—ThreadLocal深度解析与最佳实践
ThreadLocal 是一种实现线程隔离的机制,为每个线程创建独立变量副本,适用于数据库连接管理、用户会话信息存储等场景。
117 5
|
3月前
|
存储 监控 安全
重学Java基础篇—类的生命周期深度解析
本文全面解析了Java类的生命周期,涵盖加载、验证、准备、解析、初始化、使用及卸载七个关键阶段。通过分阶段执行机制详解(如加载阶段的触发条件与技术实现),结合方法调用机制、内存回收保护等使用阶段特性,以及卸载条件和特殊场景处理,帮助开发者深入理解JVM运作原理。同时,文章探讨了性能优化建议、典型异常处理及新一代JVM特性(如元空间与模块化系统)。总结中强调安全优先、延迟加载与动态扩展的设计思想,并提供开发建议与进阶方向,助力解决性能调优、内存泄漏排查及框架设计等问题。
106 5
|
3月前
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
183 3
|
3月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
100 1

推荐镜像

更多
  • DNS