【Java笔记】第4章:深入学习循环结构

  • 前言
  • 1. 循环的理解
  • 2. while循环
  • 3. do...while循环
  • 4. for循环
  • 5. 循环的控制语句
  • 6. 循环的嵌套
  • 结语


在这里插入图片描述


上期回顾: 【Java笔记】第3章:深入学习分支结构
个人主页:C_GUIQU
归属专栏:【Java学习】

在这里插入图片描述

前言

各位小伙伴大家好!上期小编给大家讲解了Java中的分支结构,接下来讲讲循环!
在这里插入图片描述

1. 循环的理解

【理解】依据条件,重复且有规律。
【组成】循环变量的初始化、循环条件、循环变量的改变、循环体。
【分类】while循环、do…while循环、for循环。

2. while循环

【语法】

// 循环变量的初始化
while(循环条件){// 循环体(重复执行的功能代码)// 循环变量的改变
}

【示例】计算从 1 加到 10 的和

public class WhileExample {public static void main(String[] args) {int sum = 0; // 定义一个变量用于存储和int i = 1; // 定义一个循环变量while (i <= 10) { // 当 i 小于等于 10 时执行循环体内的语句sum += i; // 将 i 的值加到 sum 上i++; // 将 i 的值增加 1}// 循环结束后打印结果System.out.println("1 到 10 的和为: " + sum);}
}

3. do…while循环

【语法】

// 循环变量的初始化
do{// 循环体// 循环变量的改变
}while(循环条件); // 分号不能省略

【特点】先执行,再判断。
【示例】计算从 1 加到 10 的和

public class DoWhileExample {public static void main(String[] args) {int sum = 0; // 定义一个变量用于存储和int i = 1; // 定义一个循环变量do {sum += i; // 将 i 的值加到 sum 上i++; // 将 i 的值增加 1} while (i <= 10); // 当 i 小于等于 10 时继续执行循环体内的语句// 循环结束后打印结果System.out.println("1 到 10 的和为: " + sum);}
}

4. for循环

【语法】

for(循环变量的初始化;循环条件;循环变量的改变){// 循环体
}

【执行原理】

在这里插入图片描述
【示例1】打印从 1 到 10 的数字

public class ForLoopExample {public static void main(String[] args) {// 使用 for 循环打印从 1 到 10 的数字for (int i = 1; i <= 10; i++) {System.out.println(i);}}
}

【示例2】遍历数组

public class ForLoopArrayExample {public static void main(String[] args) {// 定义一个整型数组int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};// 使用 for 循环遍历数组并打印每个元素for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);}}
}

【循环的总结】
while循环和for循环特点:先判断,再执行。
do…while循环特点:先执行,再判断。
当循环次数不确定时,建议使用while循环。
当循环的次数明确时,建议使用for循环。

5. 循环的控制语句

在 Java 中,循环的控制语句允许你改变循环的正常流程。主要有三种控制语句:breakcontinuereturn

