カテゴリ: Java 更新日: 2026/02/08

JavaのScannerクラスとnextメソッドの使い方を徹底解説!初心者でもわかる入力処理

Scannerのnextメソッド
Scannerのnextメソッド

教材紹介 Java学習のおすすめ教材

Javaの基礎を体系的に整理しながら学習したい方には、 資格対策としても定評のある定番教材が参考になります。

Javaプログラマ Silver SE 17 教科書をAmazonで見る

※ Amazon広告リンク

先生と生徒の会話形式で理解しよう

生徒

「Javaでユーザーからの入力を受け取る方法を知りたいです。」

先生

「JavaではScannerクラスを使えば、キーボードからの入力を簡単に処理できますよ。」

生徒

「それってどのように使うんですか?具体例が見たいです。」

先生

「では、基本的なScannerクラスの使い方とnextメソッドについて説明しましょう。」

1. Scannerクラスとは?

1. Scannerクラスとは?
1. Scannerクラスとは?

JavaのScannerクラスは、ユーザーからの入力やファイルのデータを読み取るために使用するクラスです。主にキーボード入力の処理に使われ、java.utilパッケージに属しています。

以下は、Scannerクラスの特徴です:

  • 文字列や数値などのさまざまなデータ型を読み取ることができる。
  • 簡単にデータを分割することができる(例: スペース区切り)。
  • メモリ消費が少なく、シンプルなコードで操作可能。

2. nextメソッドの基本的な使い方

2. nextメソッドの基本的な使い方
2. nextメソッドの基本的な使い方

次に、Scannerクラスで最も基本的なメソッドの1つであるnextメソッドについて説明します。このメソッドは、単語単位で文字列を取得する際に使用されます。

以下に例を示します:


import java.util.Scanner;

public class ScannerNextExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("最初の単語を入力してください: ");
        String firstWord = scanner.next(); // 単語を取得
        System.out.println("入力された単語: " + firstWord);
        scanner.close();
    }
}

このプログラムでは、スペースや改行で区切られた最初の単語をnextメソッドで取得しています。

3. nextメソッドとnextLineメソッドの違い

3. nextメソッドとnextLineメソッドの違い
3. nextメソッドとnextLineメソッドの違い

初心者が混乱しやすいのが、nextメソッドとnextLineメソッドの違いです。それぞれの違いを以下にまとめました:

メソッド 動作 主な用途
next() スペースや改行で区切られた単語を取得 単語単位の入力
nextLine() 改行までの全ての文字列を取得 行全体の入力

例えば、以下のような入力を処理する場合、それぞれのメソッドで結果が異なります。

入力例: Hello Java World

  • next(): 「Hello」を取得
  • nextLine(): 「Hello Java World」を取得

4. Scannerクラスの便利な使い方

4. Scannerクラスの便利な使い方
4. Scannerクラスの便利な使い方

Scannerクラスはnextメソッド以外にも便利な機能を持っています。例えば、数値を取得する場合、nextIntnextDoubleメソッドを使用します。

以下は、数値入力の例です:


import java.util.Scanner;

public class ScannerNumericExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("整数を入力してください: ");
        int number = scanner.nextInt(); // 整数を取得
        System.out.println("入力された数値: " + number);
        scanner.close();
    }
}

このプログラムでは、ユーザーが入力した整数を取得し、それを出力します。

5. Scannerクラス使用時の注意点

5. Scannerクラス使用時の注意点
5. Scannerクラス使用時の注意点

最後に、Scannerクラスを使用する際の注意点をいくつか挙げます:

  • リソースの解放: scanner.close()を呼び出してリソースを適切に解放する。
  • 入力形式の注意: データ型に合わない入力をするとInputMismatchExceptionが発生する。
  • 改行の扱い: nextIntなどの後にnextLineを使用する場合、改行が残ることに注意する。

6. まとめ

6. まとめ
6. まとめ

今回の記事では、JavaのScannerクラスとその基本的なメソッドであるnextメソッドについて詳しく学びました。Scannerクラスはユーザーからの入力を処理するための便利なツールであり、基本的な使い方を理解すれば、さまざまなプログラムに応用できます。また、nextメソッドを活用して単語単位で入力を取得したり、nextLineメソッドを用いて行全体の入力を取得する方法についても学びました。

さらに、入力処理でよく使われるnextIntnextDoubleなどのメソッドの使い方や、それらを使用する際の注意点についても触れました。特に、scanner.close()によるリソースの解放や、例外処理に備えることが重要であることが分かりました。

以下に、今回の学びを活用した簡単なプログラム例を示します。これを試してみて、Scannerクラスの便利さを実感してください。


import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("名前を入力してください: ");
        String name = scanner.nextLine();

        System.out.print("年齢を入力してください: ");
        int age = scanner.nextInt();

        System.out.println("こんにちは、" + name + "さん。あなたは " + age + " 歳ですね!");

        scanner.close();
    }
}

このプログラムでは、名前と年齢の両方を入力する例を示しています。このように、複数の入力を組み合わせて扱うことで、より実用的なプログラムを作ることができます。

先生と生徒の振り返り会話

生徒

「今回のScannerクラスについて、基本から応用までしっかり学べました!特にnextメソッドとnextLineメソッドの違いが分かりやすかったです。」

先生

「良かったです。ScannerクラスはJavaプログラミングでとても役立つので、これを機にしっかりと使いこなせるようにしましょう。」

生徒

「今度はエラー処理についても学びたいです。例えば、入力ミスがあった場合の対応など。」

先生

「それは素晴らしい考えですね。次回は例外処理やtry-catch構文について学び、より堅牢なプログラムを作る方法を見ていきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaのScannerクラスとは一体どのような機能を持つクラスなのでしょうか?初心者にもわかりやすく教えてください。

JavaのScannerクラスは、プログラムを実行している最中に、ユーザーがキーボードから入力した文字や数値、あるいはファイルの中に保存されているデータなどを読み取るために用意された非常に便利なクラスです。Java標準ライブラリのjava.utilというパッケージに含まれており、プログラミング初心者がJavaの学習を始める際に、最初に行う「ユーザーとの対話型プログラム」の作成には欠かせない存在です。このクラスを使うことで、標準入力であるSystem.inからデータを受け取り、それを文字列や整数といったJavaのデータ型として簡単に扱うことができるようになります。
カテゴリの一覧へ
新着記事
New1
Spring
SpringDataJPAのJPAクエリメソッド「And」の使い方を完全ガイド!初心者向け解説
更新記事
New2
Spring
SpringDataJPAのJPAクエリメソッド「Distinct」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Java
JavaのScannerクラスとnextメソッドの使い方を徹底解説!初心者でもわかる入力処理
更新記事
New4
Thymeleaf
Thymeleafのth:lang属性を完全解説!初心者でもわかる国際化対応の方法
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.3
Java&Spring記事人気No3
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.4
Java&Spring記事人気No4
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.5
Java&Spring記事人気No5
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.6
Java&Spring記事人気No6
Spring
Spring BootのMultipartFile入門:ファイルアップロード・ダウンロードの実装方法と制限設定
No.7
Java&Spring記事人気No7
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.8
Java&Spring記事人気No8
Spring
SpringのModelクラスの使い方を完全ガイド!初心者でも安心

💻 作業効率アップに

長時間のコーディングでも疲れにくい♪ 静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazon広告リンク