while循环
while(布尔表达式或布尔值){ 条件成立执行的代码..... }
如果while不加{}花括号的话,while下面只能接一条语句,如果接了多条语句,则除了第一条语句之外,剩下的语句均不属于while
for循环
for(表达式1; 布尔表达式2; 表达式3){ 条件成立执行的代码; }
表达式1为初始化部分,用于初始化循环变量的
布尔表达式2为条件判断部分,用于判断循环何时终止
表达式3为调整部分,用于循环条件的调整。(如i++)
for循环使用continue后会跳转到条件更新处,而不是条件判断处,条件更新后才会进行条件判断
continue中止本次循环,从而进行表达式3(也就是调整初始化值部分)
如果for不加{}花括号的话,for下面只能接一条语句,如果接了多条语句,则除了第一条语句之外,剩下的语句均不属于for
如果表达式1部分(初始化部分)不写,则循环内不自己定义初始化。沿用外面定义的值
如果布尔表达式2(条件判断部分)不写,则表示判断恒为真,即永远为真
如果表达式3(调整部分)不写,表示循环没有调整部分,则容易导致死循环
表达式1和表达式3可以写多个表达式,中间用,逗号分割
for循环执行流程
先进行表达式1,之后进行布尔表达式2,之后执行下面的代码,代码执行完后执行表达式3,之后再执行布尔表达式2,再执行下面的代码,再执行表达式3,以此类推
for-each循环
for-each 是 for 循环的另外一种使用方式,能够更方便的完成对数组与集合的遍历
for-each循环只能用于对数组与集合的遍历,也就是只能用于数组和集合,for-each循环底层其实就是创建迭代器对象、判断是否有下一个对象/元素、返回下一个对象/元素这些操作的一个整合
写法:for(数据类型 变量1 : 数组名){ 代码...... }
for-each循环每次循环从数组中读取一个元素放到变量1中去,直到将数组的所有元素全部读取一遍再结束
变量1的数据类型需要和数组里的元素的数据类型保持一致(其实也是需要和数组的类型保持一致)
do while 循环
不管循环满不满足条件,循环(do中的代码)都必须至少执行一次
do-while循环必须在结尾加上;分号
do{ 条件成立执行的代码(至少执行一次); }while(布尔表达式或布尔值);
break关键字
break关键字的功能是让循环提前结束
执行到 break 就会让循环结束
break会让break所在代码块的循环结束,或者说是会让距离它最近的循环结束(当然这个break需要属于这个循环)
在多重嵌套循环中,可以在指定循环的前面加上一个标签,之后再在指定break或continue的后面加上这个标签的标签名,表示当执行这个break或continue的时候,结束或跳过本次循环的是标签所在层的循环
标签写法:标签名:(在循环前面写)
continue关键字
continue 的功能是跳过本次循环,立即进入下次循环
continue会让continue所在代码块的循环跳过本次循环进入下一次循环,或者说是会让距离它最近的循环跳过本次循环进入下一次循环(当然这个continue需要属于这个循环)
在多重嵌套循环中,可以在指定循环的前面加上一个标签,之后再在指定break或continue的后面加上这个标签的标签名,表示当执行这个break或continue的时候,结束或跳过本次循环的是标签所在层的循环
标签写法:标签名:(在循环前面写)