6 回答
TA贡献1811条经验 获得超6个赞
public static void main(String args[])
{
for(int i = 0; i < 10; i++)
{
if (i%2 == 0) {
continue;
}
System.out.println(i);
}
}
输出是:
1
3
5
7
9
TA贡献1829条经验 获得超7个赞
由于循环条件失败,此代码将不起作用
for(int i =0;i<0;i++)
或者您可能忘记将条件更新为
for(int i=0; i<10; i++)
尝试这个
package live;
public class ACTIVE {
public static void main(String args[])
{
for(int i=0; i<10; i++)
{
if(i%2==0)
continue;
System.out.println(i);
}
}
}
TA贡献1887条经验 获得超5个赞
它可能有助于准确指定 for 循环的各个部分:
for(初始化;终止;递增)
初始化表达式设置 for 循环的初始条件。
当终止表达式的计算结果为时,循环将停止
false
。增量表达式将在循环的每次迭代中执行一次。
因此,考虑到这一点,让我们看看您的循环实际上在做什么:
for(int i = 1; i < 0; i++)
因此,您的循环通过创建一个名为 的变量并将其设置为 来初始化。接下来,您的循环说在is时终止。但是你只是设置为等于,不小于零!因此,在您开始遍历 loop 之前,您的终止条件已经为假,这意味着该循环根本不会运行。i
1
i < 0
false
i
1
根据您的预期输出,您打算编写的内容似乎是:
for(int i = 1; i < 10; i++)
i
请注意,这将在大于或等于时终止10
。
另外,出于以下几个原因,我建议不要使用此代码:
if(i%2==0) continue; System.out.println(i);
使用 if 语句而不使用大括号来描述要在 if 中执行的代码通常是不好的做法。此外,您的逻辑有点“颠倒”,因为缺乏更好的措辞方式。编写(可以说)更直观:
if(i % 2 != 0) { System.out.println(i); }
这消除了对 的需要continue
,并略微提高了可读性。
TA贡献1818条经验 获得超7个赞
让我尽可能保持简单,而不深入术语。让我们举个例子好吗?假设我给你 10 美元,我让你去花,但你只能花 0 美元?你能花钱吗?答案是不对。为什么会这样?只是因为条件不匹配,你将无法正确执行任务(这里是花钱)。同样,在你的循环中,你已经编码了:
for(int i=0;i<0;i++)
现在告诉我看看你的这部分代码:
i=0且i<0
你看到你做错了什么了吗?你已经告诉程序好的,我将 i 的值设置为 0,你将不得不运行循环直到 i 保持小于 0 的部分。但是 i 永远不会小于 0,因为 0 不小于 0。所以你的条件根本不满足,根本不执行。所以你需要做的是将条件设置为i<10并且你的循环将起作用。但是,请注意您的循环可以变得更高效。希望它有所帮助:D
TA贡献1817条经验 获得超6个赞
我没有得到我的 java 程序的输出?
那是因为您的 for 循环无法在给定条件下运行。
for(int i=0;i<0;i++)
//1) Initialize i as 0
//2) if i<0 is true, run statments within for-loop
在 (2) 处,条件为假,因为 0 不小于 0,因此您的循环将不会运行。尝试任何大于 0 的循环运行(例如i<1)
此外,您可以通过以下方式避免继续声明:
for(int i=0;i<10;i++)
if(i%2 != 0)
System.out.println(i);
TA贡献1966条经验 获得超4个赞
您将 i 设置为 0 并且您的 for 循环仅在 i<0 时运行,因此将其更改为 10 并且它应该可以工作。
public static void main(String args[])
{
for(int i=0;i<10;i++)
{
if(i%2==0)
continue;
System.out.println(i);
}
}
添加回答
举报