开发手册 欢迎您!
软件开发者资料库

Java 多个if判断语句压缩简化合成一个if的方法代码

本文主要介绍Java中,多个if语句判断或多重if条件判断简化合成一个if的简单写法及代码。

示例代码

public static void main(String[] args) {
for (int i = 100; i < 10000; i++) {
if (i % 2 ==0) {
if (i % 3 ==0) {
if (i % 4 ==0) {
if (i % 5 ==0) {
if (i % 6 ==0) {
if (i % 7 ==0) {
if (i % 8 ==0) {
if (i % 9 ==0) {
System.out.println(i);
break;
}
}
}
}
}
}
}
}
}
}

1、使用数学方法合成一个if语句

if (i % (2 * 3 * 4 * 5 * 6 * 7 * 8 * 9) == 0)

if (i % (5 * 7 * 8 * 9) == 0)

2、使用IntStream和for循环实现

for (int i = 100; i < 10000; ++i) {
int x = i;
if (IntStream.of(2, 3, 4, 5, 6, 7, 8, 9).allMatch(k -> x % k == 0)) {
System.out.println(i);
break;
}
}

int result = IntStream
.range(100, 10000)
.filter(i -> IntStream.of(2, 3, 4, 5, 6, 7, 8, 9).allMatch(k -> i % k == 0))
.findFirst()
.getAsInt();
System.out.println(result);

3、嵌套if语句用&&(AND符)实现

if (i % 2 == 0 && i % 3 == 0 && i % 4 == 0 && i % 5 == 0 && i % 6 == 0 && i % 7 == 0 && i % 8 == 0 && i % 9 == 0) {
System.out.println(i);
}

4、使用for循环实现

如果多个if条件判断的不是数字或数字不连续,可以使用数组来进行遍历。

public static boolean isDivisible(int number) {
for (int i = 2; i <= 9; i++) {
if (num % i != 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
for (int i = 100; i <= 100000; i++) {
if (isDivisible(i)) {
System.out.println("Divisible by numbers 2...9: " + i);
break;
}
}
}