  1. break 语句:用于立即退出最内层的循环,无论循环条件是否为真。break 语句也可以用于 switch 语句,用于退出 switch 语句。
for (int i = 1; i <= 10; i++) {if (i == 5) {break; // 当 i 等于 5 时,退出循环}System.out.println(i); // 只打印 1 到 4
}
  1. continue 语句:用于跳过当前循环的剩余部分,并开始下一次循环迭代。
for (int i = 1; i <= 10; i++) {if (i == 5) {continue; // 当 i 等于 5 时,跳过这次迭代}System.out.println(i); // 打印 1 到 10,但不包括 5
}
  1. return 语句:用于从方法中返回一个值(如果方法有返回类型的话),并立即退出该方法。如果在循环内使用 return,它将导致整个方法立即结束,从而退出循环。
public static void printNumbers(int max) {for (int i = 1; i <= max; i++) {if (i == 5) {return; // 当 i 等于 5 时,退出方法}System.out.println(i); // 只打印 1 到 4}
}

在编写循环时,这些控制语句可以用来根据特定的条件来控制循环的执行流程。需要注意的是,过度使用这些控制语句可能会导致代码难以理解和维护,因此应该谨慎使用。

6. 循环的嵌套

循环的嵌套是指在一个循环内部再嵌套另一个循环。在 Java 中,你可以嵌套 forwhiledo...while 循环。
在实际开发中,for循环用的最多,接下来举三个for循环嵌套的例子。

【打印一个乘法表】

public class NestedLoopsExample {public static void main(String[] args) {int rows = 10;int columns = 10;// 外层循环控制行for (int i = 1; i <= rows; i++) {// 内层循环控制列for (int j = 1; j <= columns; j++) {// 打印乘法表的一个元素System.out.print(i * j + "\t");}// 每打印完一行后换行System.out.println();}}
}

在这个例子中,外层 for 循环用于控制行数,内层 for 循环用于控制每行中的列数。内层循环会在外层循环的每次迭代中完整执行。这样,内层循环的每次迭代都会打印出当前行和列的乘积。

【打印星号图案】
这个例子使用嵌套的 for 循环来打印一个金字塔形状的星号图案。

public class StarPatternExample {public static void main(String[] args) {int rows = 5;// 外层循环控制行数for (int i = 1; i <= rows; i++) {// 打印空格,形成左对齐的金字塔for (int j = 1; j <= rows - i; j++) {System.out.print(" ");}// 内层循环控制每行星号的个数for (int j = 1; j <= i; j++) {System.out.print("*");}// 每打印完一行后换行System.out.println();}}
}

运行这个程序会输出以下图案:

    **********
*****

【遍历二维数组】
这个例子使用嵌套的 for 循环来遍历一个二维数组并打印其元素。

public class TwoDimensionalArrayExample {public static void main(String[] args) {int[][] matrix = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};// 外层循环遍历行for (int i = 0; i < matrix.length; i++) {// 内层循环遍历列for (int j = 0; j < matrix[i].length; j++) {// 打印数组元素System.out.print(matrix[i][j] + " ");}// 每打印完一行后换行System.out.println();}}
}

运行这个程序会输出二维数组的所有元素,按照它们在数组中的排列:

1 2 3
4 5 6
7 8 9

在这两个例子中,嵌套循环用于处理更复杂的逻辑,比如在第一个例子中创建一个基于行和列的图形,在第二个例子中遍历一个二维数据结构。嵌套循环是处理这类问题的有力工具。

嵌套循环可以用于多种场景,比如处理二维数组、图形和图像的渲染、复杂的数据结构遍历等。在设计嵌套循环时,重要的是要确保内外层循环的逻辑是正确的,并且要考虑到循环的终止条件,以避免无限循环。

结语

以上就是小编对Java中循环的讲解。
如果觉得小编讲的还可以,还请一键三连。互三必回!
持续更新中~!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 事务实现方式:

Spring 事务实现方式&#xff1a; Spring并不直接支持事务&#xff0c;只有当数据库支持事务的时候&#xff0c;Spring才支持事务&#xff0c;Spring只不过简化了开发人员实现事务的开发步骤 Spring事务的实现方式有两种&#xff1a; 一、基于申明式事务&#xff1a; Service…

ubuntu 16.04.7连不上网的解决方案

首先在编辑选项卡里找到虚拟网络编辑器&#xff0c; 点击更改设置 点击添加网络 点击确定 选择桥接模式&#xff0c;自动后点击应用&#xff0c;最后点击确定即可。

文件夹变白色文件,数据恢复全攻略助你轻松找回!

在日常的电脑使用中&#xff0c;你是否曾遇到过文件夹突然变成了白色文件的情况&#xff1f;这种看似无害的变化&#xff0c;实则可能隐藏着数据丢失的风险。当你发现原本正常的文件夹图标变成了无关联程序的白板图标&#xff0c;且无法正常打开时&#xff0c;内心无疑是焦虑不…

车载诊断系统应用方案选型,ESP8266方案让成本降低了35%,销售数据提升47%

车载诊断系统简称OBD&#xff0c;这个系统随时监控发动机的运行状况和尾气后处理系统的工作状态&#xff0c;一旦发现有可能引起排放超标的情况&#xff0c;会马上发出警示。当系统出现故障时&#xff0c;故障灯(MIL)或检查发动机(Check Engine)警告灯亮&#xff0c;同时OBD系统…

【JavaWeb】Day50.Mybatis的XML配置文件

XML配置文件规范 使用Mybatis的注解方式&#xff0c;主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能&#xff0c;建议使用XML来配置映射语句&#xff0c;也就是将SQL语句写在XML配置文件中。 在Mybatis中使用XML映射文件方式开发&#xff0c;需要符合一定的规…

C语言之文件操作【万字详解】

目录 一.什么是文件&#xff1f; 二.为什么要使用文件&#xff1f; 三.文件的分类 3.1.程序文件 3.2.数据文件 四.二进制文件和文本文件 五.文件的打开和关闭 &#xff08;重点&#xff09; 5.1流和标准流 5.1.1何为流&#xff1f; 5.1.2.标准流 5.2文件指针 5.3文件的打开和关…

【1425】java 外籍人员管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 外籍人员管理系统是一套完善的java web信息管理系统 采用serlvetdaobean&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff…

机器学习波士顿房价

流程 数据获取导入需要的包引入文件,查看内容划分训练集和测试集调用模型查看准确率 数据获取 链接&#xff1a;https://pan.baidu.com/s/1deECYRPQFx8h28BvoZcbWw?pwdft5a 提取码&#xff1a;ft5a --来自百度网盘超级会员V1的分享导入需要的包 import pandas as pd imp…

回归预测 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现SA-BP模拟退火算法优化BP神经网络多变量回归预测&#xff0…

Vue3+Spring Boot3实现跨域通信解决办法

Vue3Spring Boot3实现跨域通信解决办法 1 跨域是什么&#xff1f;2 何为同源呢?3 解决办法3.1 全局配置3.1.1 实现CorsFilter过滤器3.1.2 实现SpringMVC配置类3.1.3 创建CorsFilterFactory工厂类返回CorsFilter对象 3.2 局部跨域3.2.1 注解配置3.2.2 手动设置响应头(局部跨域)…

springboot+vue社区报修便民维修网站设计与实现

便民维修网站&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、管理员管理、用户管理、维修人员管理、在线报修管理、联系客服管理、公司回访管理、基础数据管理、论坛管理、公告管理、轮播图信息&#xff0c;维修人员&#xff1b;首页、个人中心、维修人员评价管…

科研基础与工具(论文搜索)

免责申明&#xff1a; 本文内容只是学习笔记&#xff0c;不代表个人观点&#xff0c;希望各位看官自行甄别 参考文献 科研基础与工具&#xff08;YouTube&#xff09; 搜索论文 Google Scholar 谷歌学术 涵盖面太全了&#xff0c;都收录&#xff0c;就会有很多低质量的论文…

基于SpringBoot民宿入住管理系统

目录 项目介绍 图片展示 运行环境 获取方式 项目介绍 权限划分&#xff1a;用户和管理员 用户&#xff1a; 具有登录、注册、退出登录的功能 首页&#xff1a;可以查看民宿房间总数&#xff0c;保洁人数&#xff0c;当前入住人数&#xff0c;合计总入住人数&#xff0c;以…

Android Jetpack学习系列——Room

关于Room&#xff1a; Room是Android Jetpack组件之一&#xff0c;旨在为Android应用程序提供一种简单、强大且易于使用的本地数据库访问解决方案。 关键特性&#xff1a; 1.基于SQLite封装&#xff1a;Room是基于SQLite数据库引擎构建的&#xff0c;提供了面向对象的API来与…

stm32开发之threadx+modulex+filex+shell组件(实现命令行动态加载程序)

前言 前几篇博客基本上已经将filex、levelx、threadx、modulex、shell 组件大概都记录了一遍.本篇博客做个综合实际案例记录. 实现效果 代码程序 Modulex组件 源文件 /** Copyright (c) 2024-2024&#xff0c;shchl** SPDX-License-Identifier: Apache-2.0** Change Logs:…

2024年学浪的缓存怎么导出来

在自我成长的道路上&#xff0c;越来越多的朋友选择通过精选课程来提升自己。然而&#xff0c;面对那些服务期限有限的课程&#xff0c;怎样才能把握住知识的光芒&#xff0c;让它照亮未来的每一个角落&#xff1f;本文就教大家如何利用工具下载学浪app平台的课程 工具我已经打…

笔记本wifi连接外网 网线连接办公内网 设置路由实现内外网可同时访问

工作提供的办公网络是企业内网,接上企业内网网线后 通过无线在连接手机wifi ,会发现内外网无法同时访问,我自己电脑是接上内网网线 也是只能访问外网,除非把外网无线暂时关闭,才可以访问内网 频繁切换很不方便 1.查看外网无线 wifi网卡信息 IPv4 地址: 192.168.18.114 IP…

【Linux】iptables的应用

iptables 防火墙 防火墙是一种网络安全系统&#xff0c;它位于内部网络与外部网络&#xff08;如互联网&#xff09;之间&#xff0c;通过实施预定义的安全策略来控制网络间的通信。防火墙的主要目标是保护内部网络资源免受未经授权的访问、攻击或潜在威胁&#xff0c;同时允…

数据结构学习--环形链表

环形链表 我们在判断一个链表是否是环形的&#xff0c;即首尾相连&#xff0c;我们可以以使用快慢指针&#xff0c;如果快指针能再次追上慢指针&#xff0c;就说明该链表是环形的&#xff0c;这边可以举个操场跑步的例子&#xff0c;当操场是环形的&#xff0c;跑的快的&#…

开放式耳机哪个牌子好?热门开放式耳机合集,买前必看!

随着人们对运动健康的重视&#xff0c;越来越多的运动爱好者开始关注如何在运动中享受音乐。开放式蓝牙耳机凭借其独特的设计&#xff0c;成为了户外运动的理想选择。它不仅让你在运动时能够清晰听到周围环境的声音&#xff0c;保持警觉&#xff0c;还能让你在需要时与他人轻松…