day05

一.do…while循环
格式:
​ 初始化语句;
​ do {
​ 循环体语句;
​ 控制条件语句;
​ } while(判断条件语句);

二.跳转流程控制的三个关键字
1.break: 跳出当前循环,执行循环外的代码,只能在switch和循环语句中使用,离开这两个场景直接报错
2.continue: 跳过本次循环,继续下一次循环,只能在循环中使用,离开场景就报错
3.return: 结束当前正在运行的代码,相当于结束掉整个程序的运行,没有特定场景,还可以当做方法的返回值关键字使用

三.方法的目的:将公共的功能抽取出来,方便多次使用,避免重复
方法的格式:
​ 修饰符 返回值类型 方法名(参数列表){
​ 方法体;
​ }
格式解释:
​ 修饰符: public static (暂时使用)
​ 返回值类型:
​ 无返回值方法: void
​ 有返回值方法: 数据类型
​ 方法名: 小驼峰
​ 参数列表: 可以没有,可以有一个,可以有多个
​ 方法体:要实现的功能,有返回值的方法必须要return
注意事项:
1.方法不调用不执行
2. 方法与方法是平级关系不能嵌套定义
3. 有返回值的方法必须return
4. return 后面的值必须和返回值类型一致
5. 多个参数之间使用逗号隔开

四.方法的重载:(overload):
概念:一个类中可以存在多个名字相同的方法,但是必须保证参数的个数或类型不同,与返回值无关
方法的重写:(override):

五.重要例题1:

/**
 * 循环登录:
需求: 	1.控制台提示用户输入密码("请输入密码")
		2.用户输入密码		int 
		3.如果用户输入的密码不等于1234,回到步骤1
		4.如果用户输入的密码等于1234,提示登录成功
 */
public class CircleLoginDemo {
/**
 * 思路:
		1. 循环:  不知道循环的次数:   while
		2. 循环的条件:  用户的输入不等于1234
		3. 循环体:  提示用户输入密码,用户输入密码
		4. 条件控制语句:   用户重新输入密码
 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入密码");
		int password = sc.nextInt();
		while(password != 1234) {
			System.out.println("请输入密码");
			password = sc.nextInt();
		}
		System.out.println("登录成功");
	}
}

/**
 * 将上述程序使用do...while循环改写:
 */
public class CircleLoginDemo2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String password;//局部变量不赋初值不能使用
		do {
			System.out.println("请输入密码");
			password = sc.nextLine();// 赋值的操作
		}while(!"abc1234".equals(password));
		
		System.out.println("登录成功");
	}
}

六.重要例题2:

/*
 *
假设一个简单的ATM机的取款过程是这样的:
首先提示用户输入密码(password),
最多只能输入三次,超过3次则提示用户“密码错误,请取卡”结束交易。
如果用户密码正确,
再提示用户输入取款金额(amount),
ATM机只能输出100元的纸币,一次取钱数要求最低100元,最高1000元。
若用户输入的金额符合上述要求,则打印输出用户取得钱数,
最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。
假设用户密码是111111,请编程实现。
 *
 */
import java.util.Scanner;

public class teat4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int money=2000;
        for(int i=0;i<3;i++){
            System.out.println("请输入密码,您还有"+(3-i)+"次机会");
            int password=sc.nextInt();
            if(password!=111111){
                if(i==2){
                    System.out.println("错误次数已达到上限,卡已锁死,请明天继续");
                    break;
                }else{
                    System.out.println("密码输入有误,请重新输入");
                    continue;
                }
            }
            while(money>=100){
                System.out.println("请输入取款金额:");
                int salary=sc.nextInt();
                if(salary>=100&&salary<=1000&&salary%100==0){
                    System.out.println("取款金额为"+(salary)+"元");
                    money=money-salary;
                    System.out.println("余额为"+money+"元");
                }else{
                    System.out.println("操作错误");
                } System.out.println("请选择是否继续:1.继续  2.退出");
                int num=sc.nextInt();
                if (num==2){
                    System.out.println("退出成功,欢迎下次再来");
                    return;
                }
            } System.out.println("余额不足");
            break;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值