Java数据类型问题

时间:2017-09-22 05:43:32

标签: java

public class Main {

  public static void main(String[] args) {
    int j = + -1234;
    System.out.printf("%d", j);
    System.out.println();
    System.out.println(j);
  }
}

结果是-1234。 任何机构都可以解释为什么结果是-1234即将到来吗?

2 个答案:

答案 0 :(得分:1)

分配int j = + -1234;相当于:

j =(1)*( - 1)* 1234(a)

现在:

-1 =(1)*( - 1)(b)

所以将b替换为a并获取:

j = -1 * 1234

所以j = -1234

在赋值方程the + and - are acting as unary oprators

答案 1 :(得分:0)

实际上java编译器把+ - 作为+ - 所以结果为-1234。如果你尝试 - + - 1234那么它将被处理为 - + * - 1234,即1234。

public class Main {

        public static void main(String[] args) {
         int j = -+ -1234;
         System.out.printf("%d", j);
         System.out.println();
         System.out.println(j);

} }

这将打印1234.你不能使用++ / - 因为它已经在java中预定义了增量和减量操作