• 循环结构


    /*
    循环结构:
    在满足某些条件或者情况下,重复性的去执行一些代码,实现某个功能
    三种基本循环结构语句:for while do-while
    语法结构:
    通常包含四部分:1.初始化部分(声明或者定义一个需要循环的变量 哦通常使用int类型的整数)
    2.循环条件部分(循环结束的条件表达式 布尔类型值true/false
    3.循环体部分(当条件满足时,程序需要加载的代码)
    4.迭代部分(循环变量的变化情况 往上递增/往下递减)
    第一个循环结构语句:for 循环
    语法结构:for(1初始化语句;2循环条件表达式;4迭代语句){
    3循环体语句代码
    }
    执行过程:
    1--》2--》3--》4--》2--》3--》4.。。。-->2直到程序结束
    说明:1.当循环表达式条件表达式的结果值为false,那么该程序语句结构就结束了。
    此时程序就跳出该循环结构,往下执行后面的代码。
    2.循环条件表达式需要关联前面的初始化声明的变量部分。
    3.每次执行到循环条件表达式时,执行循环语句结构中循环体代码
    当该表达式为假的时候,该循环语句结束,程序跳出该循环结构。
    4.查看该循环语句结构的循环次数。(关键信息)
    */
    //1.for 循环
    //需求1:要求你在程序中输出10行文本信息“我很棒,我是最棒的!”

        for (int i=0;i<10;i++){//index-->索引
            System.out.println((i+1)+"我很棒,我是最棒的!");
        }
          /*   执行过程:int i = 0;-->i<10;
          -->System.out.println("我很棒,我是最棒的!");-->i++;此时i=1-->i<10;
            -->System.out.println("我很棒,我是最棒的!");-->i++;此时i=2-->i<10;
            -->....-->i++;此时i=10;-->i<10;此时该表达式结果为false 循环结束
            循环次数:0-》9=10次
    
            */
    

    //需求2:求一下前100个正整数的和
    //思路:正整数累加1+2+3+4+5+6+....+100

        int sum = 0;//sum累加和
        for (int i=1;i<=100;i++){
             sum+=i;//sun=sum+i,累加之后赋给sum变量
    
        }
        System.out.println("前一百个正整数的和为:"+sum);
    

    //需求3:求一下前100项正整数中的所有奇数的和

        int sum1 = 0;//sum累加和
        for (int i=1;i<=100;i+=2){
            sum1+=i;//sun=sum+i,累加之后赋给sum变量
    
        }
        System.out.println("前一百个正整数的奇数和为:"+sum1);
    
        //需求4:求一下前100项所有是7包含7的倍数所有的整数的和
    
        int sum2 = 0;//sum累加和
        for (int i=0;i<=100;i+=7){
            sum2+=i;//sun=sum+i,累加之后赋给sum变量
    
        }
        System.out.println("前一百个正整数的7的倍数和为:"+sum2);
    
        //需求5:求一下三位数中的所有的水仙花数分别是多少,他们的和是多少
        // 水仙花数:每个位数的立方和等于该数本身
    
        int a,b,c ,cc;
        int s = 0;
        for(int i=100;i<1000;i++)
        {
            c=i%10;
            b=(i/10)%10;
            a=i/100;
            cc=a*a*a+b*b*b+c*c*c;
            if(cc==i)
            {
                System.out.println(i);
            }
            if(i==cc) {
                s +=i;
            }
        }
         System.out.println("他们的和为:"+s);
    
        //需求6:求一下10的阶乘数 如5!= 5*4*3*2*1=120
    
        int ride = 1;
        for (int k=10;k>0;k--){
            ride*=k;
        }
        System.out.println(ride);
    
        //需求7:求一下[100,300]之间的能被5整除的所有数,每行输出8个数。每8个数换一行
    
        for (int q=100;q<=300;q+=5){
    
            if(q%8==0){
                System.out.println();
            }
            System.out.print(q+" ,");
        }
    

    //需求8;输出1-10之间的数字,数字到8的时候跳过去
    /*
    跳出语句:break continue
    break:中断,打断,停止,就是让当前正在执行的循环语句结构(单层)停止,程序跳出该循环语句结构
    continue:
    继续,那就是执行到该跳出语句时,程序发送跳跃,但是没有跳出该循环语句结构,
    如果该循环语句结构在循环条件成立,那么程序会进入到该循环语句结构中,执行该循环语句结构中的循环体内容

        */
    
        for (int i = 1;i<=10;i++){
            //判断i==8
            if(i==8){
                continue;
            }
          System.out.println(i);
        }
    

    }

    //while循环
    /*
    while循环
    语法格式:1.初始化部分
    while(2.布尔类型的表达式){
    3.循环体代码
    4.迭代部分
    */

        //需求1:1+2-3+4—5+6-7+......+100
    
        int sum = 0;
        int i = 2;
        while (i<=100){
            if (i % 2 == 0) {//2.循环条件部分
                //奇数和偶数的判定 3.循环体代码
                sum = sum+i;
            }else {
                sum=sum-i;
            }
            i++;//4迭代部分 循环变量的情况
        }
        //输出该前100项的和
        System.out.println(sum+1);
    

    //需求2:求一下前100项正整数中的所有的质数。质数:只能被1和它本身整除,1除外
    //思路:拿这个数本身去处于从2开始的数,一直除到这个数本身 如果之前有任何一个数能被整除
    //那么该数字久不是质数
    //判定除的结果余数不能为0

        int a = 37;
        int s = 2;
        boolean isPrime = true;
        while (s < a){
            if(a%s == 0){
                isPrime = false;
                break;
            }
            s++;
        }
        if (isPrime == true){
            System.out.println( a+"是质数。");
        }
        for(int n = 1;n <= 100;n++){
            boolean b = true;
            if(n != 1){
                for (int j = 2;j < n;j++){
                    if(n%j == 0){
                        b = false;
                        break;
                    }
                }
            }
            if(b){
                System.out.println(n+"是质数");
            }
        }
  • 相关阅读:
    CGCDSSQ
    100200H
    斗地主
    借教室
    bzoj 3743
    17B
    能量项链
    589
    16-求连续数组和最大
    15-幸运数组4、7
  • 原文地址:https://www.cnblogs.com/luayan/p/13893337.html
Copyright © 2020-2023  润新知