Else, else if

Intermediate Java

Jim White

Java Developer

Multiple ifs

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

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

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

If score >= 70, both Excellent! and Good effort. are printed

➡ Using multiple if statements can get messy

Intermediate Java

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!
Intermediate Java

Only one block is run

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!
Intermediate Java

As many as we need - just be careful about the order

// 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.
Intermediate Java

Recap

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
Intermediate Java

Let's practice!

Intermediate Java

Preparing Video For Download...