e1086. if/else語句
The if
statement encloses some code which is executed only if a condition is true. The general syntax of the if
statement 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
// 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 conditionif
statement with the optional else
part:
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 optional else
part.
// 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 of condition
‘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
// 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; }
Here‘s some sample 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
Related Examples |
e1086. if/else語句