6/365 java Scanner类 switch case

1.Scanner类

用于终端用户输入输出交互

Scanner scanner = new Scanner(System.in);
System.out.println("Please input: ");
String s = scanner.nextLine();
System.out.println("You input: " + s);

System.out.println("Please input: ");
String r = scanner.next();
System.out.println("You input: " + r);
        
scanner.close();//IO class occupy resource , need to close

同样输入”I DO"

nextLine得到"I DO"

next得到”I"

nextLine以回车键作为结束符

next以空格键作为结束符或分隔符

        Scanner scanner = new Scanner(System.in);
        System.out.println("Please input: ");
        while(scanner.hasNext()) {
            String s = scanner.next();
            System.out.println("You input: " + s);
            System.out.println("Please input: ");
        }
        scanner.close();//IO class occupy resource , need to close

hasNext()用于判断缓冲区是否仍有数据,若有数据,返回true,继续扫描。

若已经无数据,则阻塞,等待终端输入数据。

需要注意的是程序不会结束,会一直阻塞。

网上说可以设置一个终止符,调用hasNext()的重载方法hasNext(String patten)

但是我尝试了,会直接exit。

另外还可以指定输入数据的类型:

hasNextInt() hasNextFloat() hasNextDouble()

若输入的内容不是int/folat/double,会返回false。

如果输入的内容类型正确,就会一致扫描,直到没有数据,阻塞,等到终端输入。

2. switch case

        int m = 2;
        switch(m){
            case 1:
                System.out.println("a");
                break;
            case 2:
                System.out.println("b");
                break;
            default:
                System.out.println("c");
        }

switch后的表达式可以是char,int,short,byte和String类型

case后为字面量或字符串常量

表达式的值与case对应,决定跳转位置,若没有break,会一直往下执行,执行之后的每一个case的内容。

所以每个case都需要写break;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值