java基础课堂随记4

Scanner对象

之前学的基本语法中没有实现程序和人的交互,但是Java提供了这样一种工具类,可以让我们获取用户的输入。java.util.Scanner是Java5的新特性,可以通过scanner类来获取用户的输入。

基本语法:

Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般使用hasNext()和hasNextLine()判断是否还有输入的数据


自动生成对象方法

new Scanner(System.in)

按住ctrl+alt+v,可以直接出来

Scanner scanner = new Scanner(System.in);

这是从右往左的写法

如果是从左往右生成,则是ctrl+alt+空格,可以直接创建或者给出提示帮助我们迅速创建对象。

原文链接:https://jingyan.baidu.com/article/495ba841bd741f38b30ede87.html


yieHvq.png

使用next()输出的结果

package scanner;

import java.util.Scanner;

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

        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方式接收:");

        //判断用户有没有输入字符串
        if (scanner.hasNext()==true){   //这里的==true可以省略,是一样的效果
            //使用next方式接收
            String str = scanner.next();
            System.out.println("输入的内容为:"+str);
        }

        //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关掉
        scanner.close();
    }
}

如果输入hello world,输出的结果是hello

使用nextLine()输出效果:

package scanner;

import java.util.Scanner;

public class Demo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接收:");

        if (scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("输入的内容为:"+str);

        }
        scanner.close();
    }
}

可以输出hello world 的效果

结论:next()不能输出带空格的,nextLine可以

凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关掉

不用if判断的方法,直接用nextLine来接收就可以:

package scanner;

import java.util.Scanner;

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

        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入:");

        String str = scanner.nextLine();

        System.out.println("输出的内容为:"+str);
        
        scanner.close();
    }
}

posted @ 2021-01-29 17:04  Izereal  阅读(41)  评论(0)    收藏  举报