我如何通过for循环的每次迭代声明一个新变量?
例如:
for (int i = 1; i <= 4; i++) {
int var1 = i; // in the second iteration, I want a variable var2 set to i, etc.
}
循环完成后,我想要4个变量,分别名为var1
、var2
、var3
和var4
,每个变量分别设置为1
、2
、3
和4
(当我在上面的代码中将var1
设置为I
时,我实际上是将其设置为1
,因为这是I
在整个特定迭代中的值
要么使用四个变量,要么使用数组
。下面是数组的备选方案:
int arr[] = new int[5];
for (int i = 1; i <= 4; i++) {
arr[i] = i;
}
使用数组、列表、映射或其他类型的数据结构。
例如。
int[] arr = new int[4];
for (int i = 1; i <= 4; i++) { // well, we usually write in 0-based manner...
arr[i-1] = i;
}
// if you want to get n-th value, just do arr[n-1]
List<Integer> list = new ArrayList<Integer>();
for (int i = 1; i <= 4; i++) {
list.add(i);
}
// if you want to get n-th value, just do list.get(n-1)
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 1; i <= 4; i++) {
map.put(i, i);
}
// if you want to get n-th value, just do map.get(n)
差不多吧。
问题内容: 在循环内部声明变量是否不好?在我看来,这样做,如下面的第一个代码块所示,将使用第二次的十倍的内存…由于在循环的每次迭代中都创建了一个新的字符串。这样对吗? 与 问题答案: 在循环内部声明变量是否不好? 一点也不!它将变量本地化到其使用点。 在我看来,如下面的第一个代码块所示,这样做将使用十倍于第二个内存的内存。 编译器可以优化内容以保持内存使用效率。仅供参考:如果您使用关键字告诉您变量
我一直在读一本面向初学者的书,“第一头HTML5编程”,其中有这样一段代码: 目前,如果我调用,它将返回下一次显示是在下午5:00。我将循环条件更改为“I<=movie.showtimes.length;”但它仍然只运行一次,并且只显示下午5点。循环只迭代一次,即使我重写了这个函数: 不是应该跑两次吗?
考虑这个简单的C++函数来计算数组的前缀和: 它是4个融合的UOP1,这个CPU可以支持4个融合的OPs/周期。 有通过和携带的依赖链,每个都是一个循环,但是这些UOP可以到4个ALU端口中的任何一个,所以似乎不太可能冲突。融合的需要转到p6,这是一个更令人担忧的问题,但我只测量到p6的1.1 UOPS/迭代。这将解释每次迭代1.1个循环,但不是1.4个循环。如果我将循环展开2倍,端口压力会低得多
问题内容: 在Java中,我们不能与另一个具有相同名称的变量在同一作用域中声明一个变量: 语法错误,无法编译。但是,如果我们将其放入循环中: 不产生错误,效果很好。我们基本上是在声明相同的变量。是什么原因?在此背后我不知道/不了解的逻辑是什么? 问题答案: 考虑一下这种方式,在每个循环之后,作用域被“破坏”,变量消失了。在下一个循环中,将创建一个新的作用域,并且可以在该作用域中再次声明该变量。 由
问题内容: 这是我的内容: 在Jenkins中使用Pipeline插件执行作业时,仅打印列表中的第一项。 有人可以向我解释这种奇怪的行为吗?是虫子吗?还是只是我不了解Groovy语法? 编辑 :预期的作品: 问题答案: 此处接受的答案指出这是一个已知的错误,并且使用了对我不起作用的解决方法,因此,我将提供我最近发现的更新。 尽管有了JENKINS-26481的解决方案(在撰写本文时,它还算是最近的
在Django模板中,我想创建一个遍历列表的for循环。在循环过程中,我还希望能够使用循环的迭代次数。 例如,如果有4个元素,那么: 应打印以下内容: 我该怎么做呢?