关于 for 循环和 while 循环?

下列关于for循环和while循环的说法中哪一个是正确的(  )
A while循环能实现的操做,for循环也都能实现
B while循环判断条件通常是程序结果,for循环判断条件通常是非程序结果
C 两种循环任什么时候候均可替换
D 两种循环结构中都必须有循环体,循环体不能为空java

选:A学习

B:判断条件和结果无关系spa

C: for循环适用于已知循环次数,while循环适用于未知循环次数的时候 ,如for不知道循环次数怎么互换使用for循环?因此有时候不能互换。code

for(init; test; increment) , while(test) 因而可知,当for语句的初始化及自增部分为空时才能替换内存

D:虽然空循环体没意义,不过都是可用的。例:for(int i=0;i<10;i++);  及 int i=0; while(i++<10);作用域

注意:rem

while和for有时候能够互换,区别在于for为了断定循环而初始化定义的变量在for循环结束后在内存中释放,而while循环使用的变量则在循环结束后能够继续使用(两个循环的变量的做用域不一样)。 it

用while构造死循环时,通常会使用while(TRUE)来构造死循环;而用for来构造死循环时,则使用for(;;)来构造死循环。 for循环

//问:我国最高山峰是珠穆朗玛峰:8848m,我如今有一张足够大的纸张,厚度为:0.0
//请问,我折叠多少次,就能够保证厚度不低于珠穆朗玛峰的高度?
//此时循环次数不明确,因此选择 while循环比较合适。
class WhileTest {
  public static void main(String[] args) {
    //定义一个统计变量,默认值是0
    int count = 0;
    //最高山峰是珠穆朗玛峰:8848m这是最终的厚度
    int end = 884800;
    int start = 1;
    while(start<end) {
      //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
      count++;
      //折叠一次有什么变化呢?就是厚度是之前的2倍。
      start *= 2;
      System.out.println("第"+count+"次厚度是"+start);
    }
    //输出统计变量。
    System.out.println("要叠"+count+"次,高度才能不低于珠穆朗玛峰的高度");
  }
}

 

 

水平有限,如有问题请留言交流!class

互相学习,共同进步:) 转载请注明出处谢谢!