-
2020-04-08 12:17:09
跳出单个循环:continue
for (int i = 0; i <5 ; i++) { if (i == 3) { continue; } System.out.print(i + " "); }
输出:
0 1 2 4
跳出一层for循环:
for (int i = 0; i <5 ; i++) { if (i == 3) { break; } System.out.print(i + " "); }
输出:
0 1 2
跳出两层for循环:
tag: for (int i = 0; i < 5; i++) { for (int j = 0; j < 3; j++) { if (i == 2) { break tag; } System.out.println("*****"); } } // 这里外层循环执行两次就终止了
输出:
***** ***** ***** ***** ***** *****
总结:
利用标签,跳出标签所在的循环
更多相关内容 -
多重for循环嵌套
2017-05-27 08:15:07for循环定义: 同过一个简单的表达式,...一个复杂的for循环中可以嵌套多个同级的for循环,一般表现如下: for(变量初始值;变量取值范围;变量自增/自减){ for(变量初始值;变量取值范围;变量自增/自减){ /for循环定义:
同过一个简单的表达式,来完成多次重复性的代码功能;格式如下:
for(变量初始值;变量取值范围;变量自增/自减){
//代码块;
}
一个复杂的for循环中可以嵌套多个同级的for循环,一般表现如下:
for(变量初始值;变量取值范围;变量自增/自减){
for(变量初始值;变量取值范围;变量自增/自减){
//代码块
}
for(变量初始值;变量取值范围;变量自增/自减){
//代码块
}
}
多重for循环的执行顺序是,最外面的for循环执行一次,里面的同层级的for循环就会执行一轮;举个例子,用“*”输出一个4*4的正方形。“`
这里写代码片
package com.for.rumple;public class ForTest {
public static void main(String[] args) { //第一层for循环用来控制输出的行数; for (int i = 1; i <= 4; i++) { //第二层for循环用来控制输出的列数; for (int j = 1; j <= 4; j++) { System.out.print("*"); } //外层的for执行一次,就 System.out.println(); } }
}
效果图:
下面展示一个三层for循环打印的图案:
源码:
package com.for.rumple;public class ForTest01 {
public static void main(String[] args) { for (int i = 1; i <= 5; i++) { for (int k = 5 - i; k > 0; k--) { System.out.print("-"); } for (int j = 1; j < 2 * i; j++) { System.out.print("*"); } for (int k = 5 - i; k > 0; k--) { System.out.print("-"); } System.out.println(); } }
}
效果图(分两张讲解):
-
多重for循环嵌套中语句的执行次数
2019-08-11 20:13:23for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { for (int k = j + 1; k < n; k++) { count++; } } } 以上代码中,求count++语句的执行次数。 其实这段代码中求count++...实例代码
for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { for (int k = j + 1; k < n; k++) { count++; } } }
以上代码中,求
count++
语句的执行次数。其实这段代码中求
count++
语句的执行次数等价于:从n个整数中取出三个整数的组合总共有多少种(不考虑顺序,1,2,3 2,3,1 等算一种)。求解过程
n > 2 时 : n>2时: n>2时:
当 i = 0 时 , j = 1 ∼ ( n − 1 ) , c o u n t 的 执 行 次 数 为 ( ( n − 1 ) − 1 ) + ( n − 3 ) + ( n − 4 ) + ⋯ + 2 + 1 当i=0时,j=1\sim (n-1),count的执行次数为((n-1)-1)+(n-3)+(n-4)+\cdots+2+1 当i=0时,j=1∼(n−1),count的执行次数为((n−1)−1)+(n−3)+(n−4)+⋯+2+1
当 i = 1 时 , j = 2 ∼ ( n − 1 ) , c o u n t 的 执 行 次 数 为 ( ( n − 1 ) − 2 ) + ( n − 4 ) + ( n − 5 ) ⋯ + 2 + 1 当i=1时,j=2\sim (n-1),count的执行次数为((n-1)-2)+(n-4)+(n-5)\cdots+2+1 当i=1时,j=2∼(n−1),count的执行次数为((n−1)−2)+(n−4)+(n−5)⋯+2+1
当 i = 2 时 , j = 3 ∼ ( n − 1 ) , c o u n t 的 执 行 次 数 为 ( ( n − 1 ) − 3 ) + ( n − 5 ) + ⋯ + 2 + 1 当i=2时,j=3\sim (n-1),count的执行次数为((n-1)-3)+(n-5)+\cdots+2+1 当i=2时,j=3∼(n−1),count的执行次数为((n−1)−3)+(n−5)+⋯+2+1
⋮ \vdots ⋮
当 i = n − 3 时 , j = ( n − 2 ) ∼ ( n − 1 ) , c o u n t 的 执 行 次 数 为 1 当i=n-3时,j=(n-2)\sim (n-1),count的执行次数为1 当i=n−3时,j=(n−2)∼(n−1),count的执行次数为1
当 i = n − 2 时 , j = ( n − 1 ) , c o u n t 的 执 行 次 数 为 0 当i=n-2时,j=(n-1),count的执行次数为0 当i=n−2时,j=(n−1),count的执行次数为0
可以看出,每次
i
产生变化时,count++
语句的执行次数都是一个等差数列,可由等差数列求和公式:
S n = n ( a 1 + a n ) 2 = 1 + 2 + ⋯ + n = n ( 1 + n ) 2 = n 2 + n 2 S_n=\frac{n(a_1+a_n)}{2}=1+2+\cdots+n=\frac{n(1+n)}{2}=\frac{n^2+n}{2} Sn=2n(a1+an)=1+2+⋯+n=2n(1+n)=2n2+n
count++
总执行次数 S n : S_n: Sn:
S n = ( n − 2 ) 2 + ( n − 2 ) 2 + ( n − 3 ) 2 + ( n − 3 ) 2 + ⋯ + 2 2 + 2 2 + 1 2 + 1 2 = ( ( n − 2 ) 2 + ( n − 3 ) 2 + ⋯ + 2 2 + 1 2 ) + ( ( n − 2 ) + ( n − 3 ) + ⋯ + 2 + 1 ) 2 S_n=\frac{(n-2)^2+(n-2)}{2}+\frac{(n-3)^2+(n-3)}{2}+\cdots+\frac{2^2+2}{2}+\frac{1^2+1}{2}\\ =\frac{((n-2)^2+(n-3)^2+\cdots+2^2+1^2)+((n-2)+(n-3)+\cdots+2+1)}{2} Sn=2(n−2)2+(n−2)+2(n−3)2+(n−3)+⋯+222+2+212+1=2((n−2)2+(n−3)2+⋯+22+12)+((n−2)+(n−3)+⋯+2+1)
再由公式:
1 2 + 2 2 + ⋯ + n 2 = n ( n + 1 ) ( 2 n + 1 ) 6 1^2+2^2+\cdots+n^2=\frac{n(n+1)(2n+1)}{6} 12+22+⋯+n2=6n(n+1)(2n+1)
得:
S n = ( n − 2 ) ( n − 2 + 1 ) ( 2 ( n − 2 ) + 1 ) 6 + ( n − 2 ) 2 + ( n − 2 ) 2 2 = n ( n − 1 ) ( n − 2 ) 6 S_n=\frac{\frac{(n-2)(n-2+1)(2(n-2)+1)}{6}+\frac{(n-2)^2+(n-2)}{2}}{2}\\ =\frac{n(n-1)(n-2)}{6} Sn=26(n−2)(n−2+1)(2(n−2)+1)+2(n−2)2+(n−2)=6n(n−1)(n−2)
0 < n < 2 时 : 0<n<2时: 0<n<2时:count++
的执行次数为0, n > 2 n>2 n>2的公式仍适用于 0 < n < 2 0<n<2 0<n<2的情况。即:
count++
语句的执行次数为 n ( n − 1 ) ( n − 2 ) 6 \frac{n(n-1)(n-2)}{6} 6n(n−1)(n−2)参考文章
-
嵌套多重for循环案例:
2022-06-15 09:11:50for循环篇1.金子塔篇
运行结果:
注:外层循环控制行数,内层循环分别控制星星和空格数;
eg2:九九乘法表:
运行结果:
2.break的使用:使用break结束当前循环结构(只能使用在switch和循环之内)
* break语句
* 作用场景:
* 在switch选择结构中和循环结构中
* 作用:
* 在switch选择结构中遇到break,结束整个switch选择结构,执行switch选择结构后面的代码
* 在循环结构中遇到break,结束循环后续所有操作,跳出整个循环结构,执行循环结构后面的代码
* 注意:
* (1)break语句只能作用在switch选择结构和循环结构中
* (2)break语句一般结合条件语句一起使用,因为结束某个代码是需要条件
*/
3.跳转外部循环运行结果:
-
MATLAB多重for循环嵌套的提速问题
2019-09-11 22:11:32目前全部使用的是for循环进行赋值,这样运算速度非常慢,请问该怎样提高运算速度? 代码部分如下: ``` OP.B_1 = 0.1:0.1:1.8; OP.B_2 = 0.1:0.1:1.8; OP.B_3= 0.1:0.1:1.8; OP.B_4 = 0.1:0.1:1.8; OP.B_5... -
在Python中优化多重嵌套for循环
2020-11-27 22:08:59以下是测试代码,我的实际代码看起来几乎相似,其中我使用原始矩阵而...在Python中优化多重嵌套for循环import timeimport numpy as npa = 1000b = 500sum2,sum3,sum4 = 0t0 = time.time()x = np.random.random(a*a)... -
python 多层for循环嵌套的优化方法
2020-03-11 14:20:40题目:有5个长度不一的数组a1、a2、a3、a4、a5,现各从数组中取出一个数,组成...题目挺简单,看一下就明白,然后第一时间用了一堆for循环,脚本如下: a1 = [1,2,4] a2 = [2,3,4,5] a3 = [1,4,7] a4 = [3,6,7,8] a5... -
优化python中的多个嵌套for循环
2021-02-10 05:23:11如何优化此嵌套for循环。我知道在python中是可能的,但是我不能这样做。在import timeimport numpy as npa = 1000b = 500sum2,sum3,sum4 = 0t0 = time.time()x = np.random.random(a*a).reshape([a,a])for ... -
Python,避免丑陋的嵌套for循环
2021-01-28 23:51:29为了避免这些嵌套for循环,我做了很多尝试,但都没有成功。我的数据输入如下:[{"province_id": "1","name": "HCM","districts": [{"district_id": "1","name": "Thu Duc","wards": [{"ward_id": "1","name": "Linh ... -
多个for循环嵌套会影响速度
2019-04-29 09:51:00在复现Meta-SR的过程中,发现如果嵌套多个for 循环会使速度过慢。这是下面实验得出的结论: Corder = torch.ne(ouput[0,0,:,:],np.NAN)# Corder = []# for i in range(outH):# for j in range(outW):# i1,j1 = i/... -
C++学习总结(四):for循环+嵌套语句
2020-11-14 09:06:441、 for循环语句 作用:满足循环条件,执行循环语句 语法:for(起始表达式;条件表达式;末尾循环体){循环语句;} 先执行起始表达,然后打印,在执行判断条件,在执行末尾循环体。 练习案例:敲桌子 家例描述:从1开始... -
双重for循环(嵌套for循环)
2021-10-13 16:20:32双重for循环就是在一个for循环里在嵌套另一个for循环,即两个循环嵌套,还有多重循环嵌套的情况,但用的比较少,一般常用的是两个循环嵌套,很少使用多重循环,因为for循环多了会导致代码执行的效率低,而且容易死机... -
for循环多重嵌套的流程图
2020-02-21 16:51:37 -
多个for循环嵌套的break
2020-10-26 23:44:34单独break在内层,如下这种遇到只是跳出内层for循环 public static void main(String[] args) { for(int i=0;i<10;i++){ for (int j=0;j<10;j++){ if (j==2){ System.out.println("数字:"+j+"\n"); break... -
多个for循环嵌套的break、continue
2021-07-21 16:53:25首先来看break情况,...在内层break只能跳出break所在for循环,不能跳出外层循环 public static void main(String[] args) { for(int i=0;i<10;i++){ for (int j=0;j<10;j++){ if (j==2){ break; } } -
Java跳出多重嵌套循环
2020-12-22 18:36:41我们可以在循环体开头设置一个标志位,也是设置一个标记,然后使用带此标号的break语句跳出多重循环。 public class BreaklFor { public static void main(String args[]){ OK: //设置一个标记 使用带此标记... -
使用多重处理的嵌套for循环
2021-01-14 14:08:13在使用嵌套循环构造n-d坐标然后对其进行操作的模式可以使用```numpy.meshgrid````将矢量化d。如果不知道你的实际计算,这种方法是无法测试的。在import numpy as npa = np.array([0,1,2])b = np.array([10,11,12])c ... -
多重嵌套循环
2022-07-04 15:38:071.将一个循环放在另一个...2.嵌套循环就是把内层循环当成了外层循环的循环体,当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层循环的当次循环,开始下一次的循环 案例: for(int a = 1;a... -
Java用for循环嵌套输出菱形
2021-12-18 19:07:54public class symbol2 { //记得修改文件名 public static void main(String[] args) { ... for(i=1;i<=9;i++) { for(j=1;j<=9-i;j++) System.out.print(" "); for(j=1;j<=2*i-1;j++) S... -
关于For循环嵌套的简单理解
2018-11-25 14:50:14一个循环结构内可以含有另一个循环,称为循环嵌套,又称多重循环。常用的循环嵌套是二重循环,外层循环称为 外循环,内层循环称为内循环。 二:双重循环: 1.双重循环结构 for (循环变量初始化;终止条件表达式;循环... -
python基础教程:Python中在for循环中嵌套使用if和else语句的技巧
2021-01-21 16:45:13Python的语法糖非常强大,比如Python中在for循环中嵌套使用if和else语句的技巧便十分给力,下面我们就举几个例子来看详细的用法: for…[if]…构建List (List comprehension) 1.简单的for…[if]…语句 Python中,for... -
在Java中如何跳出当前的多重嵌套循环?
2020-12-22 17:50:06在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。例如: ok: for(int i=0;i<10;i++) { for(int j=0;j<10;j++) ... -
python-for循环-嵌套循环-函数
2022-01-20 21:43:02for循环和可迭代对象遍历 for循环通常用于可迭代对象的遍历。for 循环的语法格式如下: for变量in 可迭代对象 : 循环体语句 [操作]遍历一个元组或列表 for x in (20,30,40): print(x*3) 可迭代对象 Python... -
java for循环 嵌套for循环-标签使用
2021-04-11 15:34:50continue和break可以改变循环的执行流程,但在多重循环中,这两条语句无法直接从内层循环跳转到外层循环。在C语言中,可以通过goto语句实现多重循环的跳转,但在非循环结构中使用goto语句会使程序的结构紊乱,可读性... -
python中for循环嵌套的执行顺序理解
2020-10-02 22:46:50for r in [1,2,3]: ... 循环嵌套 1.外层判断循环条件,满足进入外层循环体 2.内层判断循环条件,满足进入内层循环 3.内层循环体执行 4.内层循环如果满足条件,就一直执行,直到不满足内层条件,退出执.