java常用类Scanner类

java常用类Scanner类

JDk5之后java添加了java.util.Scanner类,用于获取用户键盘的输入。
Scanner类的常用方法:
1.Scanner构造方法:Scanner(InputStream source)
2.hasNextXxx();
3.nextXxx();

Scanner(InputStream soure)方法

Scanner(InputStream source)有参构造方法是Scanner类常用的构造方法。
System类下有一静态字段:
	public static final InputStream in;   用于标准流的输入,对应着键盘。
在代码中要使用Scanner类需要导包:
import java.util.Scanner;
然后需要用户输入语句的话,就创建一个Scanner类
Scanner sc=new Scanner(System.in);

hasNextXxx()方法

hasNextXxx()方法:判断下一个类型是否是某种类型的元素,其中Xxx可以是int double等,如果需要判断是否包含下一个字符串,则可以省略Xxx。
public class MyTest {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一段数:");
        if(sc.hasNextInt()){
    
               //hasNextInt()判断是否输入的是整数
            System.out.println("你输入的是整数");
        }else if(sc.hasNextDouble()){
    
       //hasNextDouble()判断是否输入的是小数
            System.out.println("你输入的是小数");
        }else if(sc.hasNext()){
    
            //hasNext()判断是否输入的是字符串
            System.out.println("你输入的是字符串");
        }
    }
}

NextXxx()方法

NextXxx()方法:获取下一个输入项,其中Xxx可以是int double等,如果是字符串的话,Xxx可省略,也可以是Line。
public int nextInt();    获取int类型的值
public double nextDouble();  获取double型的值
public String nextLine();   获取String类型的值
public String next();    获取String类型的值
next()与nextLine()区别:
next():作为字符串输入的方法,自动屏蔽掉输入的分隔符,如空格,Tab键,回车键,直到遇到有效数字符输入后,则将这些分隔符作为结束标志
nextLine():则是将从开始输入的所有字符,包括分隔符,均作为控制台输入,只有在遇到enter回车键时,才结束输入,并将所有内容作为输入内容传给Scanner;
public class MyTest2 {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一段文字:");
        String str = sc.next();
        System.out.println(str);
        Scanner sc1 = new Scanner(System.in);
        System.out.println("请输入一段文字:");
        String str1 = sc1.nextLine();
        System.out.println(str1);
    }
}
运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51717449/article/details/110912883