第一个理解没问题
第二个 举例不当,循环查询结果集时,不知道结果有多少条记录,用while
ResultSet rs = st.executeQuery("select * from worker where id = 104");
while (rs.next()) {
System.out.println(rs.getString("Id"));
}
第二个 举例不当,循环查询结果集时,不知道结果有多少条记录,用while
ResultSet rs = st.executeQuery("select * from worker where id = 104");
while (rs.next()) {
System.out.println(rs.getString("Id"));
}
例如for(;true;)就相当于while(true),同样是死循环
for循环中的条件不一定是(int i = 0; i < N; i++)这种写法
首先说明for和while可以相互转换,至少在Java里可以,不存在只能用while不能用for,或者反过来的情况while循环的格式是
while (条件) {
循环体
}
for循环的格式是
for (初始化语句; 条件; 循环末执行的语句) {
循环体
}while的执行方式很简单,进循环,首先判断是否满足条件,不满足退出循环,满足则执行循环体,执行完毕再检查条件,依此循环下去
for的执行方式稍微多几步,首先执行初始化语句,然后判断条件,不满足退出循环,满足则执行循环体,执行完毕这时再执行"循环末执行的语句",再检查条件,依此循环所以while要改写成for很简单,比如
while (条件) {
循环体
}
改写以后
for (;条件;) {
循环体
}
注意for循环三个项目(初始化语句,条件,循环末语句)都不是必须的,都可以省略
所以for(;;)就相当于while(true)是死循环for要改写成while,也不是很复杂,比如
for (初始化语句; 条件; 循环末语句) {
循环体
}
改写以后变成
初始化语句
while (条件) {
循环体
循环末语句
}