循环结构2

循环结构2

for循环

  1. for循环,可以使一些循环结构变得更简单。

  2. for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。

  3. for循环如果写为for( ){}则为死循环空语句,可以一直循环下去。

  4. 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]);
      }
  }
}

增强for循环,常用与遍历数组和一些集合对象,是for的简化版。

posted on 2020-10-05 18:55  晋歪歪  阅读(121)  评论(0编辑  收藏  举报