Java学习第二十天之三

发布于:2022-08-08 ⋅ 阅读:(337) ⋅ 点赞:(0)

目录

一、break语句

一、基本介绍

二、流程图

 三、注意事项

四、练习


一、break语句

一、基本介绍

 break 语句用于终止某个语句块的执行,一般使用在 switch 或者循环[for , while , do-while]中

二、流程图

 三、注意事项

①:break后面可以通过标签指名要结束哪一层语句块

eg 结束label1,即外循环

public class BreakDetail{
	//编写一个main方法
	public static void main(String[] args){
		label1:
		for(int j = 0; j < 4; j++){
		label2:
			for(int i = 0; j < 10; i++){
				if(i == 2){
					break label1;//当i==2时,结束整个外循环
				}
			System.out.println("i = " + i);
			}

		}

	}
}

四、练习

1) 1-100 以内的数求和,求出 当和 第一次大于 20 的当前数 【for + break】

思路分析:


       1.循环输出1-100
        2.求1+2+3+...100相加,定义变量sum来记录
        3.使用if+break,当sum>20时,输出num



public class breaknote{
	//编写一个main方法
	public static void main(String[] args){
		
		int sum = 0;
		
		for(int num = 1; num <= 100; num++){
			sum +=num;
			
			if(sum>20){
				System.out.println(num);
				break;
			}

		}
		
		System.out.println(sum);
	}
}

注意事项:变量num的作用域局限在for循环内,如果在for循环外输出num,编译时会报错                java:19: 错误: 找不到符号
                   System.out.println(num);

解决方法1:在for循环外定义num 

public class breaknote{
	//编写一个main方法
	public static void main(String[] args){
		
		int sum = 0;
		int num = 1;
		for(; num <= 100; num++){
			sum +=num;
			
			if(sum>20){
				System.out.println("和大于20了,当前数是" + num);
				break;
			}

		}
		System.out.println("当和第一次大于20时,当前数是" + num);
		System.out.println(sum);
	}
}

方法2 :重新定义变量j,将num的值赋给j,最后输出j即可。

public class breaknote{
	//编写一个main方法
	public static void main(String[] args){
		
		int sum = 0;
		int j = 0;
		for(int num = 1; num <= 100; num++){
			sum +=num;
			
			if(sum>20){
				
				System.out.println("和大于20了,当前数是" + num);
				j = num;
				break;
			}

		}
		System.out.println("当和第一次大于20时,当前数是" + j);
		System.out.println(sum);
	}
}

第二题:

实现登录验证,有 3 次机会,如果用户名为"丁真" ,密码"666"提示登录成功,否则提示还有几次机会,请使用 for+break完成

思路分析:创建Scanner语句用来输入名字和密码

        定义变量 String name 和String password用来输入用户名和密码

        if else语句来判断

import java.util.Scanner;
public class breaknote02{
	//编写一个main方法
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		for(int i = 1; i <= 3; i++){
			System.out.println("请输入您的用户名");
			String name = sc.next();
			System.out.println("请输入您的密码");
			String password = sc.next();
			if("丁真".equals(name) && "666".equals(password)){
				System.out.println("用户名和密码正确,登录成功");
				break;
			}else{
				System.out.println("您的输入有误,还有" + (3-i) + "次机会");
			}

				
		}
			
	}
}

tips:字符串之间比较是否相等不用==,用equals();  比如:"丁真".equals(name);"林黛玉".equals(name)

在登录成功后,如不用break,编译后则会出现以下情况,会执行完整个for循环,所以需要break,跳出for循环

 

与老师代码不同的地方:定义int型变量chance = 3;

import java.util.Scanner;
public class breaknote02{
	//编写一个main方法
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        int chance = 3;
		for(int i = 1; i <= 3; i++){
			System.out.println("请输入您的用户名");
			String name = sc.next();
			System.out.println("请输入您的密码");
			String password = sc.next();
			if("丁真".equals(name) && "666".equals(password)){
				System.out.println("用户名和密码正确,登录成功");
				break;
			}else{
                chance--;
				System.out.println("您的输入有误,还有" + chance + "次机会");
			}

				
		}
			
	}
}

本文含有隐藏内容,请 开通VIP 后查看