当前位置: 首页 > 面试题库 >

for循环是如何工作的?

袁雅逸
2023-03-14
问题内容

这是一个非常简单的for循环:

for(int i=0;i<=100;i++)
{
    System.out.println(i);
}

我知道它主要如何工作,但是我不明白最后的i++工作方式:如果我是对的,它应该加1,但是当它打印出时i,它先打印0,然后再打印1。

为什么为什么不从1开始就因为i++?为什么仍然只打印出原始值而不是原始i++值?


问题答案:

一个for循环的工作方式如下:

  1. 初始化完成(int i=0在您的情况下;仅执行一次)
  2. 条件检查(i<=100此处),如果条件为假,则退出循环
  3. 大括号内的代码已执行(System.out.println(i);根据您的情况)
  4. 更新语句已执行i++
  5. 转到2。


 类似资料:
  • 问题内容: 通过一些旧的公司代码,我遇到了一个如下所示的for循环: 我尝试了Google,但找不到任何答案。我是在编程课上睡着了还是这是一个不寻常的循环? 问题答案: 一个for在Java循环结构如下- for (initialization statement; condition check; update) loop body; 如你所见,这里有四个语句- 初始化语句:第一次进入循环时,该

  • 问题内容: 我在进行函数调用时试图找到for-each循环的工作方式。请参阅以下代码, 在版本1中,我在for- each循环中调用returnArr()方法,在版本2中,我显式调用returnArr()方法并将其分配给数组,然后对其进行迭代。两种方案的结果都相同。我想知道哪个更有效以及为什么。 我认为版本2会更高效,因为我不会在每次迭代中都调用method。但是令我惊讶的是,当我使用版本1调试代

  • 这个方法的问题是它总是返回零。看起来没有使用它的参数。然而,如果我按照下面的方式来写,那么一切都运行得很好。有没有人知道为什么第一种方法不起作用?

  • 问题内容: 我很惊讶地看到下面的Java代码片段已编译并运行: 其中listOfNumbers是整数数组。 我以为最终声明只分配了一次。编译器是否正在创建Integer对象并更改其引用? 问题答案: 想象一下,速记看起来很像这样:

  • 下面AtomicBigInteger实现的方法是原子操作吗?我特别想知道部分。JVM是否以某种方式保证for循环中的每个循环都是原子式执行的? 我从这里得到了这段代码:是否可以以线程安全的方式安全地递增BigInteger,也许可以使用AtomicReference,W/O锁定?然而,这个实现正在进行中,您可以在Internet上的许多不同地方找到它。

  • 问题内容: 我正在编写代码以确定nxn列表中的每个元素是否相同。即返回true,但将返回false。我正在考虑编写一个代码,当它发现与第一个元素不同的元素时立即停止。即: 我想停止此循环, 然后返回false。否则返回true。我将如何实施呢? 问题答案: 使用和为此。可以使用以下命令在Python中完成打破嵌套循环的操作: 另一种方法是将所有内容包装在函数中,并用于从循环中退出。