java的循环结构

Java的循环结构主要有三种:for循环,while循环,以及do-while循环,这里也是主要讲这三种循环。

一.for循环

首先是for循环,for循环通常用于已知循环次数的情况,使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环。

1.流程图如下:

2.for循环的语法格式:

这里要注意的是,布尔的返回值只有True和False,而语法格式内的执行顺序是:

初始表达式1-->布尔表达式2-->语句-->表达式3;

3.程序举例:

	public static void main(String[] args) {
		for (int i = 1; i <= 5; i++) {
			System.out.println("我爱Java");
		}
	}

输出的结果为:

不难看出,这是一个较为简单的for循环,他把  “我爱java”  这句话循环输出了五遍。

4.for语句的使用说明:


(1)在for语句之前已经给循环变量赋初值,则for语句的循环变量赋初值部分可以省略,但其后得分号不省略。
(2)可以将循环变量修正值的工作纳入循环体中去做。

解释图如下:

实际上,for语句可以三个部分都省略。但省略表达式2会陷入死循环,除非在循环体中用break跳出。

二.while循环

while语句:先判断后执行,有可能一次都不执行

1.基本语法和流程图:

基本语法:

while(布尔表达式) {  
    // 循环体  
}

流程图:

while循环次数最少是0次,也就是一次都不运行。

用文字来描述它的运行过程就是:

先判断布尔的值,若结果为true则执行循环语句序列, 再判断布尔的值,若结果为true则再执行循环语句序列, 这样反复执行,直到布尔的值为false时,while循环结束

2.程序举例:

用while循环计算1+2+3+4+·····+100:

	public static void main(String[] args) {
		int i = 1;// 变量用于存储项
		int sum = 0;// 变量用于存储和
		while (i <= 100) {
			sum += i;
			i++;
		}
		System.out.println("和为:" + sum);
	}
//输出结果为:和为:5050

三:do-while循环

1.基本语法和流程图

do {  
    // 循环体  
} while(布尔表达式);

do-while循环:do-while循环与while循环类似,但是它至少会执行一次循环体,然后再判断布尔表达式的结果,也就是说,就算布尔值为false(条件不满足)也会先执行一次。

流程图:

仔细一看,while循环和do-while循环的流程图基本是倒过来的,所以它是先执行,再判断,条件符合(布尔值为true)再执行,条件不符合就停止。

2.程序举例:

用do...while循环计算1+2+3+4+·····+100:

	public static void main(String[] args) {
		int i = 1;// 变量用于存储项
		int sum = 0;// 变量用于存储和
		do {
			sum +=i;
			i++;
		} while (i<=100);
		System.out.println("和为:" + sum);
	}//运行结果为:和为:5050

3.补充

没错,依旧是这道算术题,两种循环得出的结果一模一样,这就引出一个问题:

do-while循环与while循环是否可以互相转换?是可以的,但有一个条件,那就是while执行次数必须大于或等于1次,这里指的互换是指循环体内的语句基本一样,只是循环语句互换了而已。

四:跳出语句

1.break语句

break语句用于跳出本层循环,进入外层循环。解释一下就是:在本层循环内,执行break语句之后,之后的语句不执行了,也就是结束本层循环。

在循环语句中常与条件语句一起使用。

(1)图示:

可以看出,break后面还有一句语句,但执行break后,后面的语句就会被跳过。

(2).程序举例:

for (int i = 0; i < 10; i++) {  
    if (i == 5) {  
        break; // 当i等于5时,跳出循环  
    }  
    System.out.print(i+" ");//此处输出语句无换行
}

上面代码输出结果为 0 1 2 3 4 ,为了观看体验,我在输出语句中删了换行。

2.continue语句

用于终止本次循环,跳过该循环体中位于continue后面的语句,进入下次循环,与break不同的是,执行continue之后,continue下面的语句直接不执行了,也就是直接进行下一次循环。

用于循环语句中,类似于break语句,常与条件语句一起使用。

(1).图示

(2).程序举例:

for (int i = 0; i < 10; i++) {  
    if (i % 2 == 0) {  
        continue; // 当i是偶数时,跳过当前迭代  
    }  
    System.out.print(i+" ");  
}

上面代码输出结果为1 3 5 7 9  ,为了观看体验,我在输出语句中删了换行。

3.break和continue使用注意

(1)break和continue都可以在循环中使用,为循环提供额外的控制。
(2)在某些情况下,使用break和continue可以简化程序设计。但是,过度使用或者不正确使用会使程序难以读懂也难以调试。

五.循环嵌套


循环嵌套(即多重循环),在一个循环体内又出现有一个或多个完整的循环结构则称为循环嵌套。
do...while、while、for三种循环方式可以相互构成循环嵌套。


1.程序举例

for (int i = 1; i < 7; i++) {
	for (int j = 1; j <=8; j++) {//for循环嵌套
		System.out.print("*");//此处无换行
	}
    System.out.println();//换行
}

代码输出结果为: 

这里用了for循环的嵌套示例,其余两种循环也是大同小异。

总结:循环语句的选择

建议使用自己觉得最顺手一种循环语句
通常,如果已知重复次数,那就采用for循环。如果无法确定重复次数,就采用while循环。如果在检验继续条件前需要执行循环体,就用do...while循环替代while循环。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值