j = i + 1和j = ++ i之间的差异;

Jim*_*hta -3 java

在下面的代码中,在(j = i + 1 ...)和(j = ++ i ...)的内部for循环中得到不同的结果.请问任何人都可以解释在初始化过程中for循环中会发生什么?

    public class DuplicateElementsInArray {

    public static void main(String[] args) {
            String[] names = {"Java", "Python", "C++", "JavaScript", "Java",  "Ruby", "C"};

            //This is a worst  Solution
            for(int i = 0; i < names.length; i++) {
                //for(int j = i++; j < names.length; j++) {
                //for(int j = ++i; j < names.length; j++) {
                for(int j = i + 1; j < names.length; j++) {
                    //System.out.println("j: " + j);
                    if(names[i].equals(names[j]))
                        System.out.println("duplicate element: " + names[i]);
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

And*_*ner 10

i + 1叶子i的当前值不变.

++i增量i,即i在评估该表达式后,其值更大.