循环结构

/*
循环结构:
在满足某些条件或者情况下,重复性的去执行一些代码,实现某个功能
三种基本循环结构语句: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+"是质数");
        }
    }
原文地址:https://www.cnblogs.com/luayan/p/13893337.html