UPSTARTSのぱみやすです
今回はJavaの「配列の要素」扱ってみたいと思います
配列の要素を扱うことがよくあるので、その方法をみていきましょう
1 2 3 4 |
String[] pirate = {"麦わら","赤髪","白ひげ"}; System.out.println(pirate[0]); System.out.println(pirate[1]); System.out.println(pirate[2]); |
このように配列の要素を取り出す処理があるとします
今回は3つですが、取り出す値が100こある場合など一つ一つ書くと長くなってしまいます
この場合、「for文」を使ってスマートに取り出すことができます
では例を書いていきます
1 2 3 4 |
String[] pirate = {"麦わら","赤髪","白ひげ"}; for(int i = 0; i < 3; i++) { System.out.println(pirate[i]); } |
「for文」で3回、繰り返す処理を書き、
表示させる処理に、「[]」の中に「i」を書いてあげればOKです
実行するとこのように表示されます
麦わら
赤髪
白ひげ
length
また値の数が増えた場合、条件式の「3」を書き換えなければいけません
その場合「length(レングス)」を使って書く方法があります
1 2 3 4 |
String[] pirate = {"麦わら","赤髪","白ひげ"}; for(int i = 0; i < pirate.length; i++) { System.out.println(pirate[i]); } |
ただ単に、「3」を「pitare.length」に置き換えれば、要素を取得することができ、
要素が増えた場合など、数値を一回一回、変える必要が無くなります
拡張for文、for-each文
さらにスマートに書く方法があるのでそちらもみておきましょう
「for文」を書いてあげて「()」の中をこのように書き、「value」を表示させます
1 2 3 4 |
String[] pirate = {"麦わら","赤髪","白ひげ"}; for(String value : pirate) { System.out.println(value); } |
こちらの意味は、「pirate」の配列の中から 1 つずつ要素を取り出して、 変数「value」 に代入しなさい
「pirate」の要素が終わるまで 処理を実行しなさい、という意味になります
それでは要素を一つ増やして実行してみます
僕の好きな「九蛇」を追加します
1 2 3 4 |
String[] pirate = {"麦わら","赤髪","白ひげ","九蛇"}; for(String value : pirate) { System.out.println(value); } |
実行するとこのように表示されます
麦わら
赤髪
白ひげ
九蛇
このような記述方法を「拡張for文」または「for-each文」と言います
まとめ
配列の要素をお使うことはよくあるので使えるようにしておきましょう
1 2 3 4 5 6 7 8 9 10 |
public class Main { //配列の要素を扱う public static void main(String[] args) { String[] pirate = {"麦わら","赤髪","白ひげ"}; for(int i = 0; i < 3; i++) { System.out.println(pirate[i]); } } } |
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { //配列の要素を扱う public static void main(String[] args) { //length String[] pirate = {"麦わら","赤髪","白ひげ"}; for(int i = 0; i < pirate.length; i++) { System.out.println(pirate[i]); } } } |
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { //配列の要素を扱う public static void main(String[] args) { //拡張for文、for-each文 String[] pirate = {"麦わら","赤髪","白ひげ","九蛇"}; for(String value : pirate) { System.out.println(value); } } } |
では次回は「基本データ型と参照型のメモリの関係」についてやっていきましょう