一、for循环
1、语法结构
for(表达式1;表达式2;表达式3){
…代码块/循环体…
}
2、理解
表达式1–初始化变量
表达式2 – 判断条件
表达式3 – 更新变量
3、执行步骤
1.初始化变量
2.判断条件 – 结果必须是boolean类型
true – 执行代码块,然后更新表达式3的变量,然后重复第表达式2判断,继续执行代码块,依次循环,直到出现false
false - 跳出整个循环语句
4、for循环变形计
int i = 0;
for(;i<5;){
System.out.println("零基础学Java第五天");
++i;//先自增再使用
}
System.out.println(i);//系统输出打印:5遍用良心做教育,然后输出i的结果为5。
5、需求
1、打印1到10的数字
for(int i = 1;i<=10;i++){
System.out.println(i);
}
2、打印1到10的奇数数字
for(int i = 1;i<=10;i+=2){
System.out.println(i);
}
3、打印10到1的偶数数字
for(int i = 10;i>=1;i-=2){
System.out.println(i);
}
4、打印10到1的数字
for(int i = 10;i>=1;i--){
System.out.println(i);
}
6、案例分析
1、案例一
//循环录入5次int类型的数字,输出总和
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);//创建一个Scanner对象,用于读取标准输入
//先声明和的最初值为0
int sum=0;
for(int i=1;i<=5;i++){//用for循环,i从1开始是遍历,当i小于等于5时,i不断的累加,不断遍历
System.out.println("请输入第"+i+"个数字");//打印提示用户输入第几个数字
int num =scan.nextInt();//读取用户输入的整数并存储在变量num中
sum+=num;//num=(int)num+i 将数字进行累加
}
//遍历结束,开始打印
System.out.println("数字的和"+sum);
}
}
2、案例二
//循环录入麻生希同学的5门课成绩,计算平均分
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);//创建一个Scanner对象,用于读取标准输入
//先声明和与平均分的最初值为0
double sum=0;
double avg=0;
for(int i=1;i<=5;i++){//用for循环,i从1开始是遍历,当i小于等于5时,i不断的累加,不断遍历
System.out.println("请输入第"+i+"个数字");//打印提示用户输入第几个数字
double num =scan.nextDouble();//读取用户输入的整数并存储在变量num中
sum+=num;//num=(int)num+i 将数字进行累加
}
//遍历结束,开始打印
avg= sum/5 ;
System.out.println("平均分为:"+avg);
}
}
3、案例三
//循环录入5次int类型的数字,输出最大值
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);//创建一个Scanner对象,用于读取标准输入
System.out.println("请输入第1个数字")
//输入的第一个值可能就是最大值
int max =scan.nextInt();
for(int i=2;i<=5;i++){//用for循环,i从2开始是遍历,当i小于等于5时,i不断的累加,不断遍历
System.out.println("请输入第"+i+"个数字");//打印提示用户输入第几个数字
int num =scan.nextInt();//读取用户输入的整数并存储在变量num中
if(max<num){
max=num;
}
}
//遍历结束,开始打印
System.out.println("最大值为:"+max);
}
}
7、小结
1.重复性的工作就可以考虑使用循环
2.循环的好处是减少代码的冗余
3.在循环中定义的变量不能在循环外使用
4.for循环的更新变量使用++i和i++没有区别
二、for循环嵌套
1、需求
打印以下图形
****a
****a
****a
for(int i =0;i<3;i++){ //先给整数类型i赋值为0,当i<3时。进入下面语句 行
for(int j=0; j<4;j++){ //当i<3时,且整数类型j赋值为0,然后当j<4时,进入下面语句 列
System.out.print("*"); //当j<4时,打印*号后,返回到上面语句,完成j++
}
System.out.println("");
}
2、九九乘法表
//案例:九九乘法表
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++){
System.out.print(j + "x" + i + "=" + (i*j) + "\t");
}
System.out.println();
}
//案例:九九乘法表
for(int i = 1;i<=9;i++){
for(int k = 1;k<i;k++){
System.out.print("\t");
}
for(int j = i;j<=9;j++){
System.out.print(i + "x" + j + "=" + (i*j) + "\t");
}
System.out.println();