Java学习day11

package scanner;

import java.util.Scanner;

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

        //①next方法:
        Scanner scanner = new Scanner(System.in);
        //创建一个扫描器对象,用于接收键盘数据。new:创建。System.in:输入
        System.out.println("使用next方式接收:");

        if (scanner.hasNext()) {
            //判断用户有没有输入字符串。if语句默认为true
            String str = scanner.next();
            //使用next方式接收。程序会等待用户输入完毕
            System.out.println("输入的内容为:"+str);
        }

        scanner.close();
        //凡是属于IO流的类,如果不关闭会一直占用资源

        /*输出结果的第一句话是
        使用next方式接收:
        但此时运行还未结束,需等待用户输入字符串后才会结束,如:输入
        Hello World!
        输出为:Hello
         */

        //②nextLine方法:
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接收:");
        if (scanner.hasNextLine()) {
            String str1 = scanner.nextLine();
            System.out.println("输入的内容为:"+str1);
        }
        scanner.close();
        /*输出结果的第一句话为:
        使用nextLine方式接收:
        再输入:Hello World!
        输出为:Hello World!
         */

        //不用if判断句也能执行:
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数据:");

        String str2 = scanner.nextLine();
        System.out.println("输出结果为:"+str2);

        scanner.close();
        //这里输出结果同上


    /*next():
    1、一定要读取到有效字符后才可以结束输入;
    2、对输入有效字符之前的空白会自动将其去掉;
    3、只有输入有效字符之后才将其后面输入的空白作为分隔符或结束符;
    4、不能得到带有空格的字符串

      nextLine():
    1、以Enter(即回车键)为结束符,即不论输出多少字符,在输入Enter之前都会输出
    2、可以获得空白
    */
    }
}
posted @ 2021-04-11 23:24  扶苏公子不服输  阅读(37)  评论(0)    收藏  举报