1.首先要明确rs=stmt.executeQuery(sql),rs是肯定不为null,但是其包含的result中有没有值就无法确定了。因此rs.nest()是利用指针来探究rs内容的过程。
2.先来说说利用if(rs.next()),这个方法执行者中,首先将指针放于rs结果集的第一个元素的前面,看一看有没有下一个元素(第一个元素存不存在),如果存在就执行方法体的内容,否则不执行。
说白了就是看看rs肚子里有没有货,不管是什么,有就行,那么他只执行一次判断,只要有元素,就执行。
2.再来说说while(rs.next()),这货就比if做的事情多了。首先和if一样,上来先把指针放到第一个元素之前,这个时候开始判断,如果有元素,就执行,if到这来就完事了,while不是,他执行了一圈之后,回头,把指针调到第二个元素之前,判断有没有下一个元素,依次迭代,直到遍历完所有元素。
3.综上所述,if可用来判断是否有值,while可用来遍历集合元素,可以配以输出或者赋值的操作。