Nested If - Else
Coddy'nin Java Journey'sinin Temeller bölümünün bir parçası — ders 32 / 73.
if-else if-else ifadelerini birbirlerinin içine yerleştirebiliriz. Bu, hiyerarşik karar verme yapıları oluşturmamıza olanak tanır.
Derinlemesine iç içe geçmiş
if ifadelerini akılda tutun; bunlar kodu okumayı ve bakımını zorlaştırabilir.Örneğin:
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
Sonsuz şekilde iç içe olabilir:
if (condition1) {
if (condition2) {
if (condition3) {
// runs only when condition1, condition2 and condition3 are all true
...
}
}
}Görev
BaşlangıçBir rollercoaster'a binebilecek birini kontrol eden bir program oluşturun. Gereksinimler şunlardır:
- En az 12 yaşında olmalı
- 150cm'den uzun olmalı
- Her iki gereksinimi de karşılıyorlarsa ancak 15 yaşın altındaysa, yetişkin gözetimi gerekir
Her durum için tam olarak şu mesajları yazdırın:
- Çok gençse:
Sorry, you're too young - Yeterince uzun değilse:
Sorry, you're not tall enough - 15 yaşın altındaysa ve yetişkin yoksa:
Sorry, you need an adult with you - 15 yaşın altındaysa ve yetişkin varsa:
You can ride with adult supervision! - 15 veya daha büyük ve yeterince uzunsa:
You can ride by yourself!
Kopya kağıdı
Birbirlerinin içine if-else if-else ifadeleri yerleştirerek hiyerarşik karar verme yapıları oluşturabilirsiniz:
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
İç içe yerleştirme sonsuz şekilde yapılabilir:
if (condition1) {
if (condition2) {
if (condition3) {
// if condition1, condition2 and condition3 are true
...
}
}
}Not: Derinlemesine iç içe if ifadeleri kodu okumayı ve sürdürmeyi zorlaştırabilir.
Kendin dene
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = scanner.nextInt(); // Bu satırı değiştirmeyin
int height = scanner.nextInt(); // Bu satırı değiştirmeyin
boolean hasAdult = scanner.nextBoolean(); // Bu satırı değiştirmeyin
// Kodu aşağıya yazın
scanner.close();
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else