新入坑,请看一下,摸不着头脑

这个怎么回事呢?为什么会不行,看着没有错啊?一定要用else语句吗?有没有什么办法保留两个if语句,且能成功运行?
img

局部变量需要初始化再使用,全局变量可以不用,默认会有初始值。


public static void main(String[] args) {
        int a = 2;
        int b = 20;
        int max = -1;
        if (a > b) {
            max = a;
        }
        if (a < b) {
            max = b;
        }
        System.out.println("最大值是:" + max);
    }

还有一种更为简单的方法:利用三元表达式

public static void main(String[] args) {
        int a = 2;
        int b = 20;
        int max = a > b ? a : b;
        System.out.println("最大值是:" + max);
    }

局部变量需要初始化才能使用,int max =0;