【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」で、キーボードから入力する方法を解説しました。キーボードから入力した文字をプログラムで使用できるので、ぜひ活用してくださいね。

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

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次