android基础学习-java篇day2-step1-第三节:java流程控制之循环结构

循环结构:

1.while循环

2.do-while循环

3.for循环

4、循环嵌套

1.while循环(当型)

语法格式:

while()小括号后面不能加;号,会进入死循环;

n的值也必须改变,否则也会进入死循环(因为判断条件一直成立)

while循环的执行流程:

while小括号里面判断条件的值为true,则执行大括号内的循环体语句,然后再执行判断条件,

判断条件是否成立(true or  false),如果不成立循环才终止。

扫描二维码关注公众号,回复: 3129806 查看本文章

while循环案例1:计算1+3+5+7+9+15的和

package com.demo.day2.flow;

public class PlusDemo {

	public static void main(String[] args) {
		// 计算1+3+5+7+9+11+13+15的和
		int n=1;
		int sum=0;//用来存放累加和
		while(n<=15) {
			sum+=n;
			n=n+2;
			
		}
		System.out.println("累加的结果为:"+sum);

	}

}

 输出结果

累加的结果为:64

while循环案例2:循环输出26个字母,两行输出

 com.demo.day2.flow;

public class CharDemo {

	public static void main(String[] args) {
		// 循环输出26个字母,换两行输出
		char ch='a';
		int count=1;//用来换行
		while(ch<='z') {
			//单行输出
			System.out.print(ch+" ");
			if(count%13==0) {
				System.out.println();//换行
			}
			ch++;
			count++;
		}

	}

}

输出结果:

a b c d e f g h i j k l m

n o p q r s t u v w x y z

2.do-while循环(直到型)

定义:是先运行一次循环体,检测到某个某个条件成立时接着循环。

while型和do-while型的区别:
区别:也就是while型可能不运行循环体,而直到至少运行一次。

语法格式:

do{

语句1;

}while(循环条件);

记得while要加" ;"号

执行流程和while的类似;

do-while案例:猜字游戏:生成一个1-100的随机数,然后键盘输入来猜

package com.demo.day2.flow;

import java.util.Scanner;

public class GuessGameDemo {

	public static void main(String[] args) {
		// 猜字游戏:随机生成一个1-100的数,然后猜
		int num=(int)(Math.random()*100);//Math.random()的生成区间为[0,1)*100后就是[0-100),记得加括号括起来(Math.random()*100)
		System.out.println("请输入一个1-100的数:");
		int guess;
		//从键盘输入值
		do {
			Scanner sc=new Scanner(System.in);
			 guess=sc.nextInt();
			if(guess>num) {
				System.out.println("太大");
			}
			else if(num>guess) {
				System.out.println("太小");
			}
		}while(guess!=num);//循环条件是输入的数不等于要猜的数
		        System.out.println("猜对了");
	}

}

输出:略

3.for循环

语法格式:

for(表达式1;表达式2;表达式3){

语句;

}

for()括号内分号;不能省略

表达式1;是变量的初始化 n=1;

表达式2;是循环条件 n<5;

表达式3;是对循环条件进行改变的表达式n++;

for的执行流程:

if(条件成立)break;//表示跳出这个循环

for循环内的三个表达式都可以为空,但是要和while型一样放在原来的位置;

for案例:求出200到300之间的数,且满足条件:它们三个数字之积为42、三个数字之和为12

package com.demo.day2.flow;

public class ForDemo {

	public static void main(String[] args) {
		int a,b,c;
		// 求出200到300之间的数,且满足条件:它们三个数字之积为42、三个数字之和为12
		for(int i=200;i<300;i++) {//取[200,300)的数
			//取出百位
			a=i/100;
			//取出十位
			b=i/10-a*10;
			//取出个位
			c=i-a*100-b*10;
			int e=a*b*c;
			int sum=a+b+c;
			if(e==42&&sum==12) {
				System.out.println("满足条件的数有:"+i);
			}	
		}

	}

}

输出:

满足条件的数有:237

满足条件的数有:273

4.循环嵌套

案例1:1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=?

package com.demo.day2.flow;

public class JiecengDemo {

	public static void main(String[] args) {
		// 1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=?
		int s=1,sum=0;
		for(int i=1;i<=10;i++){//外层的加
			 s=1;
			for(int j=1;j<=i;j++) {//内层进行阶层运算
				s=s*j;//s存放阶层
			}
			sum=sum+s;
		}
		System.out.println("1!+2!+3!+4!+...+10!="+sum);
	}

}

输出结果:1!+2!+3!+4!+...+10!=4037913

在多重循环中,break语句只向外跳一层。

break语句的使用

break语句的作用:跳出当前循环结构

break语句一旦被执行,循环体中break语句后面的代码将不再被执行

注意:break语句是跳出当前循环

continue语句的使用

continue语句只能用在循环里

continue语句可以结束当前循环的执行,但是要继续下一次循环的执行

(比如i=3时continue;后不执行循环体,但是还要进行i=4的循环)

两者区别:break语句可以使用在switch语句当中,也可以使用在循环语句当中

而continue语句只能使用在循环语句当中;break语句一旦被执行,循环体中break语句后面的代码将不再被执行;

continue语句可以结束当前循环的执行,但是要继续下一次循环的执行

猜你喜欢

转载自blog.csdn.net/qq_17846019/article/details/82387376