java中的If条件不能正确打印输出

java中的If条件不能正确打印输出,java,Java,输出: public static void main(String args[]){ int x = 0; if (x > 0) System.out.println("positive "); System.out.println("zero "); System.out.println("negative"); } 为什么程序不打印正片而打印零和负片?因为x被设置为0 因此,if条件永远不会被验证,并且“肯定”语句

输出:

public static void main(String args[]){
    int x = 0;
    if (x > 0) 
        System.out.println("positive ");
        System.out.println("zero ");
        System.out.println("negative"); 
}
为什么程序不打印正片而打印零和负片?

因为x被设置为0 因此,if条件永远不会被验证,并且“肯定”语句也不会被执行

你可能想写一些类似的东西

zero 
negative
if(x>0)
系统输出打印项次(“正”);
如果(x==0)
System.out.println(“零”);
if(x<0)
系统输出打印项次(“负数”);
只需尝试:

if (x > 0)
    System.out.println("positive ");
if (x == 0)
    System.out.println("zero ");
if (x < 0)
    System.out.println("negative");

为什么您认为当
x
的值为0时,它会打印
正数
x>0
将返回false,因此它将跳过
System.out.println(“阳性”)System.out.println(“正”)结尾行本身

,因为您没有将括号放在

if (x > 0) {
    System.out.println("positive ");
} else if (x == 0) {
    System.out.println("zero ");
} else {
    System.out.println("negative");
}

在If条件内,显然If条件不正确,这就是为什么它不打印正片。

它不打印正片,因为它没有通过If条件。
x
的值为
0
,该值不大于
0
。它确实打印
zero
negative
,因为由于缺少大括号,它不在
if
条件下。如果没有
{}
则只执行
If
条件后的第一行

如果您希望您的代码打印所有三种格式,即
正数
负数
,而
x>0
(看不出您为什么要这样做),则您缺少了花括号,您的代码应该如下所示:

 System.out.println("positive ");
对于您的代码,这将不打印任何内容,因为它未满足
if
条件,因此不会执行大括号内的任何内容


但是如果你想让你的程序在
>0
时打印
正片
,在
时打印
负片
没有错,但是包含
else if/else
的答案显然是一个更好的选择,因为如果第一个匹配,你可以避免两个比较。我们可以结束这个问题吗?如果你想重写你的代码,如果(x>0){System.out.println(“正”);}
System.out.println(“零”)
System.out.println(“负数”)如您所见,最后2次打印不属于If子句
public static void main(String args[]){
    int x = 0;
    if (x > 0) 
    {
        System.out.println("positive ");
        System.out.println("zero ");
        System.out.println("negative"); 
    }
}