public class Q {
public static void main (String args []) {
boolean a = false;
if (a =true)
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
打印出Hello
为什么呢?
以上是一个scjp的一个试题,不到机子上去运行选出输出结果,其实这道题目是考查的是赋值操作符(=)和等于操作符(==)的,
我来解析一下if(a=true)注意这是赋值操作符相当于把a赋成true。 这个时候a是为true的。当然是打印出Hello
如果把这个程序给改一下呢
public class Q {
public static void main (String args []) {
boolean a = false;
if (a ==true) //注意把=赋值操作符改成了==等于操作符。因为a初始化是false的,
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
所以这个程序就打印出Goodbye;
public class Q {
public static void main (String args []) {
boolean a = false;
if (a) //把=true去掉
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
这个程序就也是打印出Goodbye的因为a初始是false的。因此打印出Goodbye
public static void main (String args []) {
boolean a = false;
if (a =true)
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
打印出Hello
为什么呢?
以上是一个scjp的一个试题,不到机子上去运行选出输出结果,其实这道题目是考查的是赋值操作符(=)和等于操作符(==)的,
我来解析一下if(a=true)注意这是赋值操作符相当于把a赋成true。 这个时候a是为true的。当然是打印出Hello
如果把这个程序给改一下呢
public class Q {
public static void main (String args []) {
boolean a = false;
if (a ==true) //注意把=赋值操作符改成了==等于操作符。因为a初始化是false的,
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
所以这个程序就打印出Goodbye;
public class Q {
public static void main (String args []) {
boolean a = false;
if (a) //把=true去掉
System.out.println("Hello");
else
System.out.println("Goodbye");
}
}
这个程序就也是打印出Goodbye的因为a初始是false的。因此打印出Goodbye
![](https://i-blog.csdnimg.cn/blog_migrate/7a9f8c2f833206445a63e9b8dc5b1286.gif)