Java-Level1-day03:switch分支结构;for/while循环结构;嵌套循环;break与continue;

img编辑

package cn.tedu.switch1;
import java.util.Scanner;
​
public class Switch {
    public static void main(String[] args) {
        System.out.println( "欢迎使用达内ATM机系统" );
        System.out.println( "---请输入 1:查询账 户,2:存钱,3:取钱,4:退出" );
        int x = new Scanner(System.in).nextInt();
        switch( x ) {
            case 1:
                System.out.println( "您的账户余 额为1000.0元" );
                break;
            case 2:
                System.out.println( "存钱成功, 账户余额为1500.0元" );
                break;
            case 3:
                System.out.println( "取钱成功, 账户余额为1300.0元" );
                break;
            case 4:
                System.out.println( "退出成功, 谢谢使用" );
                break;
            default:
                System.out.println( "输入错误, 请重新输入!" );
        }
    }
}
​

img

package cn.tedu.switch1;
import java.util.Scanner;
​
/*
实现一个模拟ATM机系统,根据用户输入的代码,打印不同的操作
例如,输入操作:1-查询余额,2-存钱,3-取钱,4-退出
1:查询成功!
    输出用户的账户金额
2:存钱成功!
    提示用户输入要存入的金额,并将存的金额累加到账户余额上
3:取钱成功!
    提示用户输入要取的金额,如果余额>=所取金额,取款成功,显示最新余额
    否则余额<所取金额,显示账户余额不足!
4:退出!
其他:您的输入有误,请重新输入!
 */
public class Switch2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println( "---欢迎使用达内ATM机系统---" );
        double balance = 3000; //用于记录某账户的金额
​
        while( true ){
            //1.提示用户输入操作代码, 并接收用户的输入
            System.out.println( "请输入操作代码:1.查询账户, 2.存钱, 3.取钱, 4.退出" );
            int code = sc.nextInt(); //1、2、3、4
            //2.使用switch判断code的值,并执行相应的操作
            switch( code ){
                case 1: //查询账户
                    System.out.println( "您的账户余额为:"+balance+"元" );
                    break;
                case 2: //存钱
                    System.out.println( "请输入要存入的金额:" );
                    int money1 = sc.nextInt(); //接收用户要存入的钱数
                    if( money1 % 100 == 0 ){
                        balance = balance + money1; //balance += money1;
                        System.out.println( "存钱成功,账户最新余额为:"+balance+"元" );
                    }else{
                        System.out.println( "存钱失败,要存的金额必须是整百的数!" );
                    }
                    break;
                case 3: //取钱
                    System.out.println( "请输入要取的金额:" );
                    int money2 = sc.nextInt(); //接收用户要取的钱数
                    if( balance >= money2 ){ //账户余额大于或等于取的钱数
                        balance = balance - money2; //balance -= money2;
                        System.out.println( "取款成功,账户最新余额为:"+balance+"元" );
                    }else{ //账户余额小于取的钱数
                        System.out.println( "取款失败!账户余额不足!" );
                    }
                    break;
                case 4: //退出
                    System.out.println( "退卡成功,谢谢使用!" );
                    break;
                default:
                    System.out.println( "您的输入有误, 请重新输入!" );
            }
        }
    }
}
​

img编辑img编辑img编辑img编辑img编辑img编辑

package cn.tedu.whlie;
​
import java.util.Random;
import java.util.Scanner;
​
/**
 * 案例: 猜数字游戏(升级版) 限制最多只能猜5次
 * 如果5次之内可以猜中,则提示用户"恭喜你猜中了,数字是xx!"
 * •如果5次之后还未猜中,则提示用户"太笨了,5次还没猜中,数字是xx!"
 */
public class GuessNumber2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //1.获取一个Random对象, 该对象可以产生随机数
        Random rm = new Random();
        //2.获取一个0-100之间的随机整数(包括0,但不包含100)
        int rmNumber = rm.nextInt( 100 );
        System.out.println( "生成的随机数为:" + rmNumber );
