for循环
1.为什么要使用for循环?
//在控制台输出5次“好好学习,天天向上!”
//通过while循环
int i=1;//初始化
while(i<=5){//循环条件
System.out.println(i+"好好学习,天天向上!");//循环的操作体
i++;//迭代
}
//通过for循环
for(int i=1;i<=5;i++){
System.out.println(i+"好好学习天天向上!");
}
1.相比while循环代码简洁
2.代码的阅读性高于while循环
2.for循环的应用场合?
当循环次数固定的情况,则选择for循环。
3.for循环的语法:
for(初始化;循环条件;迭代){
循环体;
}
for(int i=0;i<5;i++){
System.out.println("hello...");
}
4.for的执行流程
执行流程说明:
1.执行初始化:int i=1;
2.执行循环条件:i<=5;
3.当循环条件成立,则为true时,则执行循环体。如果循环条件为false,则循环结束。
4.再执行迭代,在进入2,条件判断,以此类推。
5.for循环的执行特点:
先判断,在执行。当初始条件不成立,则执行0次,和while循环一样。
6.案例1:从1-100,输出偶数
//从1-100,输出偶数,通过for循环实现
for(int i=1;i<=100;i++){
if(i%2==0){
System.out.println(i);
}
}
7.案例2:输出菱形
int rows=8;
forfor (int i = 1; i <= rows; i++) {
for (int j = 0; j < rows - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i * 2 - 1; j++) {
if (j == 1 || j == i * 2 - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
for (int i = 1; i <= rows - 1; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= (rows - 1 - i) * 2 + 1; j++) {
if (j == 1 || j == (rows - 1 - i) * 2 + 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
8.案例3:百钱百鸡:
// 百钱百鸡
int count=0;
/*for (int g = 0; g < 20; g++) {
for (int m = 0; m < 33; m++) {
int x = 100 - g - m;
if (x % 3 == 0 && g + m + x == 100 && 5 * g + 3 * m + x / 3 == 100) {
System.out.println("公鸡:" + g + ",母鸡:" + m + ",小鸡:" + x);
}
count++;
}
}*/
for (int g = 0; g <14; g+=4) {
int m=25-7*g/4;
int x=100-g-m;
if (x % 3 == 0 && g + m + x == 100 && 5 * g + 3 * m + x / 3 == 100) {
System.out.println("公鸡:" + g + ",母鸡:" + m + ",小鸡:" + x);
}
count++;
}
System.out.println("循环总次数:"+count);
分解如下:
5g+3m+(100-g-m)/3=100;
15g+9m+100-g-m=300
14g+8m=200
7g+4m=100
4m=100-7g
m=25-7g/4
25-7g/4>0
7g/4<25
7g<100
g<100/7