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 statement.

    // 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:

    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
posted @ 2018-09-02 20:59  borter  阅读(163)  评论(0编辑  收藏  举报