繁体   English   中英

为什么两个多方法程序有不同的结果

[英]Why does both the multiple method program have different results

我刚刚写了一个程序将数组的值增加 1。但是,当我使用增强的 for 循环时,我无法添加得到相同的结果.......使用 FOR LOOP

class array{
public static void main(String args[]){
    int rajath[]={11,22,33,44};
    change(rajath);
    for(int x:rajath){
        System.out.println(x);
    }
}

public static void change (int x[]){
    for(int i=0;i<x.length;i++){
        x[i]++;
    }
}
}

增强循环

    class array{
    public static void main(String args[]){
        int rajath[]={11,22,33,44};
        change(rajath);
        for(int x:rajath){
            System.out.println(x);
        }
    }
    
    public static void change (int x[]){
        for(int i:x ){
            i++;
        }
    }
}

您增强的 for 循环相当于:

for(int i=0;i<x.length;i++){
    int k = x[i];
    k++;
}

这与您的常规 for 循环不同。

您的常规 for 循环会增加数组的元素,而您的增强 for 循环会增加这些元素的副本。

在增强的 for 循环中,您正在增加块变量i
在 For 循环中,您正在增加数组中的元素

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM