for 循环
-
虽然所有循环结构都可以用while和do-while表示,但是Java提供了另一种语句——for循环,使一些循环结构变得更简单
-
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构
-
for循环执行的次数是在执行前就确定的
-
语法:
for(初始化;布尔表达式;更新){ // 代码语句 }
-
快捷键建立for循环:
// 例:建立100次的for循环: 100.for // 回车 // 就能得到自增类型的for循环: for (int i = 0; i < 100; i++) { // 循环体 } // 或者自减类型的for循环 for (int i = 100; i > 0; i--) { // 循环体 }
关于for循环有以下几点说明:
-
最先执行的是初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
-
然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
-
再次检测布尔表达式。循环执行上面的过程
代码:
//初始化//条件判断//迭代 for (; i < 100; i++) { // 初始化语句可以是空语句 // i < 100既是该for循环的布尔表达式,i满足条件后,代码才能继续往后执行 // i++ 是该for循环的迭代语句,作用是更新循环控制变量i(迭代因子控制循环变量的的增减) } for(;;){ // 这种for循环也是存在的,但是这种for循环是死循环 // 代码语句 }
练习
练习1:计算0到100之间的奇数和偶数的和
代码:
// 奇数和 int oddSum = 0; // 偶数和 int evenSum = 0; // i从0开始,每次递增1,到100为止 for(int i=0;i<100; i++){ if(i%2!=0){// 若为奇数,则加到oddSum里面 oddSum+=i; }else{// 若为偶数,则加到evenSum里面 evenSum+=i; } } System.out.println("奇数的和:"+oddSum); System.out.println("偶数的和:"+evenSum);
演示:
奇数的和:2500 偶数的和:2450
练习2:用while或for循环输出1-100之间能被5整除的数,并且每行输出3个
代码:
for (int i = 0; i < 100; i++) { if(i%5==0){ System.out.print(i+"\t"); // "/t"是制表符 } if(i%(5*3)==0){ // 每打印3个5的倍数就打印换行符"/n" System.out.print("\n"); // "/n"是换行符 } }
演示:
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
**补充:**println是printline的意思,输出完会换行,如果希望输出完不换行,可以用print
练习3:打印九九乘法表
代码:
for(int i=1;i<=9;i++){ // 嵌套循环,该循环称为外循环 // 第一个因数i从0到9,每次外循环i递增1 for(int j=i;j<=9;j++){ // 第二个因数j从i到9,每次内循环j递增1 System.out.print(i*j+"\t"); // 每次内循环输出i和j的积但不换行 } System.out.print("\n"); // 每次外循环输出一次换行符"\n" }
演示:
1 2 3 4 5 6 7 8 9 4 6 8 10 12 14 16 18 9 12 15 18 21 24 27 16 20 24 28 32 36 25 30 35 40 45 36 42 48 54 49 56 63 64 72 81