1.for
一. 循环结构
循环的四要素:
1.初始化条件
2.循环条件
3.循环体
4.迭代条件
二 格式:
for(初始化条件; 循环条件 ; 迭代条件){
循环体;
}
for(1; 2 ; 4){
3
}
1.初始化条件只执行一次
2.循环条件的结果为布尔类型,如果为true执行循环体,如果为false则跳出for循环结构
3.执行顺序: 1 -> 2 -> 3 -> 4 -> 2 -> 3 -> 4 …2
三 代码
//需求 :输出100以内的偶数,统计偶数的个数,求偶数的和。
int count = 0; //统计偶数的个数
int sum = 0; //偶数的和
for(int i = 1; i <= 100; i++){
//判断当前i的值是否是偶数
if(i % 2 == 0){
sum += i;
count++;
System.out.println(i);
}
}
System.out.println("count=" + count + " sum=" + sum);
2.while
一 循环结构
循环的四要素:
1.初始化条件
2.循环条件
3.循环体
4.迭代条件
二 格式:
初始化条件;
while(循环条件){
循环体;
迭代条件;
}
注意 :
1.必须有迭代条件否则会发生死循环。
2.for循环和while循环可以相互替换使用
三 代码:
//需求 :100以内的偶数,偶数的个数,偶数的总和
//初始化条件
int i = 1;
int count = 0; //统计偶数的个数
int sum = 0; //偶数的和
while(i <= 100){//循环条件
//循环体
if(i % 2 == 0){
sum += i;
count++;
System.out.println(i);
}
//迭代条件
i++;
}
System.out.println("count=" + count + " sum=" + sum);
四 while和for循环的区别?
while的初始化条件在结构外,for循环的初始化条件在结构内(也可以写在结构外)
3.do-while
二 格式:
初始化条件;
do{
循环体;
迭代条件;
}while(循环条件);
三 代码:
int i = 1;
do{
if(i % 2 == 0){
System.out.println(i);
}
i++;
}while(i <= 100);
四 while和do-while的区别?
while的循环体可能一次也不执行,do-while的循环体至少执行一次。
4.死循环
一 格式 :
for(;;){}
while(true){}
do{
}while(true);
注意:循环条件最好不要直接写成true。可以使用一个变量。
二 如何终止循环:
1.将循环条件的值变为false
2.使用break关键字用来终止循环
三 代码:
boolean boo = true;
while(boo){
boo = false;
}
while(true){
break;
}
5.嵌套循环
一 嵌套循环 :一个循环a作为另一个循环b的循环体。那么a循环叫作内层循环,b循环叫作外层循环
二 循环体执行的次数 = 外层循环的次数 * 内层循环的次数
三 说明 :
可以把外层循环看作行,内层循环看作列。
四 代码:
/*
需求1:
*****
*****
*****
*****
*****
*/
for(int j = 1; j <= 5; j++){ //外层循环控制行
for(int i = 1; i <= 5; i++){//内层循环控制列
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求2:
i j
* 1 1
** 2 2
*** 3 3
**** 4 4
***** 5 5
*/
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= i; j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求3:
i j
***** 1 5
**** 2 4
*** 3 3
** 4 2
* 5 1
*/
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= 6 - i; j++){
System.out.print("*");
}
System.out.println();
}
System.out.println();
System.out.println("------------------------------------------------");
/*
需求4:
i j k
----* 1 1 4
---* * 2 2 3
--* * * 3 3 2
-* * * * 4 4 1
* * * * * 5 5 0
*/
for(int i = 1; i <= 5; i++){
for(int k = 1; k <= 5 - i; k++){ //-
System.out.print(" ");
}
for(int j = 1; j <= i; j++){ //*
System.out.print("* ");
}
System.out.println();
}
6.break和continue
break :
使用范围 : 1.在switch-case中 2.在循环结构中
作用 :1.在switch-case结构中用来跳出switch-case结构 2.在循环 结构中用来终止当前循环
在嵌套循环中 :用来终止包含它的那个循环的当前循环
continue
使用范围 :循环结构中
作用 :在循环结构中用来终止当次循环
在嵌套循环中 :用来终止包含它的那个循环的当次循环
如何结束外层循环?
1.给外层循环起个名字 : name : for(;😉{}
2.break后面跟循环的名字 : break name;