

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
java.util.scanner とは?
Java の標準ライブラリには入力を扱う道具がいくつかあります。その中でも java.util.Scanner はテキストを分割して読み込むのにとても便利です。ここでは初心者にも分かりやすく、基本の使い方と注意点を丁寧に解説します。実務ではファイルや文字列からもデータを読み取れるので、プログラミングの練習にも役立ちます。
Scanner は名前のとおり読み取る道具の役割をします。コンソールからの入力だけでなく、文字列やファイルといった別の場所からもデータを取り出すことができます。まずは標準入力から使う基本を見ていきましょう。
基本的な使い方
まず Scanner を作成します。典型的な書き方は次のとおりです。Scanner sc = new Scanner(System.in);
その後、空白で区切られた次のデータを読み取りたい場合は next を使います。現在の行全体を読み取りたい場合は nextLine を使います。実際の例として名前と年齢を読む場合は次のようになります。String name = sc.next(); int age = sc.nextInt();
なお、入力が終わったらリソースを解放するために close を呼ぶのが基本です。つまり最後に sc.close();
次のトークンと行の違い
Scanner の最も重要な違いは next と nextLine の動作です。next は空白で区切られた次のトークンを返します、nextLine は現在の行の末尾までの文字列を返します。この違いを理解しないと、思わぬ場所で入力が途中で止まったり、次の読み取りが混乱します。
型を判定して読み取るコツ
Scanner には hasNext や hasNextInt などの判定メソッドがあります。hasNext で次の入力があるかを確認し、hasNextInt で次のデータが整数かを判断します。型を間違えると例外が発生するので注意しましょう。
実務で役立つ活用例
ファイルからデータを読み取る場合は新しく Scanner を作り、ファイルを渡します。読み取りが終わったら close を忘れずに。 locale の設定にも注意が必要で、地域設定により小数の区切り文字が変わることがあります。
よくある落とし穴と対策
入力と読み取りの順序に気をつけることが大切です。次のトークンを取り出す前に hasNext で確認する癖をつけると、想定外の入力でもアプリが落ちにくくなります。ファイルを読む場合は FileNotFoundException などの例外処理も必要です。
Scanner の代表的なメソッド
| メソッド | <th>説明|
|---|---|
| next | 空白で区切られた次のトークンを読み取る |
| nextLine | 現在の行の末尾までの文字列を読み取る |
| hasNext | 次の入力があるかを調べる |
| hasNextInt | 次の入力が整数かを判定する |
| close | Scanner を閉じてリソースを解放する |
入力ソースを変える例
Scanner は標準入力だけでなく、文字列やファイルなどからデータを読み取ることができます。実務ではテスト用データを文字列として用意したり、ファイルから一括でデータを読み取る機会が多いです。読み取りが終わったら必ず close を呼び、リソースを解放します。locale の設定にも注意が必要で、數字の小数点の扱いなど locale による差が出ることがあります。
まとめ
java.util.scanner は Java で入力を手軽に扱う強力な道具です。使い方を理解しておくと、学習の初期段階から実用的なプログラムを作るのが楽になります。基本を押さえ、次のステップとしてファイル入力や例外処理、 locale の扱いにも挑戦してみましょう。
java.util.scannerの関連サジェスト解説
- import java.util.scanner とは
- 今回は import java.util.scanner とは についての基本を中学生にも分かる言葉で詳しく解説します。Java ではプログラムを組む時に外から道具を借りる仕組みをパッケージと呼びます java.util はその中の一つで便利な道具が詰まっています Scanner はその中の入力を読み取る道具です なお正しいクラス名は Scanner で先頭が大文字です つまり正しいインポート文は import java.util.Scanner; となります lowercase の scanner を使うとエラーになります import はコードの先頭で書くのが基本です これにより java.util パッケージ内の Scanner クラスをコード中で直接使えるようになります 完全修飾名 java.util.Scanner を毎回書く手間が省けるのがメリットです ここから実践的な使い方の説明に入ります 入力元として System.in を使い文字列や数字を読み取る方法を紹介します 例えば名前の入力を受け付けて挨拶を作る簡単なプログラムでは Scanner を作成し次に文字列を読み取り次に出力します 実際のコードには入力を受け取る処理と文字列の連結出力の処理が含まれます なお使い終わったら Scanner を close してリソースを解放します 実務では try with resources を使うとさらに安全です こんな感じで import の意味や使い方を理解すると Java での入力処理がぐっと楽になります
java.util.scannerの同意語
- java.util.Scanner
- 正式な完全修飾クラス名。Java 標準ライブラリの java.util パッケージに含まれ、標準入力やファイル等からデータを読み取るための機能を提供します。
- Scannerクラス
- 日本語表現での呼び方。java.util パッケージに含まれる Scanner クラスを指します。
- Scanner
- 英語表記のクラス名。コード内でこの名前を使って Scanner クラスを参照します。
- スキャナー
- Scanner の直訳・日本語の呼び方。会話的な説明時に使われる言葉です。
- 標準入力読み取りクラス
- 標準入力を読み取る機能を持つクラスという説明表現です。
- 入力読み取りクラス
- 入力データを読み取る機能を提供するクラスを総称して表現する語です。
- Java の入力処理用クラス
- Java の標準ライブラリで、入力を扱うためのクラスのひとつであることを示します。
- Scanner API
- Scanner が提供するメソッド群(例: nextInt, nextLine など)を指す英語表現。
- java.util パッケージの Scanner
- Scanner クラスが属するパッケージと正式名称を示す表現です。
- Scannerオブジェクトを作るクラス
- Scanner はクラスで、実際には Scanner オブジェクトを作成して入力を読み取ります。
- java.util.scanner (誤表記)
- 正式名称は java.util.Scanner。小文字の 's' で書くのは誤表記で、検索・解説時には避けるのが一般的です。
java.util.scannerの対義語・反対語
- 出力用クラス
- Scanner が読み取りを担当する対義語として、データを出力・書き込みする役割を持つクラスの総称。代表例には java.io.PrintWriter、java.io.Writer、OutputStream、System.out などがある。
- PrintWriter
- テキストデータを出力するための代表的なクラス。Scanner の対義語として最も挙げられる出力側の実装。
- Writer
- 文字データをストリームへ書き込む抽象クラス。出力の基本的なインターフェースを提供する。
- OutputStream
- バイト単位でデータを出力する基底クラス。文字データだけでなく任意のバイトを出力できる。
- PrintStream
- バイトと文字の出力を担当するクラス。System.out の実装として広く使われる。
- System.out
- 標準出力へデータを書き出すための PrintStream。出力先の代表的な場所。
- FileWriter
- ファイルへ文字データを書き出す具体的な実装クラス。出力先の一例。
java.util.scannerの共起語
- Scannerクラス
- java.util パッケージにある Scanner クラス。キーボード入力などを簡単に読み取るためのクラスです。
- System.in
- 標準入力ストリーム。Scanner の入力元としてよく使われます。
- import java.util.Scanner;
- Scanner クラスを使うためのインポート宣言です。
- nextLineメソッド
- 次の改行までの行を文字列として取得します。改行前の文字列全体を読み取るのに便利です。
- nextメソッド
- 次のトークンを文字列として取得します。デフォルトの区切りは空白です。
- nextIntメソッド
- 次のトークンを整数として読み取るメソッドです。入力が整数以外だと例外が発生します。
- nextDoubleメソッド
- 次のトークンを浮動小数点数として読み取るメソッドです。
- hasNextメソッド
- 次の入力トークンがまだ存在するかを判定します。
- hasNextLineメソッド
- 次の行の入力があるかどうかを判定します。
- useDelimiterメソッド
- トークン分割をカスタマイズする区切り文字を設定します。正規表現を使えます。
- delimiter / 区切り文字
- Scanner がトークンを分割する際の区切り文字のこと。デリミタと呼ばれます。
- useLocaleメソッド
- 数値のパース時に locale を設定します。小数点記号や千位区切りの解釈を変えられます。
- Localeクラス
- 言語と地域情報を扱う java.util.Locale クラスです。
- InputMismatchException
- 入力データの型が期待と異なるときにスローされる例外です。
- NoSuchElementException
- 要求した要素がなかったときにスローされる例外です。
- IllegalStateException
- Scanner が閉じられている状態で操作を行ったときにスローされる例外です。
- tokensメソッド
- 入力をトークンの列として扱い、すべてのトークンを取得する機能です(通常は tokens() として提供されます)。
- closeメソッド
- Scanner を閉じてリソースを解放します。try-with-resources との組み合わせが推奨されます。
- BufferedReader
- Scanner の代替として使われることが多い、もう一つの入力読み取りクラス。パフォーマンス重視の場面で選ばれがちです。
- パース/トークン化
- 入力文字列を意味のある単位(トークン)に分ける処理の総称です。
java.util.scannerの関連用語
- Scannerクラス
- 入力ソースからトークンを読み取るためのクラスで、System.in やファイル、文字列などをソースとして指定してデータを読み取る際に使います。
- java.utilパッケージ
- Scanner クラスを含む Java 標準ライブラリのパッケージで、基本的なユーティリティクラスを提供します。
- System.in
- 標準入力ストリーム。通常はキーボード入力などを受け取るデフォルトの入力源です。
- InputStream
- バイト単位の入力を扱う抽象クラスの基底で、System.in はこのクラスの実装の一つです。
- Reader
- 文字データを読み取るための抽象クラスで、Scanner は Readable やその他のソースからデータを読み取る仕組みを提供します。
- Readable
- Scanner のソースとして受け付けられるインターフェース。
- nextメソッド
- 現在のトークンを文字列として返します。空白で区切られた最初のトークンを取得します。
- nextLineメソッド
- 現在の行の残りを 1 行として読み取り、改行までのテキストを返します。
- nextIntメソッド
- トークンを int 型に変換して返します。
- nextLongメソッド
- トークンを long 型に変換して返します。
- nextDoubleメソッド
- トークンを double 型に変換して返します。
- nextBooleanメソッド
- トークンを boolean 型に変換して返します。
- hasNextメソッド
- 次のトークンがまだ入力に存在するかを判定します。
- hasNextLineメソッド
- 次の行が入力にあるかを判定します。
- hasNextIntメソッド
- 次のトークンが int として解釈できるかを判定します。
- useDelimiterメソッド
- トークンを分割する区切り文字のパターンを変更します。
- デリミタ
- Scanner がトークンを区切る境界となるデフォルトは空白文字です。
- 正規表現
- デリミタやトークン分割に使われる文字列パターンの表現方法。
- Patternクラス
- 正規表現を扱うクラスで、デリミタに正規表現を使う場合に関連します。
- Pattern
- 正規表現のパターンを表現するクラスで、Pattern.quote などの補助機能も提供します。
- Locale
- Scanner の locale は数値の書式や文字の比較に影響します。
- useLocaleメソッド
- Scanner の locale を設定して、地域に合わせた数値の読み取りなどを行えるようにします。
- InputMismatchException
- 読み取ろうとしている型とトークンの実データ型が一致しない場合に投げられる例外です。
- NoSuchElementException
- 入力にもうトークンがない状態で読み取り操作を行うと投げられる例外です。
- IllegalStateException
- Scanner が閉じられている状態など、利用不可能な状態でメソッドを呼ぶと投げられる例外です。
- try-with-resources
- Scanner を自動的に閉じる資源管理の構文で、資源解放を安全に行えます。
- closeメソッド
- Scanner を閉じて内部資源を解放します。
- ファイルからの入力
- File や FileInputStream などをソースとして Scanner を使い、ファイルの内容を読み取ることができます。
- FileInputStream
- ファイルをバイト単位で読み取るストリーム。
- File
- ファイルを表すオブジェクトで、Scanner のソースとして使えます。
- FileReader
- ファイルを文字データとして読み取るリーダー。
- BufferedReader
- 大量データの読み込みに向く、効率的な文字入力ストリームで、Scanner より高速な場合が多いです。
- Token
- Scanner が分割する最小の読み取り単位。
- Tokenization
- 入力をトークンに分割する処理。
- 文字エンコーディング
- 入力ソースの文字コード。Scanner はエンコーディングを意識する場面があります。
- Scanner(String)
- 文字列をソースとして読み取るコンストラクタ。文字列からの読み取りを模倣します。
- パフォーマンス
- Scanner は一般に BufferedReader より遅いことがあるため、大量データの処理には注意が必要です。
- 代替
- 大量データの読み取りには BufferedReader や StreamTokenizer などの代替を検討します。
java.util.scannerのおすすめ参考サイト
- 【Java】Scannerの基本的な使い方 - note
- 【初心者向け Java】 ScannerとBufferedReaderの違いについて
- 【Java】Scannerクラス とは (備忘録) - Zenn
- 【Java】Scannerの基本的な使い方 - note



















