先用一道笔试题目来引出
下列关于for循环和while循环的说法中哪个是正确的?( )
A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环结构中都必须有循环体,循环体不能为空
for循环一般表达式:
for(表达式1;表达式2;表达式3)
语句
它的执行过程如下:
- 先求解表达式1。
- 求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步;若其值为假(0),则结束循环,转到第5)步。
- 求解表达式3。
- 转回上面第2)步继续执行。表达式1只执行一次。
- 循环结束,执行for语句下面的一个语句
while循环一般表达式:
while(表达式)语句
其中表达式是,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用下图表示。
使用while语句应注意以下几点:
1、while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
2、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。
一般在使用时,while循环是你知道条件的前提下才使用的,而for循环是需要知道循环次数。
但是我们也可以在for里面加入if来判断以及break,而while里面加入判断条件的变量值自增,从而来达到for和while的互换。
两者的区别在于增强for循环,while不能实现。
增强for循环一般表达式:
for ( 循环变量类型 循环变量名称 : 要被遍历的对象) 循环体
增强for循环和iterator遍历效果是一样的,但增强for循环不能再循环里面动态删除集合内容,不能获取下标。
public class ForArrary
{
public static void main (String[] args)
{
int[] arr = {1,2,3,4,5,6,7};
for(int a:arr)
{
System.out.print(a);
}
}
}
笔试题答案为B