検索

キーワード


【Java】拡張for文とは?基本構文を使った繰り返し処理の書き方

  • 公開日:2020-07-17 12:44:56
  • 最終更新日:2021-01-25 17:41:13
【Java】拡張for文とは?基本構文を使った繰り返し処理の書き方

こんにちは、駆け出しプログラマーの若江です!

ここでは初学者として学習を終えた私が、アウトプットの意味も込めて拡張for文 についてご紹介させていただきます。

できる限り初学者が理解しやすい内容として紹介させていただくので、参考となれば幸いです!


関連記事リンク:繰り返し構文(for文、while文の紹介)

繰り返し処理<拡張for文>の使い方

拡張for文はJDK5.0から新たに導入された文法です。

簡単に配列などのデータを1つずつ取り出すことができるためとても便利な文法です。

ここでは拡張for文の役割と書き方について紹介したいと思います。


拡張for文の役割

繰り返し処理にあたるfor文の仲間です。

「前処理」「繰り返し条件」「後処理」を書くfor文に対して、

拡張for文は「配列」や「コレクション」を呼び出してデータ個数分処理を繰り返すという特徴があります。

 ※for文自体の知識が怪しいという方はfor文の紹介リンクをページ下部貼っています。ご覧ください。


拡張for文の書き方

拡張for文は配列名やコレクション名を指定してデータを取り出します。

・for( 型 変数名:配列名やコレクション名 ){ 処理内容 }

※コレクションとは、ListやMap・Setなどの総称です


この拡張for文が使えるようになり、シンプルなコーディングで配列やコレクションのデータが取り出せるようになりました。

「型」は指定した配列(コレクション)の型に合わせます。

具体的なサンプルコードで確認しましょう。

// 変数weatherに "sunny","rainy","cloudy" を入れた配列を用意
String weather[] = {"sunny", "rainy", "cloudy"};

// 拡張for文で配列「weather」を変数名「weatherType」に代入
for(String weatherType : weather) {

  // 配列のデータ "sunny","rainy","cloudy" を表示
	System.out.println(weatherType);
}

あくまでもfor文の仲間ですので、下記のような流れでfor文の中で配列の情報を1つずつループしながら取り出しています。

①配列「weather」からデータを1つ「weatherType」へ代入する

②変数「weatherType」を表示する

③2周目、3周目と配列のデータがなくなるまで①②の処理を繰り返し行う


まとめ

拡張for文は裏側でイテレーターという機能が動いていて、

紹介した配列以外にもコレクション(List, Mapなど)の中身を取り出すことができるようになっているため、

活用できる場面は多いと思います。


記事関連リンク

繰り返し構文(for文、while文の紹介)




【著者】

若江

30代で異業種となるIT業界へ転職した駆け出しのプログラマです。これまで主に Java や Ruby、HTML/CSS を使って学習を目的としたショップサイトや掲示板サイトの作成を行いました。プログラマとしての経験が浅いからこそ、未経験者の目線に近い形で基礎の紹介をしていきたいと思います。

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様