By Dummy for Dummies
Welcome back, learners! Monkeys love bananas, that much is obvious. But do they drink bananas? Nope. What they consume depends on the situation. Our programs need the same ability, to take different paths depending on the situation. That's what if-else statements do. They let a program make decisions.
They check a condition, if it is true, they execute a specific part of code. If the condition is not true, an alternative part of code is executed.
public class Main { public static void main(String[] args) { int bananas = 12; if (bananas > 10) { System.out.println("We have enough bananas!"); } else { System.out.println("We are short on bananas"); } } }
This will print We have enough bananas! because the condition we set is true (12 > 10).
Most of the time there are more than two possible outcomes. That's what else if is for, it adds more conditions to the same block of code.
public class Main { public static void main(String[] args) { boolean condition1 = false; boolean condition2 = false; boolean condition3 = false; if (condition1) { // If condition 1 is true execute this block of code } else if (condition2) { // If condition 2 is true execute this block of code } else if (condition3) { // If condition 3 is true execute this block of code } else { // If none of conditions is true execute this default block } } }
==, !=, >, <, >=, <=)&&, ||, !)Write your most specific condition first, and your most general or overlapping one last. That keeps the logic clean. Here's a demonstration:
public class Main { public static void main(String[] args) { int marks = 85; if (marks > 90) { // Most specific, highest grade System.out.println("A"); } else if (marks > 80) { // Next level System.out.println("B"); } else if (marks > 70) { System.out.println("C"); } else { System.out.println("Fail"); } } }
Sometimes one question leads to more questions, like one decision leads to taking more decisions. In that case we use more if-else statements inside one.
public class Main { public static void main(String[] args) { int age = 20; boolean hasID = true; if (age >= 18) { if (hasID) { System.out.println("You can enter the club."); } else { System.out.println("You need an ID to enter."); } } else { System.out.println("You are too young to enter."); } } }
Because the first condition returns true. And inside nested if, the other condition comes true as well, therefore we get that specific output.
To check if a condition is true, you can write it like: if(condition == true) or just if(condition)
To check if a condition is false, you can write it like: if(condition == false) or just if(!condition)
Let's do an exercise for what we studied in this post. Study this code, break it down, analyze it and identify the concepts used here. It would be even better if you write down your observations and make a mini report on it.
import java.util.Scanner; public class IfElseExercise { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("=== IF-ELSE EXERCISE ==="); System.out.print("Enter your marks (0-100): "); int marks = input.nextInt(); System.out.print("Do you have good attendance? (true/false): "); boolean attendance = input.nextBoolean(); // Simple if-else if (marks >= 50) { System.out.println("You passed the exam!"); } else { System.out.println("You failed the exam!"); } // if-else-if ladder if (marks >= 90) { System.out.println("Grade: A"); } else if (marks >= 80) { System.out.println("Grade: B"); } else if (marks >= 70) { System.out.println("Grade: C"); } else if (marks >= 60) { System.out.println("Grade: D"); } else { System.out.println("Grade: F"); } // Nested if-else if (marks >= 50) { if (attendance) { System.out.println("You are eligible for a certificate!"); } else { System.out.println("You passed, but no certificate due to poor attendance."); } } else { System.out.println("You must retake the exam."); } // Logical operators inside if if (marks >= 80 && attendance) { System.out.println("Excellent! You qualify for a scholarship."); } else if (marks >= 80 || attendance) { System.out.println("Good effort, but no scholarship."); } else { System.out.println("Work harder next time."); } input.close(); } }
Your project is to create a simple Java program that calculates a student's grade based on percentage.
The program should ask the user to enter a percentage (0-100). Based on the percentage entered, it should decide the grade using these rules:
If the percentage entered is less than 0 or greater than 100, the program should print "Invalid Input."
Finally, the program should print the percentage and the calculated grade in a neat format.
While writing the program, make sure you use:
That's it for if-else statements in Java! They're the foundation of decision-making in programming. Once you understand how to set conditions and control the flow, you'll see how powerful even the simplest programs can become.