更新时间:2022-09-26 09:37:45 来源:极悦 浏览819次
相信大家对for循环嵌套的使用已经有所了解,Java 中的嵌套 for 循环意味着一个 for 语句位于另一个 for 语句中。换句话说,嵌套在另一个 for循环中的 for 循环称为嵌套 for 循环。
嵌套的 for 循环由一个外部 for 循环和一个或多个内部 for 循环组成。每次外部 for 循环重复时,内部 for 循环重新进入并开始新的执行。
也就是说,每次外部for循环重复时,控件都会进入内部for循环内部。
我们可以在一个循环中放置许多循环。但是,建议不要超过三层嵌套循环,因为这会使程序看起来很笨拙。
在 Java 中使用嵌套 for 循环的一般语法如下:
// 外部 for 循环。
for(初始化;测试条件;增量)
{
// 内部 for 循环。
for(初始化;测试条件;增量)
{
// 内循环语句
}
// 外循环语句
}
让我们借助一个例子来理解它。
for(int i = 1; i <= 3; i++){
声明1;// 该语句将通过将 i 值从 1 更改为 3 来执行 3 次。
}
for(int j = 1; j <= 4; j++){
声明2;// 通过将 j 的值从 1 更改为 4,该语句将执行 4 次。
}
如果我们在第二个 for 循环中编写第一个 for 循环,它将如下所示:
for(int i = 1; i <= 3; i++)
{
声明1;// 将执行 3 次。
for(int j = 1; j <= 4; j++)
{
声明2;// 将执行 12 (3 * 4) 次。
}
}
1.在本例中,当 i = 1 时,从外部 for 循环开始执行,statement1 将执行一次。
2.现在,执行控制进入内部 for 循环。由于我们最初将控制变量 j 设置为 1,因此 statement2 将执行一次。
3.在本次执行后,j 的值将是 2,因为自增 1。然后 statement2 将再次执行。
4.像这样,内部 for 循环将执行 4 次,将 j 值从 1 更改为 4。这意味着 statement2 将在第一次执行外部 for 循环时执行 4 次。
5.当内部for循环执行完成时,执行控制权转到外部for循环。现在,i 的值将是 2,因为增量为 1。
这一次,执行的控制再次进入内部for循环,statement2将执行4次。
6.然后,控件再次进入外部 for 循环,i 的值将设置为 3。再次,内部 for 循环将执行 4 次。
这意味着 i 和 j 的值将更改为:
当 i = 1, j = 1, 2, 3, 4
i = 2, j = 1, 2, 3, 4
i = 3, j = 1, 2, 3, 4
在上述序列中,外部 for 循环将执行 3 次。因此,循环体内的 statement1 也将执行 3 次。
由于内部 for 循环将为每个 i 值执行 4 次,因此循环体内的 statements2 将执行 12 次。
同样,我们也可以在 for 循环中嵌套 while 循环或 do-while 循环,反之亦然。这些在 Java 中称为嵌套循环。
1.让我们编写一个程序,我们将在其中显示每次外部迭代的内部 for 循环的值,以及外部 for 循环的值。
程序代码1:
公共类 NestedForLoopEx {
公共静态无效主要(字符串 [] 参数)
{
// 外部 for 循环。
for(int i = 1; i <= 3; i++)
{
System.out.print(i+ "\n"); // 将执行 3 次。
// 内部 for 循环。
for(int j = 1; j <= 4; j++){
System.out.print(j+ " "); // 将执行 12 (3 * 4) 次。
}
System.out.println(" ");
}
}
}
输出:
1
1 2 3 4
2
1 2 3 4
3
1 2 3 4
正如您在输出中观察到的,在外部 for 循环的每次迭代期间,内部 for 循环内的语句执行 4 次。因此,外部 for 循环执行了 3 次,而内部 for 循环总共执行了 4 次。
2. 让我们编写 Java 程序来使用嵌套的 for 循环显示 1 和 2 的表。
程序代码2:
公共类表{
公共静态无效主要(字符串 [] 参数)
{
System.out.println("显示表格:");
// 外部 for 循环。
for(int i = 1; i <= 3; i++)
{
// 内部 for 循环。
for(int j = 1; j <= 10; j++){
System.out.println(i+ " * " +j+" = "+ (i*j));
}
System.out.println(" ");
}
}
}
输出:
显示表格:
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
1 * 10 = 10
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
2 * 10 = 20
1. 让我们编写 Java 程序来使用嵌套的 for 循环显示 * 的三角形。
程序代码3:
公共类 PatternEx {
公共静态无效主要(字符串 [] 参数)
{
System.out.println("显示*的直角三角形:");
// 外部 for 循环。
for(int i = 1; i <= 5; i++)
{
// 内部 for 循环。
for(int j = 1; j <= i; j++){
System.out.print("*"+ " ");
}
System.out.println(" ");
}
}
}
输出:
显示 * 的直角三角形:
*
* *
* * *
* * * *
* * * * *
2. 让我们创建一个Java 程序来显示一个数字三角形。
程序代码4:
公共类 PatternEx {
公共静态无效主要(字符串 [] 参数)
{
System.out.println("显示数字的直角三角形图案:");
// 外部 for 循环。
for(int i = 1; i <= 5; i++)
{
// 内部 for 循环。
for(int j = 1; j <= i; j++){
System.out.print(j+ " ");
}
System.out.println(" ");
}
}
}
输出:
显示数字的直角三角形图案:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
程序代码5:
公共类 PatternEx {
公共静态无效主要(字符串 [] 参数)
{
诠释 k = 1;
System.out.println("显示数字的直角三角形图案:");
// 外部 for 循环。
for(int i = 1; i <= 5; i++)
{
// 内部 for 循环。
for(int j = 1; j <= i; j++){
System.out.print(k+ " ");
}
System.out.println(" ");
k++;
}
}
}
输出:
显示数字的直角三角形图案:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
3. 让我们创建一个 Java 程序,使用嵌套的 for 循环显示以下模式。
程序代码6:
公共类 PatternEx {
公共静态无效主要(字符串 [] 参数)
{
System.out.println("数字显示模式:");
// 外部 for 循环。
for(int i = 5; i >= 1; i--)
{
// 内部 for 循环。
for(int j = 1; j <= i; j++) {
System.out.print(j+ " ");
}
System.out.println(" ");
}
}
}
输出:
数字显示模式:
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
4. 让我们编写程序代码以使用 Java 嵌套的 for 循环打印以下字母模式。
程序代码 7:
公共类 PatternEx {
公共静态无效主要(字符串 [] 参数)
{
System.out.println("显示字母图案:");
// 外部 for 循环。
for(int i = 65; i <= 69; i++)
{
// 内部 for 循环。
for(int j = 65; j <= i; j++){
char ch = (char)j;
System.out.print(ch+ " ");
}
System.out.println(" ");
}
}
}
输出:
显示字母图案:
一个
AB
美国广播公司
A B C D
ABCDE
程序代码 8:
公共类 PatternEx {
公共静态无效主要(字符串 [] 参数)
{
System.out.println("显示字母图案:");
// 外部 for 循环。
for(int i = 69; i >= 65; i--)
{
// 内部 for 循环。
for(int j = 65; j <= i; j++) {
char ch = (char)j;
System.out.print(ch+ " ");
}
System.out.println(" ");
}
}
}
输出:
显示字母图案:
ABCDE
A B C D
美国广播公司
AB
一个
以上就是关于“Java中for循环语句嵌套示例”的介绍,大就如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下Java for循环语句,相信会对大家的学习有所帮助的。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习