​
        //3.编写死循环, 不断提示用户猜数字
        int i = 1;
        while( i<=5 ){ //循环5次,也就意味着最多只能猜5次
            //4.提示用户输入猜的数值(0-100之间的数), 并接收
            System.out.println( "---请输入你猜的数值(0-100之间):---" );
            int guessNumber = sc.nextInt();
            //5.判断用户猜的数值比生成的随机数 是大了, 还是小了, 还是猜中了?
            if( guessNumber > rmNumber ){ //猜大了
                System.out.println( "您猜大了..." );
            }else if( guessNumber < rmNumber ){ //猜小了
                System.out.println( "您猜小了..." );
            }else{ //guessNumber == rmNumber
                System.out.println( "恭喜你猜中了,数字是"+rmNumber+"!" );
                //如果猜中, 就结束循环, 接着执行循环后面的代码(如果有)
                break;
            }
            //如果第5次还没猜中,就提示用户"太笨了,5次还没猜中,数字是xx!"
            if( i == 5 ){
                System.out.println( "太笨了,5次还没猜中,随机数是"+rmNumber+"!" );
            }
            i++; //为i加1
        }
    }
}
​

img编辑

package cn.tedu.whlie;
​
public class DoWhileDemo {
    public static void main(String[] args) {
        //需求: 输出10行"HelloWorld"
        int i = 1;
        do{
            //循环体
            System.out.println("HelloWorld..."+i);
            i++;
        }while( i<=10 );
​
        System.out.println( "-----分割线-----" );
        int j = 1;
        do{
            System.out.println( j );
        }while( j<=0 ); //执行结果是: 输出一次j的值, 1
​
        System.out.println( "-----分割线-----" );
​
        j = 1;
        while( j<=0 ){
            System.out.println( j );
        } //执行结果是: 一次都不输出
        /*
        while( false ){
            System.out.println( j );
        } //直接编译错误, 不能直接给字面值false */
    }
}
​

img编辑img编辑img编辑img编辑

package cn.tedu.qiantao;
​
/**
 * ### 案例6:打印九九乘法表
 * 要求:使用嵌套for循环打印九九乘法表(9*9),如下所示:
 * 1*1=1
 * 1*2=2    2*2=4
 * 1*3=3    2*3=6   3*3=9
 * 1*4=4    2*4=8   3*4=12  4*4=16
 * 1*5=5    2*5=10  3*5=15  4*5=20  5*5=25
 * 1*6=6    2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
 * 1*7=7    2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
 * 1*8=8    2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
 * 1*9=9    2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81
 */
public class NestForDemo4 {
    public static void main(String[] args) {
        //外层循环: 循环执行9次
        for( int i=1; i<=9; i++ ){ //外层循环在控制行数
            for( int j=1; j<=i; j++ ){ //内层循环在控制列数
                System.out.print( j+"*"+i+"="+(i*j)+"\t"  ); //输出j*i=(j*i)
            }
            System.out.println(); //只做一个换行
        }
    }
}
​
​
​

img编辑img编辑

package cn.tedu.qiantao;
​
/**
 * 使用break中断/终止嵌套循环中的外层循环
 * 格式: break 外层循环的名字;
 */
public class BreakDemo3 {
    public static void main(String[] args) {
        outer:for( int i=1; i<=3; i++ ){ //外层循环控制行数
            for( int j=1; j<=5; j++ ){ //内层循环控制列数
                //如果i的值为2, 就直接结束整个循环(包括内层循环和外层循环)
                if( i==2 ){
                    //break; //这个break只能结束当i=2时的内层循环(外层循环还在继续)
                    //如果希望结束整个循环(包括内层循环和外层循环)
                    break outer; //结束指定名称的循环
                }
                System.out.print( i+" " ); //仅输出i,不换行
            }
            System.out.println(); //仅换行
        }
    }
}
​
package cn.tedu.qiantao;
​
/**
 * continue跳过循环案例:计算1-100之间所有奇数的和(要求必须使用continue关键字)
 */
public class ContinueDemo1 {
    public static void main(String[] args) {
        //1.声明变量, 用于累加所有奇数值的和
        int oddSum = 0;
        //2.循环获取1-100之间所有的整数值
        for( int i=1; i<=100; i++ ){ //i=1,2,3,4,..100
            //3.如果i的值为偶数, 就直接跳过本次循环, 继续下一次循环
            if( i % 2 == 0 ){ //说明i是偶数
                continue; //本次循环中, 下面的代码就不再执行了
            }
            //4.如果i的值为奇数, 就累加到oddSum变量上
            oddSum += i; //oddSum = oddSum + i;
        }
        //5.输出结果
        System.out.println( "1-100之间所有奇数值的和为: "+ oddSum ); //2500
    } 
}
​

img

编辑img编辑img编辑img编辑img编辑img编辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dpq666dpq666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值