如果java中的条件没有正确打印输出

时间:2015-10-20 18:27:36

标签: 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"); 
}

输出:

zero 
negative

为什么程序不打印正数但打印为零和负数?

5 个答案:

答案 0 :(得分:2)

试试:

In [1]: import pandas as pd

In [2]: df = pd.DataFrame([45362.0, 75345.0, 346157.0, 572575.0], columns=['code_x'])

In [3]: df.code_x.apply(lambda x: str(int(x)).zfill(6))
Out[3]: 
0    045362
1    075345
2    346157
3    572575
Name: code_x, dtype: object

答案 1 :(得分:1)

为什么当positive的值为0时,它会打印x x > 0将返回false,因此它会跳过System.out.println("positive ");并打印其他2行,因为你的if块以System.out.println("positive ");行本身结束

答案 2 :(得分:0)

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

您可能想写类似

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

答案 3 :(得分:0)

因为你没有把括号放在

 System.out.println("positive ");

进入If条件,显然如果条件不正确,那就是为什么它不打印正面。

答案 4 :(得分:0)

它未打印positive,因为它未通过if条件。您x的值为0且不大于0。它会打印zeronegative,因为由于缺少花括号,它会超出您的if条件。如果没有{}则只执行if条件之后的第一行。

如果您想要代码打印全部三个,即positive negativezero,那么x > 0(不明白为什么会这样做) ),那么你缺少大括号,你的代码应该是这样的:

public static void main(String args[]){
    int x = 0;
    if (x > 0) 
    {
        System.out.println("positive ");
        System.out.println("zero ");
        System.out.println("negative"); 
    }
}

对于你的代码,这将不会打印任何内容,因为它没有if条件,因此大括号内的任何内容都不会被执行。

但是,如果您希望自己的计划在positive时打{4},>0negative<0 0,那么@ hsz的回答是你正在寻找的那个。