java中Scanner类的使用方法及常用的包(超详细)

刚接触java由于想知道java中如何在键盘上输入一个数或一个串,上网查了一下,并且学习了Scanner类,总结了以下的一些方法,希望对你有帮助:
下方的表,就提供了Scanner的基本常用方法,后方还有还有代码对此进行举例分析:
在这里插入图片描述
先解释一下上面用法的含义,例如nextInt()就表示在键盘上获取一个int类型的整数,如果你输入的不是int类型的整数,则程序会报错,其他类型的也是同理。

重点区分next()和nextLine(),其实也很好区分,这两个都是在键盘上读取一个字符串,不同之处就跟c语言中用scanf("%s",字符串),和gets()输入一个串的区别一样,就是用%s输入字符串,遇到空格就会结束读入,而用gets输入直到遇到换行才会结束,而next()和nextLine()的区别也是这样

代码举例如下:

import java.util.*;//导入java.util下的所有类,import与c语言中的#include头文件有些类似
public class useage {
    public static void main(String[] args){
        
        Scanner input=new Scanner(System.in);

        System.out.println("输入一个带有空格的串用nextLine()输入");
        String str1=input.nextLine();
        System.out.println(str1);

        System.out.println("输入一个带有空格的串用next()输入");
        String str2=input.next();
        System.out.println(str2);

        System.out.println("输入一个串并输出这个串的第二个字符");
        String str3=input.nextLine();
        System.out.println(str3.charAt(1));//这里注意输出串中第二个字符时用的是小括号而不是[]
        
        System.out.println("输入两个整数");
        int a=input.nextInt(),b=input.nextInt();
        System.out.printf("%d+%d=%d\n",a,b,(a+b));

        System.out.println("输入两个Double类型的小数");
        double c=input.nextDouble(),d=input.nextDouble();
        System.out.println("两个小数的差为"+(c-d));
    }
}

运行结果为:
在这里插入图片描述
细心的人可能看到我上面的图片箭头所指的位置,可能会有疑惑明明还没有输入字符串怎么会有输出呢?

解释这个问题其实也很简单,我在上面提到用next()输入,在读取字符串的时候遇到空格就会停止读入,所以当我输入“twq er”时只能读取空格前面的twq,而twq后面的字符“  er”就会读到str3串中,第一个字符为空格,第二个字符为e,因此我箭头所指的e就是这么来的。


Scanner另一种常用的方法:
在这里插入图片描述
有了上面方法的基础,看到这种方法我解释一个之后你可能就明白了,比如hasNextInt(),如果当前输入时整数类型则返回true,其它的一次类推

java中常用的包:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44313771/article/details/106156298