![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
SJC-P 問題集 問13の疑問より
for文について教えてください。
一般的なfor文だと次の形だと思うのですが
for(int i = 0; i < 5; i ++){
//5回ループする
}
Animal [] animals = { new Animal(), new Cow() };
for( Animal a : オブジェクト配列animals ){
a.saySomething();
}
のような場合、このfor文は
「オブジェクト配列の中にanimalsがあるまでの間、ループする」という意味を指しているのでしょうか?
for( クラス名 オブジェクト名 : オブジェクト配列)
の一文にある「:」← の役割は何なのでしょうか?
No.1ベストアンサー
- 回答日時:
>「オブジェクト配列の中にanimalsがあるまでの間、ループする」という意味を指しているのでしょうか?
いやいや、そうじゃない。
for (変数 : 配列またはコレクション )
これは、配列またはコレクションに保管されている要素を1つずつ取り出し、変数に設定してその後のブロックを実行する、ということ。配列などの全要素に対し同じ処理を実行するのに用いる。
>「:」← の役割は何なのでしょうか?
役割というか、「そう書く」と決まっているだけだからなぁ。つまりは、「:の後にある配列から順に値を取り出して、:の前にある変数におさめる」というのにこう書く、ということ。そう書く決まりだから、役割というほどのものでもない。
ありがとうございます。
for( Animal a : オブジェクト配列animals ) は、
Animal a より「a」という変数を生成しているところから
for (変数 : 配列またはコレクション ) の定義に当てはめることができているということですよね?
後のブロックを実行というのは、
↓の{}の中のことでしょうか?
------------------------------------------
for (変数 : 配列またはコレクション ){
}
------------------------------------------
>「:の後にある配列から順に値を取り出して、:の前にある変数におさめる」というのにこう書く
こちらを例とすると
for(Animal a : animals[オブジェクト配列] ){
a.saySomething();
}
(1) 配列の中の1番目の要素を取り出す → 配列1番目のオブジェクトにあるsaySomething()を実施
(2) 配列の中の2番目の要素を取り出す → 配列2番目のオブジェクトにあるsaySomething()を実施
という意味になる、という解釈で合っていますでしょうか?
;
No.2
- 回答日時:
この回答への補足
ありがとうございます。
現時点で解説を読ませていただいて、理解度的に90%ぐらいだと思うのですが、合っていますでしょうか?
>プログラミング言語においてリストやハッシュテーブルなどのデータ構造の各要素に対して与えられた文の実行を繰り返すというループを記述するための文
・リストやハッシュテーブルなどのデータ構造の各要素
"a""b""c" という各要素があれば、
「その各要素 一つずつに対してfor文の中を実行するという意味でしょうか?」
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 Elephants are the largest land animals. 10 2022/11/24 15:56
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- 英語 次の英文の誤りを教えてください。 2 2023/04/07 19:45
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaについて質問します。
-
インデックスソート
-
Stringの文字列に配列の値を追...
-
cloneメソッドについて (java)
-
配列で、値の入っている要素数...
-
String型をbyte型へ
-
Javaで文字と数字が混ざったも...
-
n番目に大きな値を探索する
-
配列の中に複数存在する数がい...
-
csvファイルを2次元配列に格納
-
Javaの構文について
-
CSVファイルを多次元配列に格納...
-
配列
-
C言語でunsigned char配列を連...
-
javaで大容量テキストファイル...
-
[Ljava.lang.Stringってなんですか
-
javaプログラミングでのかぶっ...
-
拡張for文について質問
-
2次元配列とじゃんけんアルゴ...
-
java enum
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
n番目に大きな値を探索する
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
Javaで文字を漢字であるか否か...
-
配列をセッションに割り当てた後で
-
配列の中に複数存在する数がい...
-
java
-
Javaで文字と数字が混ざったも...
-
C#で動的配列Listの中身をListB...
-
配列で、値の入っている要素数...
-
『args[]』とは?
-
【C#】ハッシュテーブル(連想...
-
ページング
-
セッションを使ったint型の値の...
-
配列について
-
同じ配列またはクラスを、2回...
-
ArrayListからBean配列に値をセ...
-
Java配列の問題を教えてくださ...
-
java 大文字と小文字を入れ替える
-
同じ文字を探しカウントしたい
おすすめ情報