我如何使用For循环而不是while来做同样的事情?

时间:2015-09-25 04:09:53

标签: java loops for-loop while-loop

我需要修改程序,以便对于大于或等于0的k的所有值,程序像以前一样工作,但是对于k小于0的所有值,程序显示,k,k -1,k-2,... 0.您只能使用for循环。  所以我的代码是这样的,使用while循环,

     while (i != k && k > 0) {
         i = i + 1;
         System.out.println(i);
     }
     while (k <= 0) {
         System.out.println(k);
         k = k + 1;
     }

我成功地为正数做了这个,但我遇到了负面问题。

这是我为正面写的for循环

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

请帮助!!!!

1 个答案:

答案 0 :(得分:2)

The for Statement的Oracle文档(部分)

  

for语句提供了一种迭代一系列值的简洁方法。程序员经常将其称为“for循环”,因为它反复循环直到满足特定条件的方式。 for语句的一般形式可表示如下:

 for (initialization; termination; increment) {
     statement(s)
 }
     

使用此版本的for语句时,请记住:

     
      
  • 初始化表达式初始化循环;当循环开始时,它被执行一次。
  •   
  • 当终止表达式的计算结果为false时,循环终止。
  •   
  • 每次迭代循环后调用increment表达式;这个表达式增加或减少一个值是完全可以接受的。
  •   

tl; dr 您可以执行类似

的操作
for (; i != k && k > 0;) {
    System.out.println(++i);
}
for (; k <= 0; k++) {
    System.out.println(k);
}