x++和java中的x+1一样吗?

mefy6pfw  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(270)

这个问题在这里已经有答案了

增量后(i++)和增量前(++i)操作符在java中是如何工作的(14个答案)
7天前关门了。
抱歉,我刚开始学习java,我的问题可能很愚蠢,但我想得到答案。
这是我使用eclipse ide编写的代码:

package draft;

import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

public class Draft {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Map m=new LinkedHashMap();
    String []arr= {"hello","piggie","piggie","piggie"};

    for(String x:arr) {

    if(m.containsKey(x)) {

    int count=(int) m.get(x);
    m.put(x, count +1);
    }
    else {
    m.put(x,1);
    }
    }
    System.out.println(m);
}
}

所以我的问题是对于代码m.put(x,count+1),它是否等于m.put(x,count++)。我认为它们是一样的,但是java却不这么认为。。。有人能解释一下这种情况有什么不同吗?我试着用debug一步一步地查看变量是什么,但是在我设置断点并用step-into函数来计算变量是如何变化的之后,变量计数就停在了1…所以我不知道循环中发生了什么。。。
谢谢你们

l3zydbqr

l3zydbqr1#

不,不一样。
m、 put(x,count+1);将count+1放入m,当m.put(x,count++)时不增加count;将增加计数。
易于尝试:)

相关问题