#千峰#java04循环语句

一、循环语句
1、定义:
·满足一定情况下,可以重复执行的语句
·循环语句可以帮我们用很少的代码执行大量的工作
2、分类:
。for循环
。while循环
。do...while
二、for循环语句
1、格式:

for(初始化表达式;boolean;循环后表达式){
    //执行语句
}

2、执行流程
。执行初始化语句
。执行判断条件,看其返回值是true还是false
·如果是true,就执行循环体
·如果是false,就结束循环
。循环体执行到最后,执行循环表达式
。再次执行判断条件,重复第二步
3、注意:
。循环前表达式:再循环开始前,无论循环多少次,这个表达式只执行一次
。关系表达式:无论是简单还是复杂,其结果必须是Boolean
。循环后表达式:在每次循环体执行完毕之后执行
。循环体如果只有一句话,大括号可以省略,但是建议不要省略
4、TestDemo

public class TestDemo{
    public static void main(String[] args){
        for(int i = 1 ; i<=5;i++){
            int a = 10 ;
            
            System.out.println("........");
            
            System.out.println(a);
            
            a++;
            //a是打印了5遍10 。
        }
    }
}

5、①在初始化表达式中定义的变量,在整个循环结束后,会随着循环消失。
②在初始化表达式中定义的变量,属于整个循环,无论第几遍循环,用的
都是同一个变量。
③在循环体内定义的变量,在这一边循环体执行结束时,就会消亡。
6、水仙花数:

public class TestDemo{
    public static void main(String[] args){
        for(int i = 100 ;i<=900 ; i++){
            int g = i%10 ; 
            int s = i/10%10 ; 
            int b = i/100 ; 
            int sum = g*g*g + s*s*s + b*b*b;
            if(sum==i){
                System.out.println(sum);
            }
        }
    }
}

三、for循环的特殊格式:
1、特殊格式:
。表达式2一般不可省略,否则为无限循环
for(int i = 1 ; ; i++)
//相当于条件永为真,永不为false

。表达式3亦可以省略,但是在循环体中必须有语句修改循环变量,以使
表达式2在某一时刻为false而正常结束循环。
for(int sum = 0 , i =1 ; i <= 100 ; )

。若同时省略表达式1,表达式3,则相当于while(表达式2)语句
for( ; i <=100 ; )

。三个表达式均省略,即for( ; ;)语句,此时相当于while(true)语句
2、总结:
for循环小括号内的三部分都可以不写 中间的Boolean值默认为true
四、while循环语句
1、格式:

while(boolean){
    循环语句;
    控制语句;
}

2、执行流程:
。执行判断语句,看其返回值是true还是false
·如果是true,就继续执行
·如果是false,结束循环
。执行循环体
。执行控制语句
。返回第一步继续执行
3、演示:
计算1到100的和

public class TestDemo{
    public static void main(String[] args){
        int i = 1;
        int sum = 0 ;
        while(i <=100){
            sum += i;
            i++ ; 
        }
        System.out.println(sum);
    }
}

//当我们不需要初始化表达式和循环后表达式时,while更简洁
//当死循环或者可以调用方法来判断成功或失败时。

4、

public class TestDemo{
    public static void main(String[] args){
       Scanner sc = new Scanner(System.in);
       while(sc.hasNextInt){
           int num = sc.nextint();
           System.out.println("打印结果:" + num);
       }
    }
}

5、测试题:打印100以内能被4整除,不能被7整除的数,每行打印6个

public class TestDemo{
    public static void main(String[] args){
       int i= 0 ;
       int index = 1 ;//这一行中下一次打印数值的位置
       while(i<=100){
           if(i%4==0&&i%7!=0){//过略无效数值
               if(index==6){//如果index为6,这一行本次是最后一次打印数值
                   System.out.println(i);//打印并换行
                   index = 1 ;//把计数器重置为1
               }else{
                   System.out.print(i + "/t");//如果index不是6,说明这行还有空余位置
                   index++ ; //计数器+1
               }
           }
           i++;
       }
    }

五、do.....while循环语句
1、格式:

do{
    循环语句;
    控制条件语句;
}while(boolean);

2、执行流程
。执行循环体语句
。执行控制条件语句
。执行判断条件语句,看其额返回值是true还是false
。如果是true,就继续执行循环体
。如果是false,就结束循环
3、演示:

public class TestDemo{
    public static void main(String[] args){
       int i = 0 ;
       do{
           System.out.println("nihao ");
           i++ ; 
       }while (i>0);
    }
}

4、注意事项:do....while循环无论条件是否成立循环体都会执行一次
六、关键字的使用
1、return
。可以写在方法体的任意地方
。是和方法打交道的
。结束整个方法,之后的代码全部都不在执行、

public class TestDemo{
    public static void main(String[] args){
       //循环任意区间内的整数,当找到7的倍数的时候终止整个方法
       //如果没有找到,提示没有找到
       int i =10;
       int b = 100 ; 
       for(;i<=b ; i++){
           if(i%7==0){
               System.out.println("找到的7的倍数:" + i);
               return;
           }
       }
       System.out.println("没有找到");
    }
}

2、break
。用在循环中或者switch语句中
。终止并跳出循环或者结束switch语句
。终止循环,

public class TestDemo{
    public static void main(String[] args){
       for(int i = 0 ;i<3 ; i++){
           System.out.println("break 之前的语句");
           if(i==1){
               //忽略本次循环剩下的语句
               break;
           }
           System.out.println("break之后的语句");
       }
    }
}

3、continue
。终止本次循环,继续下次循环,这次循环中continue之后的代码都不在执行

public class TestDemo{
    public static void main(String[] args){
       for(int i = 0 ;i<3 ; i++){
           System.out.println("i的值是" +i);
           if(i==1){
               //忽略本次循环剩下的语句
               continue;
           }
           System.out.println("continue之后的语句");
       }
    }
}

4、break、continue可用于父循环,给父循环起别名

public class TestDemo{
    public static void main(String[] args){
     w: for(int i =0 ;i<10 ; i++){
         //外循环语句
         System.out.println("外循环语句......前");
             for(int j = 0 ; j <10 ; j+=){
                 break w ;
             }
             System.out.println("外循环语句.....后");
         }
    }
}

5、循环嵌套案例

public class TestDemo{
    public static void main(String[] args){
     //   for(int j = 1; j<=5 ; j++){//控制着总行数
     //       for(int i = 1 ; i<=j ; i++){//控制着每行打印多少颗星星
     //           System.out.println("*");
     //       }
      //      System.out.println();//换行
      //  }
      
      
     //  for(int j = 1; j<=9 ; j++){//控制着总行数
     //    for(int i = 1 ; i<=j ; i++){//控制着每行打印多少颗星星
     //          System.out.println("*");
     //    }
      //     System.out.println();//换行
      // }
    }
}

6、九九乘法表

public class TestDemo{
    public static void main(String[] args) throws Exception{
         for(int j = 1; j<=9 ; j++){//控制着总行数
              for(int i = 1 ; i<=j ; i++){//控制着每行打印多少颗星星
                 System.out.println(i + "*" +j +"=" +(j*i) + "\t");
                 Thread.sleep(238);
              }
               System.out.println();//换行
               Thread.sleep(200);
          }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容