for循环语句可以说是Java语言中最有效,最灵活的循环结构,一般用在循环次数已知的情况下。
一、for循环语法
1 for(initialization; condition; update){
2 statements;
3 }
语法解释:for语句执行时,首先执行初始化操作(initialization),然后判断终止条件表达式( condition)是否满足,如果满足终止条件,则退出循环。否则执行循环体中的语句,接着执行迭代部分(update),完成一次循环。下次循环从判断终止条件开始,根据结果进行相应的操作。
!注意:初始化操作(initialization)只在第一次循环时执行。
代码清单:
1.打印如下图形(倒立三角形)
1 public class ForDemo1{
2 piblic static void main(String[] args){
3 for(int i=0;i<5;i++){
4 for(int j=i;j<5;j++){
5 System.out.print("*");
6 }
7 System.out.println();
8 }
9 }
10 }
2.打印如下图形(正立三角形)
代码1:
1 public class Zhijiao{
2 public static void main(String[] args){
3 for(int i=0;i<5;i++){
4 for(int j=0;j<=i;j++){
5 System.out.print("*");
6 }
7 System.out.println();
8 }
9 }
10 }
(1)通过循环嵌套打印类似于这种图时,外循环控制行数,内循环控制列数,即每一行的个数。
(2)对于按行减少(倒立三角形)的图形,让内循环的初始化随着外循环变化,
如 int j=i;
(3)对于按行增加(正立三角形)的图形,让内循环条件随着外循环变化,如 j<=x;
3、打印九九乘法表
1 public class MultTable{
2 public static void main(String[] args) {
3 //使用for循环生成九九乘法表
4
5 System.out.println("九九乘法表");
6 for(int i=1;i<10;i++){
7 for(int j=1;j<=i;j++){
8 System.out.print(j+"*"+i+"="+(j*i)+"\t");
9 }
10 System.out.println();
11 }
12 }
13 }
看它打印出的形状像不像一个正立的三角形,每一行的都增加一个算式,就像打印上面(三、2题)的图形一样。让它的内循环条件随着外循环变化,从而循环打印出九九乘法表
4、打印等腰三角形
1 public class Dengyao {
2 public static void main(String[] args) {
3 for(int i=1;i<=5;i++){//i--控制行
4 for(int j=5-i;j>=0;j--){//j--控制空格的数量
5 System.out.print(" ");
6 }
7 for(int k=1;k<=2*i-1;k++){//k--控制*的数量
8 System.out.print("*");
9 }
10 System.out.println();//每循环一次换行
11 }
12 }
13 }
5、打印实心的菱形
1 public class Lingxing {
2 public static void main(String[] args) {
3 //首先把菱形看成上下,上五下四,所以第一个for有5次,第二个for4次
4 for(int i=1;i<=5;i++)
5 {
6 //将空格和*分开看,看" "的变化i=1时,他是4 ,2的时候是3找规律
7 for(int j=1;j<=5-i;j++)
8 System.out.print(" ");
9 for(int k=1;k<=2*i-1;k++)//找规律,i是 1 3 5 7 基数嘛
10 System.out.print('*');
11 //换一行
12 System.out.println();
13 }
14 for(int i=1;i<=4;i++)
15 {
16 for(int j=1;j<=i;j++)//空格 1 2 3 4 so
17 System.out.print(" ");
18 for(int k=7;k>=2*i-1;k--)//* 7 5 3 1倒着来的基数
19 System.out.print('*');
20 System.out.println();
21 }
22 }
6、打印空心的菱形
1 public class KongxinLingxing {
2
3 public static void main(String[] args) {
4 int num = 5;
5 for(int i=1;i<=num;i++){
6 for(int j=1;j<=num-i;j++){
7 System.out.print(" ");
8 }
9 for(int k=1;k<=2*i-1;k++){
10 if(k==1||k==2*i-1){
11 System.out.print("*");
12 }
13 else{
14 System.out.print(" ");
15 }
16 }
17 System.out.println();
18 }
19
20 for(int i=1;i<num;i++){
21 for(int j=1;j<=i;j++)
22 System.out.print(" ");
23 int count = 2*(num-i)-1;
24 for(int k=0;k<count;k++) {
25 if(k==0||k==count-1)
26 System.out.print("*");
27 else
28 System.out.print(" ");
29 }
30 System.out.println("");
31 }
32 }