Java SE Ders16 - Diziler - II
Bu derstte dizileri ve dizi elemanlarını metotlara nasıl argüman olarak gönderileceğini göstereceğiz.
Argüman olarak dizi alan bir metot örneği aşağıdadır.
- public void kareAl(int[] sayilar){..}
Yani yukarıdaki metoda örneğin,
- int [] sayilar1 = {1,2,3,4} dizisini tanımayıp,
- karelAl(sayilar1) şeklinde argüman olarak gönderilirse,
- metodun parametresi olan sayilar üzerinde yapılan değişiklikler gönderilen argüman olan sayilar1 dizisini etkiler.Yani çağrılan metodun dışında da yapılan değişikler kendini koruyacaktır.
- public void kareAl2(int sayi){..}
Yani yukarıdaki kareAl2 metoduna örneğin,
- int [] sayilar1 = {1,2,3,4} dizisini tanımayıp,
- karelAl2(sayilar1[3]) şeklinde argüman olarak gönderilirse,
- metodun parametresi olan sayi üzerinde yapılan değişiklikler gönderilen argüman olan sayilar1[3] değişkenini etkilemez.Yani çağrılan metodun dışında yapılan değişikler kendini korumayacaktır.
Şimdi bu anlatılanları içeren örneği yapalım.
Main.java
package test; public class Main { public static void main(String[] args) { int[] sayilar1 = { 1, 2, 3, 4 }; int[] sayilar2 = { 1, 2, 3, 4 }; System.out.println("kareAl metodu çağrılmadan önce sayilar1 dizisi :"); for (int a : sayilar1) { System.out.print(a + "\t"); } kareAl(sayilar1); System.out.println("\nkareAl metodu çağrıldıktan sonra sayilar1 dizisi :"); for (int a : sayilar1) { System.out.print(a + "\t"); } System.out.println("\n----------------------------------------------"); System.out.println("kareAl2 metodu çağrılmadan önce sayilar2 dizisi :"); for (int a : sayilar2) { System.out.print(a + "\t"); } kareAl2(sayilar2[3]); System.out.println("\nkareAl2 metodu çağrıldıktan sonra sayilar2 dizisi :"); for (int a : sayilar2) { System.out.print(a + "\t"); } } static void kareAl(int[] sayilar) { for (int i = 0; i < sayilar.length; i++) { sayilar[i] = sayilar[i] * sayilar[i]; } } static void kareAl2(int sayi) { sayi=sayi*sayi; } }
Yorumlar
Yorum Gönder