Login    New User    Forgot Password    Help      

The if-then and if-then-else Statements

Java Tutorials

The if-then Statement

The if statement encloses some code which is executed only if a condition is true.

The general syntax of the& ifstatement is:

if (condition)
 {      body-code  }

The if statement has two parts.

The condition is a boolean expression which resolves to either true or false.

The body-code is code that will be executed only if the condition is true.

Here is an example of the if statement.

Example

// Returns 0 if s is null
public int getLength(String s)
{ if (s == null)
{
// This line of code is execute only if s is null
return 0;
}
return s.length();
}

The if statement also has an optional else part which encloses some code that is executed only if the condition is false. Here is the general syntax of the if statement with the optional else part:

Example

if (condition)

{ body-code }

else

{ else-code }

The else-code is executed only if condition resolves to false. Here is an example of the if statement with the optionalelse part.

Example

// Generates a random number and prints whether it is even or odd
if ((int)(Math.random()*100)%2 == 0) {
System.out.println("The number is even");
} else {
System.out.println("The number is odd");
}

The else-code part can also be another if statement. An if statement written this way sets up a sequence ofcondition's, each tested one after the other in top-down order. If one of the conditions is found to be true, the body-code for that if statement is executed. Once executed, no other conditions are tested and execution continues after the sequence. Here is an example of a sequence of if/else/if statements

Example

// Converts the time, which is in milliseconds, into a
// more readable format with higher units
public String getTimeUnit(long time) {
String unit = "ms";
if (time >= 365*24*60*60*1000L) {
unit = "years";
time /= 365*24*60*60*1000L;
} else if (time >= 24*60*60*1000) {
unit = "days";
time /= 24*60*60*1000;
} else if (time >= 60*60*1000) {
unit = "hr";
time /= 60*60*1000;
} else if (time >= 60*1000) {
unit = "min";
time /= 60*1000;
} else if (time >= 1000) {
unit = "sec";
time /= 1000;
}
// Execution continues here if any of the conditions match
return time + " " + unit;
}

Output

getTimeUnit(123); // 123 ms
getTimeUnit(1234)); // 1 sec
getTimeUnit(12345)); // 12 sec
getTimeUnit(123456)); // 2 min
getTimeUnit(1234567)); // 20 min
getTimeUnit(12345678)); // 3 hr
getTimeUnit(123456789)); // 1 days
getTimeUnit(1234567890)); // 14 days
getTimeUnit(12345678900L)); // 142 days
getTimeUnit(123456789000L)); // 3 years

Java Tutorials