栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java入门第三天2-java循环嵌套

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java入门第三天2-java循环嵌套

1、输出一个4行5列的星星(*)图案


  需求:输出一个4行5列的星星(*)图案。
  结果:
          *****
          *****
          *****
          *****

  循环嵌套:就是循环体语句本身是一个循环语句。
  
  结论:
          外循环控制的是行,内循环控制的是列

public class ForForDemo {
	public static void main(String[] args) {
		//原始的做法
		System.out.println("*****");
		System.out.println("*****");
		System.out.println("*****");
		System.out.println("*****");
		System.out.println("-------------------");
		
		//虽然我们完成了题目的要求,但是不好
		//假如我们有很多这样的要求,而且行和列是变化的
		//所以我们要改进目前的代码的写法
		//我要在一行上输出一颗*
		//System.out.println("*");
		//我要在一行上输出5颗*
		
		//之所以出现这样的结果,是因为System.out.println()每次把内容输出后加一个换行
		//有解决方案呢?有
		//用System.out.print()就可以解决
		
		
		
		//重复的代码执行多次,用循环改进
		for(int y=1; y<=4; y++) {
			for(int x=1; x<=5; x++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("-------------------");
		
		for(int y=1; y<=7; y++) {
			for(int x=1; x<=8; x++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}
2、循环嵌套练习 2.1、打印正三角形

 需求:请输出如下图形
            *
            **
            ***
            ****
            *****

public class ForForTest {
	public static void main(String[] args) {
		//通过简单的观察,我们发现这是一个5行的,列数变化的形状
		//首先来实现一个5行5列的形状
		for(int x=1; x<=5; x++) {
			for(int y=1; y<=5; y++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("----------------------");
		
		//虽然我们实现了一个5行5列的形状
		//但是这不是我们想要的
		//我们要的形状是列数变化的
		//怎么办呢?
		//第一行:1	y=1; y<=1
		//第二行:2	y=1; y<=2
		//第三行:3	y=1; y<=3
		//第四行:4	y=1; y<=4
		//第五行:5	y=1; y<=5
		//我们需要一个变量的变量是从1开始,到5结束
		int z = 1;
		for(int x=1; x<=5; x++) {
			for(int y=1; y<=z; y++) {
				System.out.print("*");
			}
			System.out.println();
			z++;
		}
		System.out.println("----------------------");
		
		//我们现在已经实现了我们的需求,但是我们继续观察会发现
		//第一次:x的值是1
		//第二次:x的值是2
		//...
		//x和z是一样的变化过程,这样的话,我们就可以省略z,直接用x替代
		for(int x=1; x<=5; x++) {
			for(int y=1; y<=x; y++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("----------------------");
	}
}
2.2、打印九九乘法表

需求:在控制台打印九九乘法表
t:转移字符,表示一个tab键的位置

public class ForForTest2 {
	public static void main(String[] args) {
		//先打印一个9行9列的星形(列是变化的)
		for(int x=1; x<=9; x++) {
			for(int y=1; y<=x; y++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("------------");
		
		
		for(int x=1; x<=9; x++) {
			for(int y=1; y<=x; y++) {
				System.out.print(y+"*"+x+"="+y*x+"t");
			}
			System.out.println();
		}
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004126.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号