网站首页 > java教程 正文
“嗨我是学长,今天的你过得还好吗?”
“这里是offer学院,帮你轻松拿offer”
- 2022.11.18 -
上一小节《Java入门!认识更加简洁的循环,for 循环语句「第11集」》我们学习了for循环的使用,其中怪异使用中,我们标注了尽可能不那样使用循环。但是在我们的实际开发工作中,不可避免地会使用到嵌套循环,在本小节中,我们来玩一下嵌套循环的使用吧。
一、嵌套循环
什么是嵌套循环?
嵌套循环是指在一个循环语句中再定义一个循环语句的语法结构。注意必须是包含关系,不能出现交叉。while、do...while、for 都可以进行循环嵌套,并且他们之间也可以互相嵌套。
在实际开发中,最常用的是 for 循环嵌套,所以我们以 for 循环来举例。
嵌套循环使用得好,会有以下优点:
- 使用嵌套语句 能解决我们相同代码的重复,以及硬编码
- 能更好地复用和扩展
语法结构:
for(初始化表达式; 循环条件; 操作表达式) {
...
for(初始化表达式; 循环条件; 操作表达式) {
执行语句
...
}
...
}
解析说明:
在双层for循环嵌套中
1、外层循环每执行一轮,都要执行完内层循环中的整个for循环
2、然后执行外层循环第二轮,接着再执行完内层循环中的整个for循环
以此类推,直至外层循环的循环条件不成立,才会跳出整个嵌套for循环。
如果外循环有 [MISSING IMAGE: , ] 次,内循环有 [MISSING IMAGE: , ] 次,那么内循环里的操作会执行 [MISSING IMAGE: , ] 次。
示例1
代码如下:
public class ForLoop {
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 4; j++) {
count ++;
System.out.println("第" + count + "次操作");
}
}
}
}
执行结果:
第1次操作
第2次操作
第3次操作
第4次操作
第5次操作
第6次操作
第7次操作
第8次操作
第9次操作
第10次操作
第11次操作
第12次操作
示例2
需求 打印乘法表
代码如下:
public class Demo12_2 {
public static void main(String[] args) {
// 外层循环,变量i控制输出1~9行
for (int i = 1; i <= 9; i++) {
// 内层循环,变量j控制输出1~i列
for (int j = 1; j <= i; j++) {
// 输出乘法算式
System.out.print(i + " × " + j + " = " + (i * j) + "\t");
}
// 控制外层循环进行换行
System.out.println();
}
}
}
二、循环跳出语句
循环跳出语句是如何实现的?
我们上小节也初步了解了break 和 continue的使用,在本段落,让我们在嵌套循环中,再一次领略这两个关键字的使用,和其中的差异吧。
break语句vs continue 语句。
示例代码:
public class Demo12_2 {
public static void main(String[] args) {
// 外层循环,变量i控制输出1~9行
for (int i = 1; i <= 9; i++) {
// 内层循环,变量j控制输出1~i列
for (int j = 1; j <= i; j++) {
// 输出乘法算式
System.out.print(i + " × " + j + " = " + (i * j) + "\t");
}
// 控制外层循环进行换行
System.out.println();
}
}
}
分析:
1、第一段代码中,大家执行后可以看到,外循环依然执行输出了9次,但是每行的列数不超过3,也就是每行最多只有3个乘法算式。
2、我们在内层循环中,想根据条件跳出外层循环时,只需要给循环取一个名字即可,例如案例中第二段代码块,当j = 3时,跳出外循环,只打印输出了前三行。
3、而在使用continue时,它只是跳出了对应符合条件的,循环并没有断。
小结:
在本节中,我们简单介绍了在实际开发中常用到的嵌套循环,并且使用中断,让大家知道如何跳出循环,跳出嵌套循环,希望大家下去之后,一定要多多练习。
?
也可以自己找一些题来练练手。
还是那句话:我亦无他,唯手熟尔!
我们下期再见!
END
文案编辑|offer学长
文案配图|offer学长
原创内容|胡老师原创
猜你喜欢
- 2024-11-03 详细总结Java for循环的那些坑(java的for循环中是如何执行的)
- 2024-11-03 11.Java中的 while 循环(java的for循环语句)
- 2024-11-03 传说级大佬总结的几道Java循环练习题(适合新人)
- 2024-11-03 java中的while循环(javado while循环)
- 2024-11-03 Java流程控制语句之循环结构--初学者适用
- 2024-11-03 Golang for 循环(golangfor循环特性改变)
- 2024-11-03 JavaScript for 循环(javascriptfor循环数字累加)
- 2024-11-03 java循环的这4种遍历方式,有些16K的程序员可能是懵逼的
- 2024-11-03 用了那么久的 Java For 循环,你知道哪种方式效率最高吗?
- 2024-11-03 for 、foreach 、iterator三种方式的比较
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)