当我们在学习java的时候会遇到一些问题使用键盘来输入数据,那么怎么使用键盘输入数据呢?
 在Java中有一个Scanner类,使用很简单,下面我们来简单介绍一下这个Scanner类. 
  首先我们要使用Scanner类的时候需要声明一个Scanner变量并实例化一个Scanner,然后使用System.in来传入数据,如下: 
 Scanner scanner = new Scanner(System.in);
咱们首先来看下Scanner类里有哪些常用方法:
图片摘自Scanner Api
  其实上面这些方法基本都是大同小异,相信学习过Java变量和数据类型的同学都可以看得懂这些next后面数据类型的意思,
那么我们这里主要介绍一下next和nextLine的用法,因为这两个用法在不熟悉Scanner类的时候很容易使用错误,咱们先贴一段代码来演示两个用法的不同:
 那么我们这里主要介绍一下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来计算,写法都是一样的,这里就先介绍到这里.
   
  

京公网安备 11010502036488号