JavaSE基础——(3)Java的键盘录入

目录

一、System.in方法和System.out方法

二、InputStreamReader和BufferedReader方法 

三、Scanner类


为了能让程序中的数据更灵活,可以让用户自己输入想要的数据,

我们需要实现键盘输入数据给程序,然后让程序运行得到结果。

(相比与C++的输入命令”>>“,Java的键盘输入感觉麻烦很多,可能这就是面向对象吧)

在Java中键盘录入一般有3种方法:

一、System.in方法和System.out方法

我们直接用System的in和out方法进行键盘录入,代码如下:

import java.io.IOException;

public class Main {
    public static void main(String[] args){
        try {
            System.out.print("请输入一个字符:");
            char inputChar = (char) System.in.read();
            System.out.println("成功输入,您输入的字符为:"+inputChar);
        }
        catch(IOException e){
            e.printStackTrace();
        }
    }
}

下图为程序运行结果:

缺点:

  • 只能从键盘获取字符的输入,并且每次只能获取一个字符。
  • 获取的数据类型为char类型,想要转为整型或者浮点型会比较麻烦。

二、InputStreamReader和BufferedReader方法 

接下来我们使用InputStreamReader和BufferedReader的方法来完成键盘录入功能,主要代码如下:

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args){
        try {
            System.out.print("请输入数据:");
            InputStreamReader isr=new InputStreamReader(System.in);//使用System.in构造InputStreamReader对象
            BufferedReader br=new BufferedReader(isr);//将构造的InputStreamReader对象构造BufferedReader对象
            String data=br.readLine();//读取输入的一行字符串
            System.out.println("成功输入,您输入的数据为:"+data);
        }
        catch(IOException e){
            e.printStackTrace();
        }
    }
}

下图为运行结果:

优点:

  • 可以获取键盘输入的任意字符串

缺点:

  • 如果要获取整型和浮点型数据还需要对获取的字符串进行二次转换

三、Scanner类

我们再使用Scanner类对键盘输入进行实现,主要代码如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入字符串数据:");
        String dataString=sc.nextLine();
        System.out.println("请输入整型数据:");
        int dataInt=sc.nextInt();
        System.out.println("请输入浮点型数据:");
        double dataDouble=sc.nextDouble();
        System.out.println(
                "您输入的字符串数据为:"+dataString+
                " 您输入的整型数据为:"+dataInt+
                "您输入的浮点型数据为:"+dataDouble);
    }
}

运行结果如下:

优点:

  • 可以获取键盘输入的字符串、整型、浮点型等数据

综合来看,使用Scanner类来完成键盘输入功能最强大。

猜你喜欢

转载自blog.csdn.net/weixin_39478524/article/details/109472275