java - Java 复杂表达式

标签 java

 public class I {
        public static void main(String  args[])
        {
            int i=0,j=1,k=2;
            i=i++ - --j + ++k;
            System.out.println("\ni : "+i+"\nj : "+j+"\nk : "+k);
        }
    }

任何人都可以向我解释为什么上面的代码给出输出:

i : 3
j : 0
k : 3

而不是给出输出:

i : 4
j : 0
k : 3

最佳答案

  1. i++ - 给出 0(并递增 i)
  2. --j 递减并给出 0
  3. ++k 递增并给出 3
  4. 将 0 + 0 + 3 的结果赋给 i(覆盖 i 的值 1)。

因此:i:3。

关于java - Java 复杂表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9981240/

相关文章:

java - Java 中使用 while 循环的 Project Euler 12

java - Android POST 请求 400 响应代码抛出异常

java - 自定义注解过滤器 Spring boot

java - 使用 Netbeans 的多个本地和远程 git 存储库

java - 使用 SurfaceView 的神秘 LogCat 消息

java - 哪些文件系统为 Java 的 WatchService 提供原生支持?

java - 如何从字符串转换为 NBTCompoundTag?

java - 无法用java和Maven运行简单的cucumber程序

java - 创建 session 时我的 hibernate 4 测试类出现异常

Java 字符串转换为十六进制