for循环语句

目录

语法:

打断循环:

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


语法:

    格式:     

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

           //若干语句(循环体)

      }

   执行规则:

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

 流程图:

打断循环:

  1. continue:跳出一次循环;

  2. break:跳出一层循环;

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

  4. 标签。

   输出结果:

  • continue:

          

  • break: 

  • return:

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

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

  • 标签

 

   

 

 

 

 

 

    左侧代码跳出内层循环,效果同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):

  • 等腰三角形:
	/**
	 * 输出三角形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):

   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):

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):

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值