Scanner对象

java.util.Scanner类用来获取用户的输入,由此实现程序和人的交互

基本语法

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

基本使用流程

public class Demo01 {
    public static void main(String[] args) {

        //创建一个扫描器对象,用于接收键盘数据
        Scanner s = new Scanner(System.in);//执行完这行代码之后,程序会停住等待用户输入数据
        String str = s.next();//输出的字符串用next()方法接收
//      String str = s.nextLine(); nextLine()方法也可以接收

        //打印输入的结果
        System.out.println("输出的数据是:" + str);

        //凡是属于IO流的类使用完不关闭会占用后台资源,用close()方法关闭
        s.close();

    }
}

next()和nextLine()方法的区别

next()方法会将空格视为结束符,而nextLine()方法不会。例如当输入的值为 Hello Word时,用next()方法接收,接收的值是Hello;用nextLine()接收,接收的值是Hello Word。


next()和hasNext()的拓展方法

public class Demo01 {
    public static void main(String[] args) {
/*
hasNextInt()方法可以判断输入的数是否为整数;
hasNextDouble()方法可以判断输入的数是否为浮点数;其他类型同理,hasNext()判断是否是字符串

nextInt()方法接收int类型数据;
nextDouble()接收double类型数据;其他类型同理,next()接收字符串
 */
        Scanner s = new Scanner(System.in);
        System.out.print("请输入:");

        while(s.hasNextInt()){  //判断输入的类型是不是int
            int i = s.nextInt();//接收int类型变量
            System.out.println("输出的结果是整数:"+ i);
            System.out.print("请再次输入:");    //如果一直输入int类型数据程序会一直运行
        }

        String str = s.next();//接收字符类型变量
        System.out.println("输出的结果是字符串:" + str);

        s.close();
    }

运行结果:

请输入:10
输出的结果是整数:10
请再次输入:20
输出的结果是整数:20
请再次输入:s
输出的结果是字符串:s
posted @ 2020-11-21 21:14  IAimHigher  阅读(106)  评论(0)    收藏  举报