|
北大青鸟 - 南京北大青鸟首席软件工程师培训机构 全国免费咨询热线:400-885-5191(我要就业) 校址:南京市白下区建邺路66号3层 (张府园地铁3号出口)
一.For循环的一点认识。
下面是for循环的公式:
For ( 初始化 ; 条件判断 ; 迭代语句 ){
循环体 ;
}
执行顺序:初始化 → 条件判断 → 循环体 → 迭代语句。
1. 控制循环的条件判断语句可以是任何有效的boolean类型表达式。
如下例:
Scanner input = new Scanner(System.in);
Int no;
For( ; (no = input.nextInt()) != 0 ; ){
System.out.println(“yes”);
}
在上面的for循环句子中(no = input.nextInt()) != 0就是一个boolean类型的判断语句,里面的no = input.nextInt()是一条请求控制台输入的语句,所以,整个for语句的意思是:在每次进入循环输出yes前都会要求输入一个数字,如果不是“0”,就输出yes,如果是“0”,就不循环。因为这句for语句里的初始化和迭代语句都是空的,所以这个循环没有次数限制,只由数字“0”控制循环。
2. 无循环体的循环。
int sum=0,i;
for(i= 1;i<=5;sum+=i++) ;
System.out.println(sum)
可以看出上面那个for循环没有循环体,而把循环体和迭代语句合并到了一起。sum+=i++这句分解开来就是:
sum = sum + i;
i++;
注:a += b 等于a = a + b。类似的如*=,-=,/=。
那么比如i+=3就是每次i都自加3,i*=j就是i每次自我增加j倍。
由上得出个结论:可以在for的迭代语句中放入很多语句。如:
For(;;System.out.println(“yes”));//死循环输出yes
注意:这句System.out.println(“yes”)没有用“;”结尾,经过试验,在迭代语句中的句子是以“,”结尾的。最上面那句no = input.nextInt()也没有用“;”结尾,而且也没有用结束符。
故
for(i= 1;i<=5;sum+=i++); 等于for(i= 1;i<=5;sum=sum+i,i++);
提示:如果想让别人也能看得懂你所写的语句的话,还是不要精简的好!
二.Break statement ( break语句 )
Break; ← Gets you out of a loop immediately.
Right here,no iteration,no Boolean test.
Just get out now! (摘自head first :java)
译文:让你立即离开一个循环,就从这离开,没有迭代(语句),没有(boolean)条件判断,就是现在离开!
注:Break离开的是距离它最近的那个循环。
心得体会:每个问题都深入的理解一下。
解决问题的方法:是什么?为什么?真的吗?试一试。哦,原来是这样!
|