当我们在学习java的时候会遇到一些问题使用键盘来输入数据,那么怎么使用键盘输入数据呢?
在Java中有一个Scanner类,使用很简单,下面我们来简单介绍一下这个Scanner类.

首先我们要使用Scanner类的时候需要声明一个Scanner变量并实例化一个Scanner,然后使用System.in来传入数据,如下:
Scanner scanner  =  new Scanner(System.in);

咱们首先来看下Scanner类里有哪些常用方法:
图片摘自Scanner Api

其实上面这些方法基本都是大同小异,相信学习过Java变量和数据类型的同学都可以看得懂这些next后面数据类型的意思,
那么我们这里主要介绍一下next和nextLine的用法,因为这两个用法在不熟悉Scanner类的时候很容易使用错误,咱们先贴一段代码来演示两个用法的不同:

next()

public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("这里展示next方法的用法:");
        String next = scanner.next();
        System.out.println(next);
    }
}
上面的代码中运行结果如下:
这么一看好像也没有什么问题啊?如果我们在123的后面加上一个空格然后在输入其它的数据的时候,会发生什么呢?
我们会发现结果仍然是123,那么空格后的为什么不会打印出来呢?其实next()不能读取由空格隔开的字符,next会将空格,tab和回车作为分割符号或结束语句,

nextLine()

那么nextLine则相反,nextLine会读取所有输入的字符,包括空格,但是也以回车来结束输入,如下:
public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("这里展示nextLine方法的用法:");
        String next = scanner.nextLine();
        System.out.println(next);
    }
}
打印结果如下:

小练习

在学习了Scanner类之后,我们可以写一些小练习来加深自己的记忆和编码能力
练习:请键盘输入圆的半径,计算出圆的面积
首先可以先想到圆的面积的公式为:S=πr²
那么键盘输入,在学习了Scanner后大家都可以立即想起,那么我们使用Scanner:

public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入圆的半径:");
        double radius = scanner.nextDouble();
        double area = 3.14 * radius * radius;
        System.out.println("圆的面积是:" + area);
    }
}

在看过上面的Api之后,应该会明白nextDouble的意思,这里使用nextDouble是因为圆的面积是浮点型,所以使用Double来进行计算,如果是整数呢的正方体运算之类的呢?那就可以使用nextInt来计算,写法都是一样的,这里就先介绍到这里.