if 用法示例


以下是更多使用if语句的示例代码:

  1. 判断一个年份是否为闰年
public static boolean isLeapYear(int year) {
    if (year % 4 != 0) {
        return false;
    } else if (year % 100 != 0) {
        return true;
    } else if (year % 400 != 0) {
        return false;
    } else {
        return true;
    }
}

在这个代码中,使用if-else if-else语句判断一个年份是否为闰年。如果年份不能被4整除,则不是闰年,返回false。如果年份能被4整除但不能被100整除,则是闰年,返回true。如果年份能被100整除但不能被400整除,则不是闰年,返回false。如果年份能被400整除,则是闰年,返回true。

  1. 判断一个字符串是否为有效的数字
public static boolean isNumber(String s) {
    if (s == null || s.length() == 0) {
        return false;
    }
    s = s.trim();
    boolean hasNum = false;
    boolean hasDot = false;
    boolean hasE = false;
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        if (Character.isDigit(c)) {
            hasNum = true;
        } else if (c == '.') {
            if (hasDot || hasE || i == s.length() - 1 || !Character.isDigit(s.charAt(i + 1))) {
                return false;
            }
            hasDot = true;
        } else if (c == 'e' || c == 'E') {
            if (hasE || !hasNum || i == s.length() - 1) {
                return false;
            }
            hasE = true;
            hasNum = false;
        } else if (c == '+' || c == '-') {
            if (i != 0 && s.charAt(i - 1) != 'e' && s.charAt(i - 1) != 'E') {
                return false;
            }
        } else {
            return false;
        }
    }
    return hasNum;
}

在这个代码中,使用if语句判断一个字符串是否为有效的数字。首先使用if语句判断字符串是否为null或空串,如果是,则返回false。然后使用trim()方法去除字符串首尾的空格。使用三个boolean变量分别表示字符串中是否含有数字、小数点和科学计数法符号。使用for循环遍历字符串中的每个字符,根据字符的不同情况,分别进行判断。如果字符是数字,则将hasNum设为true。如果字符是小数点,则判断小数点是否出现过,是否已经出现了科学计数法符号,是否在字符串的最后,以及小数点后是否有数字。如果字符是科学计数法符号,则判断是否已经出现过数字、是否在字符串的最后,以及是否已经出现过科学计数法符号。如果字符是加号或减号,则判断是否是字符串的第一个字符,或者前面的字符是科学计数法符号

  1. 判断一个数是否是素数
public static boolean isPrime(int n) {
    if (n <= 1) {
        return false;
    }
    for (int i = 2; i <= Math.sqrt(n); i++) {
        if (n % i == 0) {
            return false;
        }
    }
    return true;
}

在这个代码中,使用if语句判断一个数是否是素数。如果数小于等于1,则不是素数,返回false。使用for循环从2开始遍历到sqrt(n),如果n能被i整除,则不是素数,返回false。如果for循环结束后都没有返回false,则n是素数,返回true。

  1. 判断一个字符串是否为回文字符串
public static boolean isPalindrome(String s) {
    if (s == null) {
        return false;
    }
    s = s.toLowerCase();
    int left = 0;
    int right = s.length() - 1;
    while (left < right) {
        if (!Character.isLetterOrDigit(s.charAt(left))) {
            left++;
        } else if (!Character.isLetterOrDigit(s.charAt(right))) {
            right--;
        } else if (s.charAt(left) != s.charAt(right)) {
            return false;
        } else {
            left++;
            right--;
        }
    }
    return true;
}

在这个代码中,使用if-else if语句判断一个字符串是否为回文字符串。首先使用if语句判断字符串是否为null,如果是,则返回false。使用toLowerCase()方法将字符串转换为小写。使用两个指针left和right分别指向字符串的左端和右端。使用while循环,如果left小于right,则进行判断。如果left指向的字符不是字母或数字,则将left指针右移一位。如果right指向的字符不是字母或数字,则将right指针左移一位。如果left指向的字符和right指向的字符不相等,则返回false。如果left指向的字符和right指向的字符相等,则将left指针右移一位,将right指针左移一位。如果while循环结束后都没有返回false,则字符串是回文字符串,返回true。

  1. 判断一个数是否是完数
public static boolean isPerfectNumber(int n) {
    if (n <= 1) {
        return false;
    }
    int sum = 1;
    for (int i = 2; i <= Math.sqrt(n); i++) {
        if (n % i == 0) {
            sum += i;
            if (i != n / i) {
                sum += n / i;
            }
        }
    }
    return sum == n;
}

在这个代码中,使用if语句判断一个数是否是完数。如果数小于等于1,则不是完数,返回false。使用for循环从2开始遍历到sqrt(n),如果n能被i整除,则将i和n/i加到sum中。如果i等于n/i,则只将i加到sum中,否则i和n/i都要加到sum中。如果for循环结束后sum等于n,则n是完数,返回true,否则返回false。


原文链接:codingdict.net