大数据开发 - Java入门6

do-while循环

练习1:从键盘输入单词,讲输入的单词输出到控制台,输入是exit时退出循环
import java.util.Scanner;
public class Testthree{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个单词");
		String word = input.next();
		//equals方法的定义是比较两个字符串是否相等,考虑大小写
		while(!word.equals("exit")){
			System.out.println("当前输入的单词是:"+word);
			System.out.println("请输入一个单词");
			word = input.next();
		}
	}
}

do{
	循环体语句;
}while(循环条件语句);

特点:do…while结构的循环体语句是至少会执行一次的
do…while先执行后判断

import java.util.Scanner;
public class TestFour{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		do{
			System.out.println("请输入一个单词");
			String word = input.next();
			System.out.println("当前输入的单词是:"+word);
		}while(!word.equals("exit"));
		//报错:变量超过声明周期,word变量在do大括号里面声明,生命周期即也在里面,while里面的word即超过了生命周期
	}
}

正确的:
格式调整为ANSI

import java.util.Scanner;
public class TestFour{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		String word = "";//记得补枪
		do{
			System.out.println("请输入一个单词");
			word = input.next();
			if(!word.equals("exit")){
				System.out.println("当前输入的单词是:"+word);
			}else{
				System.out.println("输入是exit退出");
			}
		}while(!word.equals("exit"));
		
	}
}
练习2:键盘输入密码和确认密码,两次密码一致就退出循环打印注册成功,两次密码不一致就循环输入两次密码
import java.util.Scanner;
public class Testthree{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		String password1 = "";//记得补枪
		String password2 = "";
		do{
			System.out.println("请输入密码");
			password1 = input.next();
			System.out.println("请输入确认密码");
			password2 = input.next();
			if(!password1.equals(password2)){
				System.out.println("当前输入的两次密码不一致,请重新确认");
			}
		}while(!password1.equals(password2));
		System.out.println("两次密码一致,退出");
		
	}
}

还是得自己敲,全是小细节错误

死循环
do{
	循环体语句;//如果此时循环中没有跳出循环的语句就是死循环
}while(True);

for循环

for(初始化语句;循环条件语句;迭代语句){
	循环体语句;
}

for循环用于循环次数确定,先判断后执行的情况
while循环次数不确定,先判断后执行的情况

for循环由两个分号分割出三个表达式,第一个表达式定义循环变量,第二个表达式判断循环条件,第三个表达式改变循环变量

public class Testthree{
	public static void main(String[] args){
		int sum = 0;
		for(int i =1;i<=100;i++){
			sum +=i;
		}
		System.out.println(i);
		System.out.println(sum);
	}
}

for循环的三个表达式都是可以省略,但是两个分号不能省略

for(int i =1;i<=100;i++){
			sum +=i;
		}

可以改为

int i = 1;
for(;i<=100;){
	sum +=i;
	i++;
}

关键字break

break:终止switch或者当前循环
break通常写在if下面
break只跳出一层循环

关键字continue

continue:提取结束本次循环,继续下一次循环

循环嵌套

一个循环的循环体是另一个循环,例如for循环里面还有一个for循环

练习1:打印5行直角三角形
public class Testthree{
	public static void main(String[] args){
		int sum = 0;
		for(int i =1;i<=5;i++){
			for(int j =1;j<=i;j++){
				System.out.print("*");
			}
			System.out.println();
		}
	
	}
}

 *
 **
 ***
 ****
 *****

扩展:打印等腰三角形

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

在这里插入图片描述

练习2:描述break和continue的共同点和不同点

共同点:break和continue都可以控制循环,break和continue一旦运行其下的代码都不执行
不同点:break可以控制switch,break结束循环,代码从循环向下执行,continue结束本次循环,开始下一次循环,代码从循环起点重新判断循环条件

练习3:描述while和do swhile,for的相同点不同点

while循环:执行循环次数不确定,先判断后执行的循环
do-while循环:执行循环次数不确定,先执行后判断
for:执行次数确定,先判断后执行的循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值