Java学习笔记day2--循环结构

*
 * 循环结构包括四个部分:
         初始化部分
         循环条件部分
         循环体部分
         迭代部分
 1>for循环
     for(初始化部分;循环条件部分;迭代条件){
         循环体;
     }
 
 2>while循环
     初始化部分
     while(循环条件){
     循环体;
     迭代条件;
     }
 for循环和while循环是可以相互转换的!
             
 3>do——while循环
     初始化部分
     do{
         循环体部分;
         迭代条件;
     }while(循环条件);
 注意:do-while相较于while,在判断循环条件之前就要执行一次循环体,也就是说do-while循环至少会执行一次循环体。
 */
import java.util.Scanner;
public class liuckz {
    public static void main(String[] agrs) {
        //========================================================================================================================================
        //for循环
        for(int i=0;i<5;i++) {
            System.out.println("Hello,World!");
        }
        
        //小练习:
        int num=1;
        for(System.out.print('a');num<=3;System.out.print('c'),num++) {
            System.out.print('b');    //输出abcbcbc,初始化部分只运行一次。
        }
        
        //例题,遍历100以内的偶数,输出所有偶数的和
        int sum=0;
        int count=0;//记录偶数个数
        for(int i=1;i<=100;i++) {
            if(i%2==0)
                count++;
                sum+=i;
                System.out.println(i);
        }System.out.println("sum="+sum);
        System.out.println("偶数个数为:"+count);
        
        /*编写程序从1循环到150,并在每行打印一个值,另外,
         在每个3的倍数行上打印“foo”,
         在每个5的倍数行上打印“biz”,
        在每个7的倍数的行上打印输出“baz”
        */
        for(int i=1;i<=150;i++) {
            System.out.print(i+"\t");
            if(i%3==0) {
                System.out.print("foo"+"\t");
            }
            if(i%5==0) {
                System.out.print("biz"+"\t");
            }
            if(i%7==0) {
                System.out.print("baz"+"\t");
            }
            System.out.println();//换行
        }
            
            //例题2:输入两个正整数m和n,求其最大公约数和最小公倍数+++++++++++++++++++++++++++++++++++++++++
            Scanner scan=new Scanner(System.in);
            System.out.println("请输入两个正整数:");
            int m=scan.nextInt();
            int n=scan.nextInt();
            int max=(m>n)?m:n;    //求出两个值中的较大值
            int min=(m>n)?n:m;    //求出两个值中的较小值
            for(int j=min;j>=1;j--) {    //最大公约数一定小于等于这两个数中的较小值
                if(m%j==0 && n%j==0) {
                    System.out.println("最大公约数是:"+j);
                    break;    //一旦在循环中执行到break,则跳出当前循环.
                }
            }
            for(int j=max;j<=m*n;j++) {    //最小公倍数一定大于等于两个数的较大值
                if(j%m==0 && j%n==0) {
                    System.out.println("最小公倍数是:"+j);
                    break;
                }
            }//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            
            //输出所有的水仙花数
            for(int i=100;i<1000;i++) {
                int g=i%10;
                int s=(i/10)%10;
                int b=i/100;
                if(g*g*g+s*s*s+b*b*b==i) {
                    System.out.println(i);
                }
            }
            
            
            //=============================================================================================================================
            //while循环
            int i=1;
            while(i<=100) {
                if(i%2==0)
                    System.out.println(i);
                i++;    //写while循环千万不要忘了迭代条件!!!!
            }
            
            //=================================================================================================================================
            //do-while循环
            int j=1;
            do {
                if(j%2==0) {
                    System.out.println(j);
                j++;
                }
            }while(j<=100);
            
            int numb=10;
            while(numb>10) {
                System.out.println("while");
                numb--;
            }
            int numb2=10;
            do {
                System.out.println("do-while");
                numb2--;
            }while(numb2>10);
    }    
}

 

posted @ 2022-11-01 18:55  乐美  阅读(57)  评论(0)    收藏  举报