Java运行过程中存在的问题

public class Test {

public static void main(String[] args) {
    boolean boo =false;
    if(boo=true) {
        System.out.print("hello");
        System.out.print("您好");
    }
    else {
        System.out.print("ok");
        System.out.print("yes");
    }
}

}
这个运行结果为什么会是hello您好?而不是okyes?

因为第3行的这句代码,boo=true ,这句代码把boo赋值为true,然后表达式的值也为true, 所以就会运行这个分支的打印语句,然后输出hello您好。
把boo=true改为boo==true即可。

public class Test {

public static void main(String[] args) {
    boolean boo =false;
    if(boo==true) {
        System.out.print("hello");
        System.out.print("您好");
    }
    else {
        System.out.print("ok");
        System.out.print("yes");
    }
}
}

img


public static void main(String[] args) {
    boolean boo =false;
    if(boo) {
        System.out.print("hello");
        System.out.print("您好");
    }
    else {
        System.out.print("ok");
        System.out.print("yes");
    }
}

跟着我这个改 if(boo=true) { 换成 if(boo)

img


双等号,if(boo == true)

因为你的 boo=true 相当于是给boo赋值,而不是判断,需要改为boo==true