Else, else if

Java intermediar

Jim White

Java Developer

Mai multe if-uri

if (score >= 90) {
  System.out.println("Excellent!");  
}

if (score >= 70) {
  System.out.println("Good effort.");  
}

if (score < 70) {
  System.out.println("Keep trying!");  
}

Dacă score >= 70, se afișează atât Excellent!, cât și Good effort.

➡ Mai multe instrucțiuni if pot deveni confuze

Java intermediar

if - else if - else

int score = 80;

if (score >= 90) { 
  System.out.println("Excellent!");  
} else if (score >= 70) { 
  // Only this code is executed
  System.out.println("Good effort.");  
} else {
  System.out.println("Keep trying!");  
}
Good effort.
int score = 60;

if (score >= 90) {
  System.out.println("Excellent!");  
} else if (score >= 70) { 
  System.out.println("Good effort.");  
} else { // Only this code is executed
  System.out.println("Keep trying!");  
}
Keep trying!
Java intermediar

Se execută un singur bloc

int score = 95;

if (score >= 90) { // Only this code is executed
  System.out.println("Excellent!");  
} else if (score >= 70) { 
  System.out.println("Good effort.");  
} else {
  System.out.println("Keep trying!");  
}
Excellent!
Java intermediar

Oricâte blocuri - atenție la ordine

// As many as we want
if (score >= 95) { 
  System.out.println("Excellent job, well done!");  
} else if (score >= 90) { 
  System.out.println("Excellent!");  
}  else if (score >= 80) { 
  System.out.println("Great job.");  
}  else if (score >= 70) { 
  System.out.println("Good effort.");  
} else {
  System.out.println("Keep trying!");  
}
// Be careful with the order
int score = 95;

if (score > 70) { // This code runs
  System.out.println("Good effort.");  
} else if (score >= 90) { 
  // This is also valid
  System.out.println("Excellent!");  
} else {
  System.out.println("Keep trying!");  
}
Good effort.
Java intermediar

Recapitulare

int age = 33;

if (age < 20) {
    System.out.println("You are a teenager");
} else if (age < 30) {
    System.out.println("You are in your twenties");
} else if (age < 40) { // Only this code block will be executed
    System.out.println("You are in your thirties");
} else {
    System.out.println("You are older than 39");
}
You are in your thirties
Java intermediar

Să exersăm!

Java intermediar

Preparing Video For Download...