for循环
for循环

- 与while循环比较
package com.bk201.struct;
public class ForDemo01 {
public static void main(String[] args) {
int a = 0; //初始化值
while(a<=100){ //条件判断
System.out.println(a);
a=a+2; //迭代
}
System.out.println("while循环结束");
//初始化值//条件判断//迭代
for (int i=0;i<=100;i++){
System.out.println(i);
}
System.out.println("for循环结束");
/*
关于for循环的几点声明
最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
接着检测布尔表达式的值。如果是true,则执行循环体,如果是false,则循环中止,开始执行循环体后面的语句。
执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减,也就是迭代的式子来控制)。
再次检测布尔表达式。循环执行上述过程。
*/
}
}
- 快捷输入:直接输入100.for后回车,自动生成代码。
for (int i=0;i<=100;i++) //100.for
- 死循环
//死循环//可行
for (; ;){
}
案例一
package com.bk201.struct;
public class ForDemo02 {
public static void main(String[] args) {
//计算0~100之间奇数和偶数之和
int oddnum = 0;
int evennum = 0;
for (int i = 0; i <= 100; i++) {
if(i%2==0){
oddnum+=i;
}else {
evennum+=i;
}
}
System.out.println("偶数的和:"+oddnum);
System.out.println("奇数的和:"+evennum);
}
}
输出结果:

案例二
package com.bk201.struct;
public class ForDemo03 {
public static void main(String[] args) {
//用while或for语句循环输出1~1000中能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%15==0){
System.out.println();
//System.out.print("\n");
}
//println 输出完会换行
//print 输出完不会换行
}
}
}
输出结果(图不全):

案例三
package com.bk201.struct;
public class ForDemo04 {
public static void main(String[] args) {
//打印9x9乘法表
//先打印出第一列
//把固定的1再用一个循环包起来
//去除重复项,通过 j <= i 来实现
//调整样式
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+(j*i)+"\t");
}
System.out.println();
}
}
}
输出结果:

增强for循环
- 用于数组或集合的循环

package com.bk201.struct;
public class ForDemo05 {
public static void main(String[] args) {
int[] number = {10,20,30,40,50}; //定义数组
for(int i = 0;i<5;i++){ //正常for语句
System.out.println(number[i]);
}
System.out.println("==============");
//遍历数组元素
for(int x:number){ //增强for语句
System.out.println(x);
}
}
}
输出结果一致

-
声明新的变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
-
表表达式是要访问的数组名,或是返回值为数组的方法。

浙公网安备 33010602011771号