Dizi ile çoklu değer
- Java kursu
- Başlangıç
- Ders 80/116
- 4 dk
Dizi döndürerek çoklu değer aktarmayı öğrenirsin.
Dizi döndürerek çoklu değer aktarma
Bir metot tek bir değer döndürür. Ama birden fazla değer aktarmak istersen, bir dizi içinde döndürebilirsin.
static int[] firstTwo(int a, int b) {
return new int[]{a, b};
}
int[] pair = firstTwo(3, 7);
// pair: {3, 7}Burada new int[]{a, b} ile iki elemanlı yeni bir dizi oluşturulup döndürülür. Dizi, metottan çıktıktan sonra bile geçerli kalır; çünkü nesne heap'te yaşar.
Dizi dönüşü ve kullanım
Dizi döndüren bir metodun sonucunu bir değişkene atar, sonra indekslerle elemanlara ulaşırsın. Dizinin uzunluğu .length ile okunur.
int[] pair = firstTwo(3, 7);
int a = pair[0];
int b = pair[1];
System.out.println(a + " " + b);
// 3 7Bu yöntem, özellikle hesaplama sırasında üretilen birden çok değeri tek pakette döndürmek için kullanışlıdır. İleride kayıt (record) türlerini de göreceksin.
Uygulama Minimum ve maksimumu döndür
minMax adında static int[] metot tanımla; parametreler int a, int b. Küçük olanı indeks 0, büyük olanı indeks 1 yapacak şekilde iki elemanlı dizi döndürsün. main içinde minMax(9, 4) çağırıp sonucu Arrays.toString ile yazdır.
Başlangıç kodu
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Metodu 9 ve 4 ile çağır, sonucu yazdır
}
// minMax metodunu buraya tanımla
}Örnek çözüm
static int[] minMax(int a, int b) {
if (a < b) return new int[]{a, b};
return new int[]{b, a};
}
// main içinde:
System.out.println(Arrays.toString(minMax(9, 4)));Beklenen çıktı
[4, 9]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İfade ve anlamı eşleştir
| Kavram | Anlamı |
|---|---|
new int[]{a, b} |
İki elemanlı yeni dizi |
return null; |
Hiçbir şey dönmez |
return new int[0]; |
Boş dizi döner |
int[] pair |
Dizi referansı değişkeni |
2 Boşluğu doldur: dizi döndür
static int[] firstTwo(int a, int b) {
return ____{a, b};
}
static int[] firstTwo(int a, int b) {
return new int[]{a, b};
}
Açıklama: new int[]{a, b} yeni bir dizi oluşturur.
3 firstTwo(3, 7)[1] ifadesi ne döner?
int[] pair = firstTwo(3, 7);- Hata fırlatır Doğru cevap
- 3
- 10
- 7
Açıklama: İndeks 1, ikinci elemanı verir.