常用类(2):Scanner类

常用类(2):Scanner类

Scanner类

1、通过jdk工具查出,Scanner类在util下,需要导包

image

2、键盘录入工具:Scanner

注意:不能以Scanner作为class文件名
//导包
import java.util.Scanner;
public class ScannerDemo1 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //键盘录入一个int类型的数据
        //在API中写出:public int nextInt()将输入的下一个标记扫描为int
        int i = sc.nextInt();
        System.out.println(i);

        //键盘录入一个字符串
        String s1 = sc.next();
        System.out.println(s1);
    }
}

执行结果如下:

image

3、在API中,Scanner类中也有另外一个键盘录入字符串:public String nextLine()

sc.next()和sc.nextLine()两个键盘录入字符串有什么区别?

使用sc.next()
//导包
import java.util.Scanner;
public class ScannerDemo1 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //先输入一个整型再输入一个字符串
        int i = sc.nextInt();
        String s1 = sc.next();
        System.out.println(i);
        System.out.println(s1);
    }
}
        执行结果如下:
                    88
                    你好阿伟
                    88
                    你好阿伟

                    Process finished with exit code 0
使用sc.nextLine()
//导包
import java.util.Scanner;
public class ScannerDemo1 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //先输入一个整型再输入一个字符串
        int i = sc.nextInt();
        String s = sc.nextLine();
        System.out.println(i);
        System.out.println(s1);
    }
}
            执行结果如下:
                    88
                    88


                    Process finished with exit code 0
   /*
   当输入88回车的时候,程序只会输出88,然后运行停止,而且输出结果多了一个空行
   原因:nextLine()可以读取到特殊的符号,比如换行符;
   当我们输入88,然后再回车,回车相当于换行符,被nextLine()读取了,
   说明在String s = sc.nextLine();中,相当于把换行符传给了s,
   然后输出就会多了一个空行。
   */
posted @ 2021-12-16 21:16  阿伟宝座  阅读(267)  评论(0)    收藏  举报