黑马程序员_Java基础Day03(上)_循环结构(Done)

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


四、循环结构。

代表语句:while、do-while、for

1.while语句格式:

定义初始化表达式;
while (条件表达式)
{
	执行语句(循环体);
}

总结:while先通过条件表达式进行判断,如果判断结果为true,执行循环体;否则直接跳出循环。如果第一次条件判断都不满足,直接跳过循环,一次都不执行。

2.do-while语句格式:

定义初始化表达式;
do
{
	执行语句(循环体);
}
while (条件表达式);
总结:do-while先执行循环体,再执行判断。如果条件满足,继续执行循环体。

与while相比,do-while无论条件是否满足,循环体至少执行一次。

3.for语句格式:

for (初始化表达式;循环条件表达式 ;循环后的操作表达式 )
{
	执行语句(循环体);
}

比较:

a.for里面的两个表达式运行的顺序,初始化表达式只执行一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式。接着继续判断循环条件,重复整个过程 ,直到条件不满足为止。

b.while与for循环可以进行互换。区别在于:for为了循环而定义的变量在for循环结束后就被释放;而while循环使用的变量在循环结束后依旧存在于内存中。

c.最简单的无限循环模式:

while(true){执行语句;}
for(;;){执行语句;}
无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

什么时候使用循环结构?

当要对某些语句执行很多次时,就使用循环结构。


两种编程思想:

a.累加思想:通过变量记录住每次变化的结果,通过循环的形式进行累加动作。

b.计数器思想:通过一个变量记录住数据的状态变化。也需要通过循环完成。

练习:求1~100各个数的和。

class  GetSum
{
	public static void main(String[] args) 
	{
		int sum = 0;//定义累加器
		for (int x=1;x<=100 ;x++ )
		{
			sum += x;
		}
		System.out.println(sum);
	}
}

语句嵌套:就是语句中还有语句。如循环嵌套。

练习:

a.打印九九乘法表

class  Practice
{
	public static void main(String[] args) 
	{
		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();//换行
		}
	}
}

运行结果:

b.打印正三角形,如下图: 

    *

   * *

  * * *

 * * * *

* * * * *

class Practice
{
	public static void main(String[] args)
	{
		for (int x=1;x<=5 ;x++ )
		{
			for (int y=x;y<5 ;y++ )//打印每行的左半部分(空白部分)
			{
				System.out.print(" ");
			}
			for (int z=1;z<=x ;z++ )//打印每行的右半部分(有*的部分)
			{
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}
c.打印中空的菱形:

class Practice
{
	public static void main(String[] args)
	{
		printDiamond(7);
	}
	public static void printDiamond(int size)
	{
		for (int x=1;x<=size ;x++ )//上半部分
		{
			for (int y=x;y<size ;y++ )//上半部分的左边
			{
				System.out.print(" ");
			}
			for (int z=1;z<=x ;z++ )//上半部分的右边
			{
				if (z==1 || z==x)//判断,仅打印"头"和"尾"
				{
					System.out.print("* ");
				}
				else
					System.out.print("  ");
			}
			System.out.println();
		}
		for (int x=1;x<=size-1 ;x++ )//下半部分
		{
			for (int y=1;y<=x ;y++ )//下半部分的左边
			{
				System.out.print(" ");
			}
			for (int z=x;z<=size-1 ;z++ )//下半部分的右边
			{
				if (z==x || z==size-1)//判断,仅打印"头"和"尾"
				{
					System.out.print("* ");
				}
				else
					System.out.print("  ");
			}
			System.out.println();
		}
	}
}
运行结果:


记住不是规律的规律:

尖朝上,可以改变条件,让条件随着外循环变化;尖朝下,可以改变初始化值,让初始化随着外循环变化。


五、其他流程控制语句。

break(跳出)。应用范围:选择结构和循环结构。

continue(继续)。应用范围:应用于循环结构。

break含义是:强制退出循环,当退出循环时循环条件是仍然满足的。

continue含义:结束本次循环,继续执行下一次循环。

说明:

a.这两个语句离开应用范围存在是没有意义的;

b.这两个语句单独存在时,下面都不可以有其他语句,因为执行不到;

c.continue语句是结束本次循环继续下次循环;

d.标号的出现,可以让这两个语句作用于指定范围。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值