はじめに
ここまでで配列の基本と、二次元配列まで扱えるようになったね。
次は「配列をメソッドに渡す」練習をしていこう!
メソッドを使うと、処理を「部品」としてまとめて再利用できる。
配列とメソッドを組み合わせれば、コードがすっきりするよ。
🎓 配列を引数に渡す
配列は「参照型」だから、メソッドに渡すときに中身を共有できる。
public class Sample {
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static void main(String[] args) {
int[] numbers = {1, 2, 3};
printArray(numbers);
}
}
出力:
1
2
3
numbersの配列をprintArrayに渡すと、中身が順番に表示されるよ。
🎓 配列を戻り値にする
メソッドから配列を作って返すこともできる。
public class Sample {
public static int[] createArray(int n) {
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = i;
}
return arr;
}
public static void main(String[] args) {
int[] nums = createArray(5);
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
}
出力:
0
1
2
3
4
🎓 配列は参照を共有する
public class Sample {
public static void changeFirst(int[] arr) {
arr[0] = 999;
}
public static void main(String[] args) {
int[] nums = {1, 2, 3};
changeFirst(nums);
System.out.println(nums[0]);
}
}
出力:
999
メソッドに渡した配列は同じ実体を共有しているから、外側の配列も書き換わる。
⚡ 例:ポケモンのhPの配列を逆順に並べ替える
public class Sample {
public static int[] reverse(int[] arr) {
int[] result = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
result[arr.length - 1 - i] = arr[i];
}
return result;
}
public static void main(String[] args) {
int[] hpList = {35, 50, 12};
int[] reversed = reverse(hpList);
for (int i = 0; i < reversed.length; i++) {
System.out.println(reversed[i]);
}
}
}
出力:
12
50
35
ピカチュウのHPリストを逆順に並べ替えてみたよ!
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!