四、键盘输入,switch和for注意事项,退出指定循环的方法

本文介绍了Java中的Scanner类用于接收键盘输入,以及switch、for和for-each循环的用法,包括如何在循环中实现退出机制。同时,还讨论了死循环和使用System.exit()停止程序运行的情况。
摘要由CSDN通过智能技术生成

1 Scanner:接收键盘输入的值

(1)导包

(2)创建对象

(3)接收值

(4)关闭资源:对象名.close();

import java.util.Scanner;//导包

public class Scan {

        public static void main(String[] args) {

                Scanner sc=new Scanner(System.in);//创建对象

                int x1=sc.nextInt();//接收值

                double x2=sc.nextDouble();

                String x3=sc.next();

                System.out.println(x1);

                sc.close();//关闭资源

        }

}

2 switch

(1)方式一

switch(等值表达式){
    case 结果1:
    操作1;
    break;
    case 结果2:
    操作2;
    break;    
    ...
    default:
    操作n;
}

(2)方式二(JDK12以后的新写法,不用写break就有break的效果)

switch(等值表达式){
    case 结果1 -> 操作1;
    case 结果2 -> {
        操作2.1;
        操作2.2;
        break;    //只能跳出此switch循环
    }
    default -> 操作n;
}

注意:

(1)等值表达式结果有5种(byte、short、int、char、String

(2)default可有可无

(3)若无break,则向下贯穿

(4)与if...else if的区别:

        ①条件

        if:关系或逻辑表达式,boolean

        switch:等值表达式,byte、short、int、char、String

        ②结束标志

        if:}

        switch:首选结束标志是break,然后是}

        ③使用场景

        当且仅当判断条件是等值表达式且值满足上述5种类型,且值可能性少,使用switch;其它情况使用if

3 for

(1)for与while区别:相同条件下for更节省内存空间

(2)死循环:

for( ; ; ){ }

for(初始化值; ; ){ }

for(初始化值; 判定条件; ){ }

(3)增强版for:不用写下标,直接遍历输出数组各个值

int[] x1={1,4,6,7};

for (int ming:x1){ 
    System.out.print(ming+" ");    //1 4 6 7 
}

 4 退出指定循环

方法一:在循环前面加标签

loop:while (true) {
            System.out.println("-------------欢迎来到学生管理系统-------------");
            System.out.println("1:添加学生");
            System.out.println("2:删除学生");
            System.out.println("3:修改学生");
            System.out.println("4:查询学生");
            System.out.println("5:退出");
            System.out.print("请输入您的选择:");
            Scanner sc = new Scanner(System.in);
//        int choose = sc.nextInt();//若用户输入abc,则报错,不能进行修改
            String choose = sc.next();//若用户输入abc则不报错,提高容错率
            //选择功能
            switch (choose) {
                case "1":
                    System.out.println("添加学生");
                    break;
                case "2":
                    System.out.println("删除学生");
                    break;
                case "3":
                    System.out.println("修改学生");
                    break;
                case "4":
                    System.out.println("查询学生");
                    break;
                case "5":
                    System.out.println("退出");
                    break loop;    //退出名为loop的循环
                default:
                    System.out.println("没有这个选项");
            }
        }

方法二:停止虚拟机运行

while (true) {
    System.out.println("-------------欢迎来到学生管理系统-------------");
    System.out.println("1:添加学生");
    System.out.println("2:删除学生");
    System.out.println("3:修改学生");
    System.out.println("4:查询学生");
    System.out.println("5:退出");
    System.out.print("请输入您的选择:");
    Scanner sc = new Scanner(System.in);
    //int choose = sc.nextInt();//若用户输入abc,则报错,不能进行修改
    String choose = sc.next();//若用户输入abc则不报错,提高容错率
    //选择功能
    switch (choose) {
        case "1":
            System.out.println("添加学生");
            break;
        case "2":
            System.out.println("删除学生");
            break;
        case "3":
            System.out.println("修改学生");
            break;
        case "4":
            System.out.println("查询学生");
            break;
        case "5":
            System.out.println("退出");
            System.exit(0);    //直接结束虚拟机运行
        default:
            System.out.println("没有这个选项");
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

L-Q-W

您的鼓励是我创作最大的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值