Menu
Coddy logo textTech

Switch İfadesi

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 36 / 59.

Switch ifadesi, switch ifadeleri yazmanızı daha özlü hale getirerek değerleri doğrudan döndürmenizi sağlayan bir özelliktir. Nasıl çalıştığını görelim.

Değer döndüren temel bir switch ifadesi oluşturun:

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

Yukarıdaki kodu çalıştırdıktan sonra, message değişkeni şunu içerir:

"One"

Ayrıca birden fazla durumu birlikte işleyebilirsiniz:

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

Yukarıdaki kodu çalıştırdıktan sonra, type değişkeni şunu içerir:

"Weekday"

challenge icon

Görev

Kolay

getDayType adında bir metot oluşturun ki iki argüman alsın:

  1. Haftanın günü (1-7) temsil eden bir tamsayı (day)
  2. Dönüş formatını belirleyen bir boolean (abbreviated)

Metot, gün tipini döndürmek için bir switch ifadesi kullanmalıdır:

  • 1-5 günleri için (Pazartesi'den Cuma'ya): kısaltılmamışsa "WORKDAY" döndürün, kısaltılmışsa "WKD"
  • 6-7 günleri için (Cumartesi ve Pazar): kısaltılmamışsa "WEEKEND" döndürün, kısaltılmışsa "WKND"
  • Herhangi başka bir sayı için: kısaltılmamışsa "INVALID" döndürün, kısaltılmışsa "INV"

Kopya kağıdı

Switch ifadeleri, ok sintaksını (->) kullanarak değerleri doğrudan döndüren özlü switch deyimleri yazmanıza olanak tanır:

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

Birden fazla durumu virgülle ayırarak birlikte işleyebilirsiniz:

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

Kendin dene

import java.util.Scanner;

public class Main {
    public static String getDayType(int day, boolean abbreviated) {
        // Buraya kodunuzu yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int day = Integer.parseInt(scanner.nextLine());
        boolean abbreviated = Boolean.parseBoolean(scanner.nextLine());
        
        System.out.println(getDayType(day, abbreviated));
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler