欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

for循环语句

程序员文章站 2022-07-13 14:10:57
...

目录

语法:

打断循环:

应用——(*)输出平行四边形、等腰三角形、菱形:


语法:

    格式:     

    for(表达式1;表达式2;表达式3){

           //若干语句(循环体)

      }

   执行规则:

  1. 计算表达式1,完成必要的初始化工作;
  2.  判断表达式2的值,若表达式2的值为true,则进行3,否则进行4;
  3. 执行循环体,然后计算表达式3,以便改变循环条件,进行2;
  4. 结束for语句的执行。

 流程图:

for循环语句

打断循环:

  1. continue:跳出一次循环;

  2. break:跳出一层循环;

  3. return:跳出方法,之后不能再跟其他代码;

  4. 标签。

   输出结果:

  • continue:

          for循环语句

  • break: 

for循环语句

  • return:

for循环语句

     可以看到在return后写输出语句,显示错误。

for循环语句

   j=0输出后结束main方法。

  • 标签

for循环语句for循环语句

 

   

 

 

 

 

 

    左侧代码跳出内层循环,效果同break;右侧代码跳出外层循环,效果同return,不同的是,其后可以继续写代码,不会报错。

 

应用——(*)输出平行四边形、等腰三角形、菱形:

  •       平行四边形:(主要代码)
    	/**
    	 * 输出平行四边形parallelogram
    	 * @param n 平行四边形的高(*)
    	 * @param j 平行四边形的长(*)
    	 */
    	public void para(int n,int j){
    		for (int i = 0;i < n ;i++){
    			for (int k = 0; k < i; k++){
    				System.out.print(" ");
    			}
    			for(int num = 0;num < j;num++){
    				System.out.print("*");
    			}
    			System.out.println();
    		}
    	}

    结果(输的入的是n=5,j=3):for循环语句

  • 等腰三角形:
	/**
	 * 输出三角形triangle
	 * @param n 三角形的高
	 */
	public void triangle(int n){
		for (int i = 0; i < n; i++) {
			for (int k = n - i; k > 0; k--) {
				System.out.print(" ");
			}
			for (int num = 0; num < 2 * i + 1; num++) {
				System.out.print("*");	
			}
			System.out.println();
		}

   结果(我输入的是n=4):for循环语句

   ps:可以看到最后一行前面仍有一个空格。因为行数i是0开始的,而n=4,n总比行数i大1,故最后仍有一个空格。

           k>1或者k = n - i - 1 可将前面空格去掉。

  • 倒立着的三角形:
	public void dTriangle(int n){
		for (int i = 0; i < n; i++) {
			for (int k = 0 ; k < i; k++) {
				System.out.print(" ");
			}
			for (int num = 0; num < 2 * (n - 1 - i) + 1; num++) {
				System.out.print("*");	
			}
			System.out.println();
		}
	}

 结果(我输入的n=4):for循环语句

ps:需要注意 在输出“*”的循环中num < 2 * (n - 1 - i) + 1,若n没有 -1.最后一行输出是三个*,因为n比行数i大1

  • 菱形

       菱形可以看作是一个正着的三角形+一个倒立的三角形

	/**
	 * 输出菱形rhombus
	 * @param n 整数,菱形高的一半
	 */
	public void rhom(int n){

		for (int i = 0; i < n; i++) {
			for (int k = n - i ; k >0; k--) {
				System.out.print(" ");
			}
			for (int num = 0; num < 2 * (i-1) + 1; num++) {
				System.out.print("*");	
			}
			System.out.println();
		}
		for (int i = 0; i < n; i++) {
			for (int k = 0 ; k < i; k++) {
				System.out.print(" ");
			}
			for (int num = 0; num < 2 * (n - 1 - i) + 1; num++) {
				System.out.print("*");	
			}
			System.out.println();
		}
	}

结果(我输入的n=3):for循环语句

ps:正着、倒立三角形合并时最后一行重复,所以在正着三角形输出*循环语句时num < 2 * (i-1) + 1删去最后一行重复的,也是第一行空白的原因。