Java 没有双变量的相同代码
我不是java程序员。我正在将一个代码转换成另一种语言,我在java中发现了这一行Java 没有双变量的相同代码,java,Java,我不是java程序员。我正在将一个代码转换成另一种语言,我在java中发现了这一行 for (int ii = 0, i = 0; i < n; i += 2, ii++) { for(intii=0,i=0;i
for (int ii = 0, i = 0; i < n; i += 2, ii++) {
for(intii=0,i=0;i
一个for中的两个变量,我必须把它转换成一种没有它的语言
我在谷歌上搜索了好几种解释,但我并不清楚我是否正确地转换了它
据我所知,前面的代码相当于
int ii = 0
for (int i = 0; i < n; i+=2) {
// do stuff
ii++
}
intii=0
对于(int i=0;i
正如我看到的,内部变量I
是控制循环的变量,ii
只是在递增
该假设和代码正确吗?在当前循环中:
for (int ii = 0, i = 0; i < n; i += 2, ii++) {
如果您使用for当两个变量的逻辑位于不同位置时,逻辑会有点奇怪,您可以使用while:
int ii = 0, i = 0;
while(i < n) {
// do stuff
i += 2;
ii++;
}
intii=0,i=0;
而(i
您应该能够执行以下操作:
for(int i = 0 ; i < n ; i += 2){
int ii = i / 2;
//do stuff
}
for(int i=0;i
这将保持ii的作用域与以前相同,以防在程序的后面部分使用相同的名称。您是正确的。或者
ii=n/2;
和for(int i=0;i
@Tim你为什么用++ii
而不是ii++
?这没有什么区别。我曾经有一位C/C++教授,他主张尽可能使用增量前后比较。旧习惯很难改变,尽管它不会改变我的答案。
for(int i = 0 ; i < n ; i += 2){
int ii = i / 2;
//do stuff
}