循环结构2
for循环
-
for循环,可以使一些循环结构变得更简单。
-
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
-
for循环如果写为for( ){}则为死循环空语句,可以一直循环下去。
-
for循环次数是在执行前就确定了的,语法如下:
for(初始化;布尔表达式;更新){
//代码语句
}
对比while循环和for循环
package weiwei.struct;
public class For01 {//对比while循环和for循环
public static void main(String[] args) {
int i = 0;
while(i<100){
System.out.println(i);
i+=2;//i=i+2
}
System.out.println("while循环结束");
//for循环(初始化i1;条件判断i1是否小于100;i1每次循环产生迭代)
for (int i1 = 0; i1 < 100; i1++) {//快捷输入方式: 100.for 回车即可自动生成
System.out.println(i1);//循环体
}
System.out.println("for循环结束");
}
}
利用for循环练习 "计算0~100之间奇数和偶数分别的和":
package weiwei.struct;
public class For02 {
public static void main(String[] args) {
//计算0——100之间的奇数与偶数分别的和。
int oddSum= 0;//设变量oddSum为奇数的和
int evenSum=0;//设变量evenSum为偶数的和
for (int i = 0; i < 100; i++) {//初始化i;条件判断i<100;每次循环i产生迭代+1
if (i%2!=0){//利用模运算i%2,i除以2的余数结果不等于0,则一定是奇数
oddSum+=i;//筛选出来的奇数就让它+oddSum(oddSum在这里相当于奇数的储存器)
}else{//否则 一定是偶数
evenSum+=i;//让它和evenSum相加,
}
}
System.out.println("奇数和为:"+oddSum);//结果为2500
System.out.println("偶数和为:"+evenSum);//结果为2450
}
}
利用for循环,输出1~1000内能被5整除的数,并且每行输出三个:
package weiwei.struct;
public class For03 {
public static void main(String[] args) {
//用循环输出1~1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if (i%5==0){//如果i除以5的余数等于0,则输出
System.out.print(i+"\t");
//print是输出完不会换行,加入转义字符"\t"来分开每组数据
}//为满足每行输出三个数据,就代表i除5*3(15),余数为0的时候换行
if (i%(5*3)==0){
System.out.println();//换行
}
}
}
}
使用for语句做九九乘法表:
package weiwei.struct;
public class For04 {//乘法表
public static void main(String[] args) {//main方法
//使用嵌套法:
for (int j = 1; j <= 9; j++) {//变量j初始值为1,小于或等于9,每循环一次+1
//变量i初始值为1,小于或等于j的值,嵌套的for,每循环一次+1,i值超过j时终止
for (int i = 1; i <= j; i++) {
//嵌套的for循环一次就输出一次,循环次数取决于j的值,"\t"表示空格,print为输出不换行
System.out.print(i+"*"+j+"="+(j*i)+"\t");
}
//嵌套的for循环终止一次后就换行,然后继续循环知道j大于9 程序终止
System.out.println();
}
}
}
解释:首先给变量j和i各赋初始值1,嵌套内的变量i不能数值不能超过外部的j,所以假设j等于3的时候,嵌套的i最多只可以循环三次,每一次循环i+1,当数值超过j时,终止循环,然后System.out.println();切换下一行。之后循环到变量j,变量j+1,这样导致嵌套的i也可以得到多一次的循环。一直到j大于9之后,程序终止,类似于j为时针,i为分针,i循环到终止后,j才能循环一次。不同的是j每次循环+1会使i能够得到更多一次的循环。
增强for循环
java5引入的一种主要用于数组或集合体的增强型for循环。
格式为:
for(声明语句:表达式){
//代码语句
}
package weiwei.struct;
public class For05 {
public static void main(String[] args) {
//定义一个数组 加[]代表是数组类型,变量类型[]变量名={数组}
int [] numbers = {10,20,30,40,50};
for (int x:numbers){//通过numbers将数组的值全部赋值给x,
System.out.println(x);
}
//////////////////////////////////////////
System.out.println("==========================");
//以for循环解释 增强for循环
for (int i = 0; i < 5; i++) {//i循环五次,每次加1
//输出numbers变量的第i个数值
System.out.println(numbers[i]);
}
}
}