1. Çoktan seçmeli operatör:switch
Java'nın büyükbabasından (C++) miras aldığı başka bir ilginç işleci vardır. açıklamadan bahsediyoruz switch
. Buna çoktan seçmeli bir operatör de diyebiliriz. Biraz zahmetli görünüyor:
switch(expression)
{
case value1: code1;
case value2: code2;
case value3: code3;
}
Parantez içinde bir ifade veya değişken belirtilir. İfadenin değeri ise value1
, Java makinesi çalışmaya başlar code1
. İfade şuna eşitse value2
yürütme atlar code2
: . İfade eşittir ise value3
, code3
yürütülür.
Örnek:
kod | Konsol çıkışı |
---|---|
|
|
2. break
ifadeswitch
Bir switch
ifadenin önemli bir özelliği, programın gerekli satıra (gerekli kod bloğuna) atlaması ve ardından switch
. Yalnızca içindeki değere karşılık gelen kod bloğu değil switch
, sonuna kadar tüm kod blokları switch
.
Örnek:
kod | Konsol çıkışı |
---|---|
|
|
36'lık bir sıcaklık verildiğinde, program switch
ifadeye girecek, ilk kod bloğuna (ilk durum) atlayacak ve onu çalıştıracak ve ardından geri kalan kod bloklarını neşeyle yürütecektir.
Yalnızca bir kod bloğunu - eşleşen durumla ilişkili kod bloğunu - yürütmek istiyorsanız , bloğu bir break
ifade ile bitirmeniz gerekir;
Örnek:
kod | Konsol çıkışı |
---|---|
|
|
Bu blok, break deyimi olan veya olmayan son blok olduğu için, deyimin son break
durumunda atlayabilirsiniz .switch
3. Varsayılan eylem:default
Bir başka önemli nokta. switch
Parantez içindeki ifade ile listelenen durumlardan hiçbiri eşleşmezse ne olur ?
Eşleşen bir durum bulunamazsa, ifadenin geri kalanı switch
atlanır ve program, ifadeyi sonlandıran kaşlı ayraçtan sonra yürütmeye devam eder switch
.
switch
Bununla birlikte, bir ifadenin bir ifadedeki else dalı gibi davranmasını da sağlayabilirsiniz if-else
. Bunu yapmak için default
anahtar kelimeyi kullanın.
case
Bloktaki s'lerden hiçbiri switch
ifadenin değeriyle eşleşmiyorsa ve switch
bir default
bloğa sahipse, varsayılan blok yürütülür. Örnek:
kod | Konsol çıkışı |
---|---|
|
|
4. Karşılaştırma switch
veif-else
İfade switch
, bir ifadeye biraz benzer if-else
, sadece daha karmaşıktır.
switch
Bir ifadenin kodunu her zaman çoklu ifadeler olarak yeniden yazabilirsiniz if
. Örnek:
Anahtarlı kod | if-else ile kodlayın |
---|---|
|
|
Soldaki kod, sağdaki kodla tamamen aynı şekilde çalışacaktır.
Bir ifade, her bir ayrı durumda çeşitli karmaşık ifadeler içerdiğinde, birden çok ifadeden oluşan bir zincir if-else
tercih edilir .if
5. Bir ifadede hangi ifadeler kullanılabilir switch
?
case
Bir ifadede tüm türler etiket olarak kullanılamaz switch
. Aşağıdaki türlerdeki sabit değerleri kullanabilirsiniz:
- tamsayı türleri:
byte
,short
,int
,long
char
String
- herhangi bir
enum
tür
Diğer türleri kasa etiketleri olarak kullanamazsınız .
enum
Inside a ifadesinin kullanımına örnek switch
:
Day day = Day.MONDAY;
switch (day)
{
case MONDAY:
System.out.println("Monday");
break;
case TUESDAY:
System.out.println("Tuesday");
break;
case WEDNESDAY:
System.out.println("Wednesday");
break;
case THURSDAY:
System.out.println("Thursday");
break;
case FRIDAY:
System.out.println("Friday");
break;
case SATURDAY:
System.out.println("Saturday");
break;
case SUNDAY:
System.out.println("Sunday");
break;
}
enum
Not: Bir deyimin içinde kullanırsanız switch
, sınıf adını etiketlerdeki her değerin önüne yazmanız gerekmez case
. Değeri yazmanız yeterlidir.
GO TO FULL VERSION