`
wuqiwei
  • 浏览: 21092 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员—程序流程控制 循环结构 嵌套巩固练习及小结

 
阅读更多
class forfortest //嵌套巩固练习及小结
{
	public static void main(String[] args) 
	{

/*复习上节课内容 先自己写一遍

1.输出:
				*****
				****
				***
				**
				*

		观察有五行 列元素数目有规律递减 所以使用外循环控制行 内循环控制列
*/
		for (int x=5;x>0;x--)
	{
		for (int y=x;y>0 ;y--)
		{
			System.out.print("*");
		}
		System.out.println();
	}

/*

2.输出:
				*
				**
				***
				****
				*****

*/
		for (int x=5;x>0;x--)
	{
		for (int y=5;y>=x ;y--)
		{
			System.out.print("*");
		}
		System.out.println();
	}



		System.out.println("-----------------自己的方法---------------");


/*老师的方法及规律(改变内循环)

		规律:尖朝下,可以改变内循环初始化值(使初始化值y=x),使内循环初始
		化值随着外循环变化。
*/
		for (int x=0; x<5 ;x++) //外循环控制行 有5行 所以是x<5
	{
		for (int y=x; y<5 ; y++)
		{
			System.out.print("*");
		}						
			System.out.println();
			//x++;		
	}
	 
/*		规律:尖朝上,可以改变内循环条件(即使循环条件表达式y<=x),使内循环
		条件随着外循环的x值进行变化。
*/
		for (int x=0;x<5;x++)
	{
		for (int y=0;y<=x ;y++ )
		{
			System.out.print("*");
		}
			System.out.println();		
	}	

	System.out.println("---------------老师的方法-----------------");

/*
小结一:	  不论是通过改变外循环还是内循环的初始化值,条件表达式 			
	        都是为了建立y与x之间的关系 不仅让大圈套小圈 而且要让他们互动
			起来 而需求中的行列的变化 元素的变化 其实就是我们代码中x y的
			变化 建立起x y间的联系 就等于建立起了行列的联系 这样问题就迎刃
			而解了 就像毕老师说的那样 有了思想代码自然就出来了 编程玩的就
			是思想   //干什么不是玩的思想呢 呵呵

*/

/*接着继续打印
		1
		12
		123
		1234
		12345
		
		昨天的示意图没有白写 可以很容易地看出 内循环的y=1
		而且内循环 循环后的操作表达式(动作)还是y++ 所以:
*/
		for (int x=1;x<=5 ;x++ )
		{
			for (int y=1;y<=x ;y++ )
			{
				System.out.print(" "+y);
			}
				System.out.println();
		}

	System.out.println("--------------乘法口诀引子------------------");


/*打印九九乘法表
		1*1=1
		1*2=2 2*2=4
		1*3=3 2*3=6 3*3=9	

		思路:直觉有可能是三个for
	  1.每个内循环需要定义一个变量和一个固定值 变量自增(可以是行数的x)
		固定值(应该是循环表达式 即范围)即是所在行 也可以是x //那也就是一
		个变量了
	  2.2个循环就够
	  3.除了前两步中的备注 想说的一点是 这个循环中是没有固定值的 只有控制
	    起初固定的值的循环后操作表达式 和范围(循环表达式 控制循环停止) 
*/
		for (int x=1;x<=9 ;x++ )
	{
			for (int y=1;y<=x ;y++)
		{
			//System.out.print(y+"*"+x+"="+y*x+" ");//怎么能加ln呢!!!

			System.out.print(y+"*"+x+"="+y*x+"\t");	

/*
新的知识点:制表符 "\t"  替换空格后 就会整体美观了 换码符'\t',表示水平制表位
(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置,使得后面的输入
从此开始。换句话说,如果所有的数据都紧跟在制表符后面输出。
*/ 
		}
			System.out.println();
	}
/*
小结二:自己虽然开始思路有些乱 不过还是写出来了 虽然脑子里也想乘数和被乘数
	   的事了 但是没有像老师那样挨个的分析  以后写思路的时候要注意 尽量考
	   虑到所有的细节 重新写下:
	   
	   1.观察到每行的开始被乘数都是1 所以可以想到内循环里的循环初始化表达
	     式就是 int y=1;//不要丢;   
	   2.接着看到共有3行 所以外循环的初始化表达式就是int x=1 循环表达式就
	     是x<=3;循环后的操作表达式就是 x++
	   3.建立内外循环的联系 每行的乘数与外循环控制行数的初始化值变化相同 所
	     以内循环的条件表达式就是 y<=x; 而循环后的操作表达式就肯定是 y++了


	   
	   九九乘法表就是将x<=3;范围改变一下即可x<=9;

01/28 星期一
*/


	System.out.println("--------------乘法口诀------------------");

		System.out.println("Hello World!");
	}
}

 ------- android培训java培训、期待与您交流! ----------

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics