当前位置: 首页 > 知识库问答 >
问题:

为什么输出 5?[重复]

伊铭
2023-03-14

我的理解是 x == 0 首先运行。但是 x 在计算时仍然是 -1 (y = y / x) == 0?否则它将除以零。我以为输出将是 -5,但日食说 5。我快疯了。

public static void main(String[] args){
        
    int x = -1;
    int y = 5;
    boolean s = (x++ == 0) && ((y = y++ / x) == 0);
    System.out.println(x + y);
}

共有1个答案

茹高义
2023-03-14

(y = y / x) == 0) 从不计算,因为

因此,输出是

x + y

0 + 5 == 5

请注意,如果您更改

 类似资料:
  • 我是java初学者,我对上述程序的输出感到困惑。请给我解释一下输出的原因。

  • 我想5是int。但没有变数。我不知道为什么输出是双倍。我已经试过Netbeans了。

  • 我得到以下例外: 执行INSERT INTO任务(task_title、task_description、task_priority、task_type、用户)时发生异常 (?, ?, ?, ?, ?)'带有参数["efSwedfgvswde","ewdfweds","正常",14,13]: SQLSTATE[23000]:完整性约束冲突: 1062重复条目'13'的关键'UNIQ_5058659

  • 在基准测试时,我测量到的吞吐量比我计算的低得多,我将其缩小到LZCNT指令(它也发生在TZCNT中),如以下基准测试所示: 和: 我是在4770K上运行的,所以LZCNT和TZCNT不是作为BSR/BSF执行的。 这是怎么回事?

  • 问题内容: 在我的实际项目中,这是我修改后的小程序,偶然发生。 我不知道为什么它给输出 10 吗? 之后,我放了两个零,仍然给出输出10。 然后我将 012 更改 为0123 ,现在输出83? 谁能解释为什么? 问题答案: 比我将012更改为0123,现在输出为83? 因为它被当作八进制基数(8),因为该数字的前导数字为0。因此,它对应的十进制值为10。 012: 0123:

  • 通常当你使用cURL的输出看起来像这样: 但是,对于某些URL,输出是不同的: 为什么会发生这种情况,以及如何消除这种情况并使cURL只输出内容?