第一个理解没问题
第二个 举例不当,循环查询结果集时,不知道结果有多少条记录,用while
 
ResultSet rs = st.executeQuery("select * from worker where id = 104");
while (rs.next()) {
System.out.println(rs.getString("Id"));
}

解决方案 »

  1.   

    应该说两个都可以互相替换吧,for也可以用于不知道次数的循环
    例如for(;true;)就相当于while(true),同样是死循环
    for循环中的条件不一定是(int i = 0; i < N; i++)这种写法
      

  2.   

    你问这个问题说明你都没真正搞清楚for和while可以怎么用
    首先说明for和while可以相互转换,至少在Java里可以,不存在只能用while不能用for,或者反过来的情况while循环的格式是
    while (条件) {
      循环体
    }
    for循环的格式是
    for (初始化语句; 条件; 循环末执行的语句) {
      循环体
    }while的执行方式很简单,进循环,首先判断是否满足条件,不满足退出循环,满足则执行循环体,执行完毕再检查条件,依此循环下去
    for的执行方式稍微多几步,首先执行初始化语句,然后判断条件,不满足退出循环,满足则执行循环体,执行完毕这时再执行"循环末执行的语句",再检查条件,依此循环所以while要改写成for很简单,比如
    while (条件) {
      循环体
    }
    改写以后
    for (;条件;) {
      循环体
    }
    注意for循环三个项目(初始化语句,条件,循环末语句)都不是必须的,都可以省略
    所以for(;;)就相当于while(true)是死循环for要改写成while,也不是很复杂,比如
    for (初始化语句; 条件; 循环末语句) {
      循环体
    }
    改写以后变成
    初始化语句
    while (条件) {
      循环体
      循环末语句
    }
      

  3.   

    可以互相替换 for只是一种简写形式 但一般用途如楼主讲的 清晰些
      

  4.   

    是可以互换的,关键的地方在与表达式是为true还是false
      

  5.   

    可以互相替换的 关键是在必要的地方 放上 退出循环的条件 continue或break return 
      

  6.   

    使用while循环时,N必须给一个特定的值,要不然就永远都跳不出循环体了