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 value2yürütme atlar code2: . İfade eşittir ise value3, code3yürütülür.
Örnek:
| kod | Konsol çıkışı |
|---|---|
|
|
2. breakifadeswitch
Bir switchifadenin ö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 switchifadeye 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 breakifade ile bitirmeniz gerekir;
Örnek:
| kod | Konsol çıkışı |
|---|---|
|
|
Bu blok, break deyimi olan veya olmayan son blok olduğu için, deyimin son breakdurumunda atlayabilirsiniz .switch
3. Varsayılan eylem:default
Bir başka önemli nokta. switchParantez içindeki ifade ile listelenen durumlardan hiçbiri eşleşmezse ne olur ?
Eşleşen bir durum bulunamazsa, ifadenin geri kalanı switchatlanır ve program, ifadeyi sonlandıran kaşlı ayraçtan sonra yürütmeye devam eder switch.
switchBununla birlikte, bir ifadenin bir ifadedeki else dalı gibi davranmasını da sağlayabilirsiniz if-else. Bunu yapmak için defaultanahtar kelimeyi kullanın.
caseBloktaki s'lerden hiçbiri switchifadenin değeriyle eşleşmiyorsa ve switchbir defaultbloğa sahipse, varsayılan blok yürütülür. Örnek:
| kod | Konsol çıkışı |
|---|---|
|
|
4. Karşılaştırma switchveif-else
İfade switch, bir ifadeye biraz benzer if-else, sadece daha karmaşıktır.
switchBir 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-elsetercih edilir .if
5. Bir ifadede hangi ifadeler kullanılabilir switch?
caseBir 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 charString- herhangi bir
enumtür
Diğer türleri kasa etiketleri olarak kullanamazsınız .
enumInside 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;
}
enumNot: 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