【Java入門】キーボードから入力する(InputStreamReader/Scanner)

こんにちは!エンジニアの中沢です。

Javaにはキーボードから文字を入力するための「InputStreamReader」や「Scanner」があります。標準入力を扱うことができるので上手く活用してください。

この記事では、

  • 標準入力とは
  • InputStreamReaderでキーボードから入力する方法
  • Scannerでキーボードから入力する方法
  • nextIntメソッドで数値を入力する方法


などの基本的な内容から、応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、「InputStreamReader」や「Scanner」の使い方をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

標準入力とは

標準入力とはキーボードから文字を入力することです。標準入力を使えばキーボードから入力した文字を表示させたり、文字によってプログラムの動作を分岐させることなどができます。

キーボードからの入力はプログラムの基本になるので、ぜひ活用してください。

InputStreamReaderでキーボードから入力する方法

ここでは、InputStreamReaderでキーボードから入力した文字を読み取る方法を解説します。

キーボードから入力するには「InputStreamReaderクラス」、「BufferedReaderクラス」、「readLineメソッド」を組み合わせて使います。

次のプログラムで確認してみましょう。

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

public class Main {

    public static void main(String[] args) {

        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);

        System.out.println("キーボードから入力してください");

        String str = null;
        try {
            str = br.readLine();
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("入力された文字は「" + str + "」です");

    }

}

実行結果:

キーボードから入力してください
Samurai
入力された文字は「Samurai」です

このプログラムでは、「Samurai」と入力しています。このようにして、キーボードから入力した文字を表示することができました。

Scannerでキーボードから入力する方法

ここでは、Scannerでキーボードから入力する方法を解説します。Scannerで入力を受け付け、nextメソッドで入力された文字を読み取ります。

次のプログラムで確認してみましょう。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        System.out.println("キーボードから入力してください");

        Scanner scan = new Scanner(System.in);

        String str = scan.next();

        System.out.println("入力された文字は「" + str + "」です");

    }

}

実行結果:

キーボードから入力してください
Samurai
入力された文字は「Samurai」です

このプログラムでは、「Samurai」と入力しています。このようにして、Scannerでキーボードから入力した文字を表示することができました。

nextIntメソッドで数値を入力する方法

ここでは、nextIntメソッドで数値を入力する方法を解説します。nextメソッドは入力された文字を文字列として読み込みますが、nextIntメソッドは数値として読み込みます。

次のプログラムで確認してみましょう。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        System.out.println("キーボードから入力してください");

        Scanner scan = new Scanner(System.in);

        int num = scan.nextInt();

        System.out.println("入力された文字は「" + num + "」です");

    }

}

実行結果:

キーボードから入力してください
123
入力された文字は「123」です

このプログラムでは、「123」と入力しています。このようにして、数値として読み取り表示することができました。

まとめ

いかがでしたか?

今回は「InputStreamReader」と「Scanner」で、キーボードから入力する方法を解説しました。キーボードから入力した文字をプログラムで使用できるので、ぜひ活用してくださいね。

もし、標準入力の方法を忘れてしまったらこの記事を確認してください!

この記事を書いた人

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
ntakeshi@sejuku.net

目次