Java基础之 输入和输出Scanner

这里说的输入和输出,不是我们经常理解的输入流和输出流,而是可以和用户交互的输入和输出模式,也就是我们编写一个程序,可以让用户输入内容,同时可以根据用户输入的内容,输出对应的结果。
Scanner类属于java.util包,提供了许多方法,可用来方便地读入不同类型的输入值。比如从键盘输入、从文件中输入等。

常用构造器:

Scanner scan = new Scanner(文件);
Scanner scan = new Scanner(输入流);

全部构造器:

Scanner(File source)
Scanner(File source, String charsetName)
Scanner(InputStream source)
Scanner(InputStream source, String charsetName)
Scanner(Path source)
Scanner(Path source, String charsetName)
Scanner(Readable source)
Scanner(ReadableByteChannel source)
Scanner(ReadableByteChannel source, String charsetName)
Scanner(String source)

来看几个简单demo,demo1:

import java.util.Scanner;

public class TestScanner {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(true) {
            System.out.print("请输入内容:");
            String content = scan.nextLine();
            System.out.println("您输入的内容:"+content);
            if("bye".equals(content)) {
                break;
            }
        }

    }

}

/* 输出
请输入内容:Hello itzhimei
您输入的内容:Hello itzhimei
请输入内容:Hello itzhimei2
您输入的内容:Hello itzhimei2
请输入内容:bye
您输入的内容:bye

Process finished with exit code 0
 */

demo2:

import java.util.Scanner;

public class TestScanner2 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入内容:");
        String content = scan.nextLine();
        while(content != null) {
            System.out.println("您输入的内容:"+content);
            if("bye".equals(content)) {
                break;
            }
            System.out.print("请输入内容:");
            content = scan.nextLine();
        }

    }

}

/* 输出
请输入内容:haha1
您输入的内容:haha1
请输入内容:haha2
您输入的内容:haha2
请输入内容:haha3
您输入的内容:haha3
请输入内容:bye
您输入的内容:bye

Process finished with exit code 0
 */
 

demo3

import java.util.Scanner;

public class TestScanner4 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNext()) {
            String content = scan.next();
            System.out.println("您输入的内容:"+content);
            if("bye".equals(content)) {
                break;
            }
        }

    }

}

/* 输出
a
请输入内容:您输入的内容:a
b
请输入内容:您输入的内容:b
c
请输入内容:您输入的内容:c
bye
请输入内容:您输入的内容:bye

Process finished with exit code 0
 */