黑马程序员——Java基础---循环语句

本文详细介绍了Java中的三种循环语句:while、do-while和for循环,包括它们的语法结构、执行流程以及区别,并通过具体示例展示了如何使用这些循环来解决实际问题。

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


一.概述

循环语句(Loop statements)是由循环体及循环的终止条件两部分组成的。在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要 重复执行某 些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。Java 的循环语句有while  do-while for。这些语句创造了我们通常所称的 循环(loops)。

二.循环语句--while语句

while 语句是Java 最基本的循环语句。当它的控制表达式是真时,while 语句重复执行一个语句或语句块。其格式如下:  

<span style="white-space:pre">	</span>while(条件表达式){
<span style="white-space:pre">		</span>//循环体
<span style="white-space:pre">	</span>}

  1. 条件表达式:一定要是一个返回boolean类型的结果的表达式。可以是条件表达式或逻辑表达式
  2. 如果条件表达式返回true,则进入循环体,执行循环体内的代码。
  3. 执行完循环体内代码后,再次回到"条件表达式"进行验证,如果还是为true,则再次进入循环体,如果为false,则跳到循环体后执行后续代码。
  4. 果只有单个语句需要重复,大括号可以省略。

举例:利用while 循环从1开始进行加计数10,并打印

条件语句满足true的条件是n<=10,没打印一次n++,直到n=11时条件为false,跳出循环,结束程序.如果一开始n就>10,循环语句就不执行,由于循环语句外边没有     其他的可执行语句,该程序会直接结束运行;

<span style="white-space:pre">	</span>class Test{
<span style="white-space:pre">	</span>public static void main(String args[]) {
<span style="white-space:pre">	</span>int n = 1; 
<span style="white-space:pre">	</span>while(n <=10) {
<span style="white-space:pre">	</span>System.out.println("num " + n);
<span style="white-space:pre">	</span>n++; 
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>}

三.循环语句--do-while语句

do_while循环语句格式

<span style="white-space:pre">	</span>do{
	//循环体
	}while(判断语句);
1.do-while循环语句执行流程:
1).先执行"循环体"语句
2).
进行while判断;
如果为true:再进入循环体执行循环体语句;
如果为false:跳到do_while的后续代码执行;
2.与while循环的区别:
1).do_while:总是先无条件的执行一次循环体语句,然后再进行判断
,也就是说该循环语句的循环体至少会被执行一次
2).while:总是先进行判断,然后再决定是否进入循环体。

举例:

<span style="white-space:pre">	</span>class Demo 
<span style="white-space:pre">	</span>{
	public static void main(String[] args) 
	{
		
		do{
			System.out.println("HelloWorld");
		}while(false);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}
在上述例子中虽然判断语句为false,但他的循环体语句还是会被执行一次的,运行结果为如下


在do-while语句中,如果执行完一次循环体后while中的判断语句结果为true了,会再回到do里面去执行循环体直到判断语句为false才跳出整个循环.,

举例:

<span style="white-space:pre">	</span>class Test1{	
	public static void main(String[] args) 
	{
		
		int num = 1;
		int sum = 0;
		do{
			sum+=num;
			num++;
		}while(num <= 100);
		System.out.println("sum = " + sum);
	}
<span style="white-space:pre">	</span>}
该程序是计算1-100的和,也就是说num>100的时候结束循环,会执行下面的打印语句.其运行结果是5050.

四.循环语句--for循环语句

for循环的格式:

<span style="white-space:pre">	</span>for(初始化语句;判断条件语句;控制条件语句) {
         循环体语句;
   <span style="white-space:pre">	</span> }
上述三条语句,都不是必须的,可以分开写。但是,分号一定要写
1.初始化语句:用于初始化循环变量,只在循环语句被第一次执行时,执行一次;
2.判断条件语句:产生一个boolean值,如果为true进入循环,否则,结束循环;
3.控制条件语句:一般用于操作循环变量,用以促成"判断条件语句"产生false,结束循环
举例:输出打印1-100.
<span style="white-space:pre">	</span>class Test{
<span style="white-space:pre">	</span>public static void main(String[] args)	{	
<span style="white-space:pre">	</span>for(int num = 1;num <= 100;num++){
			System.out.println("num = " + num);
			
		}
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>}
该程序的运行过程是,进入main方法,然后执行for循环语句,num的初始化值为1,然后语句"num<=100"判断num是否符合条件,如果true那么会执行循环体,要是false则跳 出循环语句,上述条件为真则打印num=1,然后执行num++;此时num的值变为2,再次执行"num<=100"判断num是否符合条件,条件为真会执行打印语句,然后再num++,如此循 环直到判断语句的结果为false才结束循环语句.

五.循环语句的嵌套

在一个循环内部,可以嵌套另一个循环,外层循环每循环一次,内部循环都要全部执行一次。
建议:当出现三层以上循环时,就要考虑优化代码或算法;

举例:

<span style="white-space:pre">	</span>class Test 
<span style="white-space:pre">	</span>{
<span style="white-space:pre">	</span>public static void main(String[] args) 
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>for(int i = 1 ;i <= 5; i++){
<span style="white-space:pre">			</span>for(int j = 1 ; j <= i ; j++){
<span style="white-space:pre">				</span>System.out.print("*");
<span style="white-space:pre">			</span>}
<span style="white-space:pre">			</span>System.out.println();
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}

程序会先执行外面的判断语句,要是为true则会进入内嵌的for语句,当内嵌for执行完毕后才j++,此时是外边的for语句的一次循环,如此的循环直到外边的判断语句为false后 才跳出整个循环语句,运行效果如下:



当然在嵌套中所有的循环语句都可以的,这里就不做举例了,感谢阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值