Java的for循环及练习

Java的for循环及练习

  • 虽然所有循环结构都可以用while或者do...while表示,但Java提供了另一种语句 for循环,使一些循环结构变的更加简单。

  • for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

  • for循环执行的次数是在执行前就确定的,语法如下:

    for(初始化;布尔表达式;更新){
        //代码语句
    }
    
  • for循环的几点说明:

    • 最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
    • 然后,检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句。
    • 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
    • 再次检测布尔表达式,循环以上过程。
//死循环
for(;;){
    
}

增强for循环

  • Java5引入 一种主要用于数组或集合的增强型for循环

  • Java增强for循环语法如下

    for(声明语句:表达式){
        //代码句子
    }
    
  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

  • 表达式:表达式是要访问的数组名,或者是返回数组的方法。

package com.cnblogs;
/*
本类用于测试增强for循环
*/
public class TestFor {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};//定义了一个数组
        //遍历数组的元素
        for(int x:numbers){
            System.out.println(x);
        }
    }
}

for循环练习

【经典】打印九九乘法表:

package com.cnblogs;
//九九乘法表
public class Demo {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+"*"+i+"="+(i*j)+"\t");
            }
            System.out.println();
        }
    }
}

打印三角形相关练习:

package cn.tedu.work;
/*
本类用于打印左直角三角形

*
**
***
****
*****

*/
public class TestTriangle1 {
	public static void main(String[] args) {
		for(int i =1 ; i < 6 ; i++) {
			for(int j = 1 ; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

package cn.tedu.work;
/*
 本类用于打印等腰三角形

    *
   ***
  *****
 *******
*********

*
*/
public class TestTriangle2 {
	public static void main(String[] args) {
		for(int i = 1 ; i < 6 ; i++) {
			for(int j = 5 ; j > i ; j--) {
				System.out.print(" ");
			}
			for(int j = 1 ; j <= i ; j++) {
				System.out.print("*");
			}
			for(int j = 1;j < i; j++) {
				System.out.print("*");
			}
			
			//优解
//			for(int k=1;k<=i*2-1;k++){
//                System.out.print("*");
//            }
			System.out.println();
		}
	}
}

package cn.tedu.work;
/*
本类用于打印等腰三角形
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 
*/
public class TestTriangle3 {
	public static void main(String[] args) {
		for(int i = 1 ; i < 6; i++) {
			for(int j = 5; j > i; j--) {
				System.out.print(" ");
			}
			for(int j = 1; j <= i; j++) {
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

package cn.tedu.work;
/*
 本类用于打印菱形
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
     
*/
public class TestTriangle4 {

	public static void main(String[] args) {
		for(int i = 1; i < 6; i++) {
			for(int j = 5; j > i ; j--) {
				System.out.print(" ");
			}
			for(int j = 1; j <= 2*i-1; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		for(int i = 1; i < 6; i++) {
			for(int j = 1; j <= i ; j++) {
				System.out.print(" ");
			}
			for(int j = 7; j >= 2*i-1; j--) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

package cn.tedu.work;
/*
 * 本类打印数字金字塔
 	 						1	
 	 	 	 	 	 	1	2	1	
 	 	 	 	 	1	2	4	2	1	
 	 	 	 	1	2	4	8	4	2	1	
 	 	 	1	2	4	8	16	8	4	2	1	
 	 	1	2	4	8	16	32	16	8	4	2	1	
 	1	2	4	8	16	32	64	32	16	8	4	2	1	
1	2	4	8	16	32	64	128	64	32	16	8	4	2	1	

*/
import java.lang.Math;

public class TestTriangle5 {

	public static void main(String[] args) {
		for(int i = 0; i < 8; i++) {
			for(int j = 7 ;j > i ; j--) {
				System.out.print(" \t");
			}
			for(int j = 0 ; j <= i ; j++) {
				System.out.print((int)Math.pow(2, j) + "\t");
			}
			for(int j = i - 1; j >= 0; j--) {
				 System.out.print((int)Math.pow(2, j) + "\t");
			}
			System.out.println();
		}

	}

}

package cn.tedu.work;
/*
 * 本类用于打印爱心
 * 
     ******         ******
   **********     **********
 ************** **************
*******************************
*******************************
*******************************
 *****************************
   *************************
     *********************
       *****************
         *************
           *********
             *****
               *

*/
public class TestCompassion {

	public static void main(String[] args) {
		for(int i = 1 ; i <= 3 ; i++) {
			for(int j = 5 ; j >= 2 * i - 1 ; j--) {
				System.out.print(" ");
			}
			for(int j = 1 ; j <= 4 * i + 2 ; j++) {
				System.out.print("*");
			}
			for(int j = 9 ; j > 3 * i - 1 ; j--) {
				System.out.print(" ");
			}
			for(int j = 2 ; j >= i ; j--) {
				System.out.print(" ");
			}
			for(int j = 1 ; j <= 4 * i + 2 ; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		for(int i = 1 ; i <= 3 ; i++) {
			for(int j = 1 ; j <= 31 ; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		for(int i = 1 ; i <= 8 ; i++) {
			for(int j = 1; j <= 2 * i - 1; j++) {
				System.out.print(" ");
			}
			for(int j = 29 ; j >= 4*i-3; j--) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}
posted @ 2021-07-05 11:31  贪玩的阿柒  阅读(393)  评论(0编辑  收藏  举报