Java运算符||, - ,/,+

use*_*413 0 java operators

public class Program1 {
    public static void main(String[] args) {
       int s = 55; int c = 10;

       System.out.println( s-s/c*c );
       System.out.println( true || false ); 
       System.out.println( 9/5*c+32 );  
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:5真42

1.有人可以解释为什么第一个println结果是5并且与's'数字的最后一位数一致?就像我将's'改为1012一样,答案就是2.为什么?

2.true或false.答案是对的.为什么?这就像是或否?-是...

这个数学对我来说毫无意义.有人向我解释世界上它是如何平等的42?

T.J*_*der 6

  1. 有人可以解释为什么第一个println结果是5并且与's'数字的最后一位数一致?就像我将's'改为1012一样,答案就是2.为什么?

由于运算符优先级.这是与parens:

s - ((s / c) * c)
Run Code Online (Sandbox Code Playgroud)

所以,s / c5因为这些int价值观,任何小数结果被丢弃.然后5 * c50,然后55 - 505.

2.true或false.答案是对的.为什么?这就像是或否?-是...

因为||如果其操作数之一为真,则为true,否则为false.它在这里并不重要,但它也是短路的,这意味着如果左手表达式是true,那么右手表达式永远不会被评估.同样,这里不相关,但是如果表达式有副作用,例如foo() || bar()方法有副作用的地方:foo总是被调用,但bar只有在foo结果是调用时才被调用false.

这个数学对我来说毫无意义.有人向我解释世界上它是如何平等的42?

再次优先:

((9 / 5) * c) + 32
Run Code Online (Sandbox Code Playgroud)

所以,9 / 51因为这些int值(小数结果被丢弃).然后1 * c10,10 + 3242.