java中有什么更好的,它是否会有所不同,如果有什么区别?
public void att(){
for(int i=0;i<size-1;i++){
//Do things
}
for(int i=0;i<size-1;i++){
//Do things
}
}
或:
public void att(){
int i;
for(i=0;i<size-1;i++){
//Do things
}
for(i=0;i<size-1;i++){
//Do things
}
}
答案 0 :(得分:3)
像这样我猜...
public void att(){
int i; //Same variable
for(i=0;i<size-1;i++){ //Same variable
//Do things
}
for(i=0;i<size-1;i++){ //Same variable
//Do things
}
}
-
public void att(){
for(int i=0;i<size-1;i++){ //Different variables
//Do things
}
for(int i=0;i<size-1;i++){ //Different variables
//Do things
}
}
您再声明一个具有相同名称的变量,这意味着您要清除范围。
这可能是对你的问题更有建设性的回答:
Difference between declaring variables before or in loop?
答案 1 :(得分:1)
完全独立的for循环 - 每个都有自己的i
变量 - 更好,因为有一个通用的编程指南,变量应该有最窄的范围。在第二个示例中,i
的范围超出了使用范围。
两者之间没有性能差异。
答案 2 :(得分:1)
如果您没有遇到特定的效率问题,请不要尝试以这种方式优化您的代码。像Pshemo所说:过早优化是万恶之源。
我在两者之间看到的唯一真正的区别是,第二个是一行更长,因此可读性更差。
另外,如果有的话,我会说在第二种情况下变量是在更高的范围内声明的,我认为这实际上是一件坏事。通常,您希望在范围内声明它们使用的变量,尽可能深地嵌套,因此具有尽可能短的寿命。