Java第四天

第4章循环语句

4.1 while循环
while循环在条件为真的情况下,重复的执行语句
语法如下

while(循环继续条件){
	//循环体
	语句(组);
}

循环继续条件是一个布尔表达式,控制循环体的执行。在循环体执行前总是先计算循环条件是否执行它。若条件为true,则执行循环体,若条件为false,则终止整个循环,并且程序控制转移到while循环后的下一条语句。
示例 猜数字

import java.util.Scanner;

//猜数字
public class Test4_1 {
	public static void main(String[] args) {
		//0.生成一个随机数
		int number=(int) (Math.random()*101);
		System.out.println("Guess a magic number between 0 and 100");
		Scanner scanner=new Scanner(System.in);
		//1.获取用户的输入值
		//循环初始化
		System.out.print("Enter your guess:");
		int num=scanner.nextInt();
		while(num!=number){//循环继续条件
			if(num<number){
				System.out.println("too low");
			}else{
				System.out.println("too high");
			}
			//循环间距
			System.out.print("Enter your guess:");
			num=scanner.nextInt();//更新num的值
		}
		System.out.println("Yes the number is "+number);
	}
}
while适合于循环结束条件已知 但是循环次数未知的情况
	for 适合于循环次数已知的情况
	for和while之间是可以完全互换的

	while(循环继续条件){
		需要被循环执行的代码//循环体
	}

循环初始化->循环继续条件->循环体->循环间距

循环初始化
while(循环继续条件){
	循环体
	循环间距
}
while(true){
	循环体
	循环间距
	if(循环结束条件){
		break;
	}
}

4.2 do-while
do-while循环和while循环基本一样,不同的是它先执行循环体一次,然后判断循环继续条件

do{
	循环体;//循环初始化 循环间距
}while(循环结束条件)

如果循环中的语句至少要执行一次,建议使用do-while语句;如果使用while循环,那么这些语句必须循环前和循环内部出现
示例

import java.util.Scanner;


public class Test4_1dowhile {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int number=(int) (Math.random()*101);
		int num=0;
		do{
			System.out.print("Enter a guess:");
			num=scanner.nextInt();
			if(num<number){
				System.out.println("too low");
			}else if(num>number){
				System.out.println("too high");
			}
		}while(num!=number);//num cannot be resolved to a variable
		System.out.println("Yes it is "+number);
	}
}

4.3 for语句
for循环具有编写循环的简明语法

for语句
	for( 循环初始化 ; 循环继续条件 ; 循环间距){
			循环体
	}

示例打印直角三角形

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

4.4嵌套循环
打印菱形

public class Test {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++){
			for(int k=1;k<=Math.abs(i-5);k++){
				System.out.print(" ");
			}
			for(int j=1;j<=i&&(i+j)<=10;j++){
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

4.5 break和continue
beark:终止循环
continue:结束当前迭代,直接跳向该循环体的末尾
示例 判断回文


public class Test4 {
	public static void main(String[] args) {
		String s="上海自来水来自海上";
		//0 1 2 3 4 5 6 7 8 角标
		//m0~3
		//n8~5
		boolean flag=true;//默认是回文
		for(int m=0,n=s.length()-1;m<s.length()/2&&n>s.length()/2;m++,n--){
			if(s.charAt(n)!=s.charAt(m)){
//				return;
				flag=false;
				break;
			}
		}
		if(flag){
			System.out.println("是回文");
		}else{
			System.out.println("不是回文");
		}
		
		System.out.println("最后要执行的代码,无论是不是回文");
	}
}

小结:
1.三类循环;while do-while for
2.循环执行一次称为循环一次迭代
3.无线循环指循环语句被无限次执行
4.循环控制结构和循环体都必须考虑
5.while首先检查循环继续条件。为true则执行循环体
6.do-while先执行循环体,然后判断检查循环继续条件
7.while do-while常用于循环次数不确定的情况
8.for一般用在循环次数确定的情况下
9.break立即终止包含break的最内层循环
10.continue只是终止当前迭代

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值