For基础
For
-
虽然所有循环结构都可以用while和do...while表示,但Java提供了另一种语句—for循环,使得一些循环结构变得简单
-
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
-
for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){ //代码语句 }- 100.for 回车idea自动生成语句
for (int i = 0; i < 100; i++) { //代码语句 }package com.sgz.structure; public class ForDemo01 { public static void main(String[] args) { int a = 1;//初始化条件 while(a<=100){//条件判断 System.out.println(a);//循环体 a+=2;//a=a+2 迭代 } System.out.println("while循环结束!"); //初始化值//条件判断//迭代 for(int i=1;i<=100;i++){ System.out.println(i); } System.out.println("for循环结束!"); } }-
注意点:关于for循环的以下几点说明
for (int i = 0; i < 100; i++) {//代码语句} //最先 然后 迭代- 最先,执行初始化步骤。可以声明一种类型,但可以初始化一个或多个循环控制变量,也可以是空语句。
- 然后,检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
- 再次检测布尔表达式,循环执行上面的过程。
-
死循环
for(,,){}
练习题
-
计算1-100之间的奇数和偶数的和(ForDemo02)
public class ForDemo02 { public static void main(String[] args) { //练习1:计算0到100之间的奇数和偶数的和 int oddSum = 0;//首字母小写和驼峰原则 int evenSum = 0; for (int i = 0; i <=100; i++) { if (i%2!=0){ oddSum+=i;//oddSum=oddSum+i } else{ evenSum+=i; } } System.out.println("奇数的和:"+oddSum); System.out.println("偶数的和:"+evenSum); } } //输出 奇数的和:2500 偶数的和:2550 -
用while或者for循环输出1-1000之间能被5整除的数,且每行输出3个
- print是输出所有结果都在一行,且结果与结果之间无空格,需要空格加\t
- println是输出一次结果换一行
- print放在循环里可以达到每一次都输出的效果
package com.sgz.structure; public class ForDemo03 { public static void main(String[] args) { for (int i = 0; i < 1000; i++) { if(i%5==0){ System.out.print(i+"\t");//\t是每输出一个都带个空格 /*println是输出完一次换一行 print是输出完不换行 */ } if (i%(5*3)==0){//每行三个 System.out.println();//println是输出完一次所有结果换一行,放这里刚刚好三个换一行 // System.out.println("\n"); } } } } //结果 0 5 10 15 20 25 30 35 40 45 50 55 60 ... 965 970 975 980 985 990 995 -
输出九九乘法表
-
首先写出一列
package com.sgz.structure; public class ForDemo04 { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { System.out.print(1+"*"+i+"="+(1*i)+"\t"); } } } //输出结果 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 -
让1变成1-9,所以把上面的嵌套进另一个for循环里,这里通过int j来控制1-9
- \t 是空格的意思
package com.sgz.structure; public class ForDemo04 { public static void main(String[] args) { for (int j = 1; j <= 9; j++) { for (int i = 1; i <= 9; i++) { System.out.print(j+"*"+i+"="+(j*i)+"\t"); } } } } //输出结果,均在一行输出 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 ... 9*6=54 9*7=63 9*8=72 9*9=81 -
让一次循坏内的结果在一行,不在一次循环内的结果换一行
package com.sgz.structure; public class ForDemo04 { public static void main(String[] args) { for (int j = 1; j <= 9; j++) { for (int i = 1; i <= 9; i++) { System.out.print(j+"*"+i+"="+(j*i)+"\t"); } System.out.println( ); } } } //输出结果 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 -
去掉重复的内容,i<j
package com.sgz.structure; public class ForDemo04 { public static void main(String[] args) { for (int j = 1; j <= 9; j++) { for (int i = 1; i <= j; i++) { System.out.print(j+"*"+i+"="+(j*i)+"\t"); } System.out.println( );//只要i>j就竖向打印 } } } //输出结果 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 -
小调整,最终代码
package com.sgz.structure; public class ForDemo04 { public static void main(String[] args) { for (int j = 1; j <= 9; j++) { for (int i = 1; i <= j; i++) { System.out.print(i+"*"+j+"="+(i*j)+"\t"); } System.out.println( ); } } } //输出结果 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
-

浙公网安备 33010602011771号