Scannerクラスの使い方!Javaで標準入力を取得する方法【初心者向け】

初心者向けにJavaで標準入力を取得する方法について解説しています。標準入力の取得にはScannerクラスを使います。取得の手順を実際にサンプルコードを書いて説明しているので、ぜひ参考にしてみてください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

標準入力を取得するためには、Scannerクラスを使用します。

取得した標準入力の情報を使って処理を行いたい場合や、対話型のプログラムで利用します。

実際にプログラムを書いて説明しているので、ぜひ理解しておきましょう。

 

なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

標準入力を取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

Scannerの書き方

標準入力の取得は下記の手順で行います。

1.java.util.Scannerをインポートする。

2.Scannerクラスのインスタンスを作成。コンストラクタの引数にSystem.inを指定する。
System.in は、InputStream のオブジェクトで、標準入力(通常はキーボードからの入力)を示しています。

3.nextLine( )またはnext( )メソッドを使って、Scannerクラスのインスタンスから入力内容を取得。
nextLine( )メソッドは空白(スペース)を含む文字列を取得することができます。
一方next( )メソッドは空白までの文字列を取得します。

例えば、標準入力で”雨 水”という一行を入力した場合、nextLine( )メソッドを使うと”雨 水”が取得されますが、next( )メソッドの場合は一回の取得で得られるのは”雨”のみですので、全ての内容を取得したい場合はnext( )メソッドを繰り返し動作させる必要があります。

 

実際に書いてみよう

ソースコード

import java.util.Scanner;

public class Sample {

  public static void main(String[] args) {

    // Scannerクラスのインスタンスを作成
    // 引数で標準入力System.inを指定する
    Scanner scanner = new Scanner(System.in);

    // 入力を促すメッセージ
    System.out.print("入力してください > ");

    //入力された内容をインスタンスから取得
    String input_text = scanner.nextLine();

    //入力された内容を画面に表示
    System.out.println(input_text + "が入力されました");

    // Scannerクラスのインスタンスをクローズ
    scanner.close();

  }

}

実行すると、コンソールに”入力してください > “が表示されるので、続けて内容を入力しエンタキーを押します。

すると、入力した内容が表示されます。

実行結果

入力してください > おはよう
おはようが入力されました

 

[PR] Javaで挫折しない学習方法を動画で公開中

監修してくれたメンター

長屋雅美

独立系SIerで7年勤務後、現在はフリーのエンジニアとして自宅をオフィスとして活動しています。
JavaやC#、shellscriptを用いた開発を主に担当し、TechAcademyではJavaコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。