gpt4 book ai didi

java - 是多次访问 array[i] 中的值,还是将该值存储在变量 (v=array[i]) 中并访问该变量 v 更好?

转载 作者:行者123 更新时间:2023-11-30 06:40:04 27 4
gpt4 key购买 nike

我想知道多次访问 array[i] 中的值或将该值存储为新变量 (v=array[i]) 并多次访问变量 v 是否会花费更多?

例如(在java中),这样写会更好吗:

int [] array = {1,2,3,4,5};

for(int i=0;i<5;i++){
if (array[i]<0){
System.out.println("negativ");
}else if(array[i]>0){
System.out.println("positiv");
if (array[i]==42){
System.out.println("great answer");
}
}else{
System.out.println("zero");
}
}

int [] array = {1,2,3,4,5};
int v;

for(int i=0;i<5;i++){
v = array[i];
if (v<0){
System.out.println("negativ");
}else if(v>0){
System.out.println("positiv");
if (v==42){
System.out.println("great answer");
}
}else{
System.out.println("zero");
}
}

感谢您的帮助。

最佳答案

您最终会使用第二种形式多占用两个字节:

  34: istore_2
35: iload_2

变量访问最终成为 iaload 与 iload_2 - 差别不大。如果您有足够的变量(超过 4 个),则必须使用 iload(索引)而不是 iload_,那么您会看到第二种形式的更大代码。

明确地说:您不会通过引入变量来保存任何内容,实际上是添加指令(设置变量的位置)。

关于java - 是多次访问 array[i] 中的值,还是将该值存储在变量 (v=array[i]) 中并访问该变量 v 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44510260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com