2020-09-12

4.关于for语句:

* 循环结构:
    在程序当中总有一些需要反复的/重复的执行的代码,假设没有循环结构,那么这段需要重复执行的代码
自然是需要重复编写的。代码无法得到重复使用。所以多数编程语言都是支持循环结构的。将来把需要
反复执行的代码片段放到"循环体",再联合"计数器",共同控制这段需要反复执行的代码。

* for循环语法结构:
      for( 初始化表达式 ; 布尔表达式 ; 更新表达式 ){
      //是需要重复执行的代码片段【循环体:由java语句构成】
  }

* for循环的执行过程/执行原理?【非常重要】
  . 初始化表达式,布尔表达式,更新表达式都不是必须的!
  . 初始化表达式最先执行,并且在整个for循环当中只执行一次。
  . 布尔表达式必须是true/false,不能是其他值。
  . for的执行过程:

      * 先执行初始化表达式,并且该表达式只执行一次

  * 判断布尔表达式的结果是true还是false

    - 布尔表达式true
       执行循环体

       执行更新表达式

       判断布尔表达式的结果是true还是false
           - 布尔表达式true
                    执行循环体

                    执行更新表达式

                判断布尔表达式的结果是true还是false
		   .......
           - 布尔表达式false
	        循环结束
	      

    - 布尔表达式false
       循环结束

i变量的作用域:

     //以下for循环当中的"i"变量的作用域仅限于当前for循环内部使用。
 for(int i = 0;i < 10 ;i++){
       System.out.println("i -->> + i");
 }

     //main方法作用域当中的变量i,只要main方法没有结束,这里的i就能用。
 int i = 0;
     for( ;i < 10 ;i++){
       System.out.println("i -->> + i");
 }

     //这里可以访问main方法作用域当中的i变量
     System.out.println("i -->> + i");  //10

for循环嵌套for循环:

     //循环体中可以编写其他控制语句
 //控制语句可以嵌套使用
 //控制语句可以是:if,if...else,switch,for,while,do...while

 //内层循环中的变量名和外层循环中的变量名不能重名

 //最好不要想太多,即使循环体当中是一个for循环,不要将这个for特殊化,也是只一个普通的for循环
 //只不过是一段符合java语法的代码

 for(int i=0;i<10;i++){

     //这里是循环体,无论这个循环体当中编写了什么样的代码,这堆代码也需要执行10遍

   for(int j=0;j<3;j++){
   System.out.println("j -->" + j);
   }
 } for(int i=0;i<10;i++){

     //这里相当于10次输出(3次输出012)

   for(int j=0;j<3;j++){                      //
        for(int k=0;k<3;k++){                 //
	 System.out.println("j -->" + j);     //这里相当于3次输出012
	}
   }





   for(int i=1;i<=5;i++){                                          
          
          System.out.println("开始");

   for(int j=1;j<=5;j++){
       System.out.println(j);
   }

     System.out.println("结束");
 }

 /*
    结果:
         开始 
	 1
	 2
	 3
	 4
	 5
	 结束
      */    
        5次
	 





       for(int i=1;i<=5;i++){

          System.out.println("开始");

   for(int j=1;j<=5;j++){
       System.out.println(i*j);
   }

     System.out.println("结束");
 }

 /*
   结果:
        开始
	1*1
	1*2
	1*3
	1*4
	1*5
	结束
	开始
	2*1
	2*2
	2*3
	2*4
	2*5
	结束
	....

使用for循环输出九九乘法表:【横向纵向进行分析解剖】

11=1
2
1=2 22=4
3
1=3 32=6 33=9


91=9 …99=81

 for(int i=1;i<=9;i++){    //外层循环9次,i是行号
          
      //循环体当中的程序主要的任务是什么?
      //处理当前行,将当前行中所有的项目全部输出
      for(int j=1;j<=i;j++){                                    
          System.out.print(i + "*" + j + "=" + i * j + " ")                                  
      }                                                         

     //换行
     System.out.println();
     //System.out.print("\n");
 }编写for循环找出1~100中所有的素数

素数:又被称为质数,能够被1和自身整除,不能被其他数字整除的数字称为素数。

升级版:
编写for循环找出1~10000中所有的素数
要求每8个换一行输出

5.关于while循环语句:

  • while循环的语法结构:

    while(布尔表达式){
    循环体;
    }

  • while循环的执行原理:

    先判断布尔表达式的结果:

    • true
      • 执行循环体
        • 判断布尔表达式的结果:
        • true
          • 执行循环体
          • 判断布尔表达式的结果:
            • true
              • 执行循环体
            • 判断布尔表达式的结果:
            • false
              -循环结束
        • false
          -循环结束
    • false
      -循环结束
  • while循环的循环次数:
    0 ~ N次
    注意:while循环的循环体可能执行次数为0次。

 --------------------------------------------------------------------------------------------------
 //死循环
 while(true){
    System.out.println("呵呵");
 }

 //编译器检测到该程序永远无法被执行,所以编译报错。
  System.out.println("啊啊");



  
  //编译不会出错,但运行时会进入死循环【因为变量只有在运行时才开辟,所以编译器不会知道这里是true】
  int i = 10;
  int j = 3;
  while(i > j){
    System.out.println("呵呵");
  }



   //编译错误
   while(10 > 3){
    System.out.println("呵呵");
  }6.关于do...while循环:
  * do...while循环的语法结构:

       do{
        循环体;
   }while(布尔表达式);

  * do...while循环的执行原理

  * do...while循环的执行次数:

      do...while循环的循环体代码片段执行次数是:1-N次【至少一次】

  * 使用do...while循环语句的注意事项:

      do...while循环语句最终有一个"分号"别丢了。

7.关于java控制语句当中的break语句:

  * break是java语言当中的关键字,被翻译为"中断/折断"

  * break + ";" 可以成为一个单独的完整的java语句:break;

  * break语句使用在switch语句中,用来终止switch的语句执行。

  * break;语句同样可以使用在for,while,do...while循环语句当中用来跳出循环,终止循环的执行。
  因为当程序循环到某个条件的时候,后续的循环没必要执行了,再执行也是耗费资源,所以可以终止循环,
  这样可以提高程序的执行效率。

  * break终止哪个循环呢?
  在默认情况下,break终止的是离它最近的循环语句。当然也可以指定终止某个循环,
  需要给循环起名,采用这种语法:break 循环名称;

  //以下语法使用较少。
  //给for循环起名for1
  for1:for(int j=0;j<3;j++){
     //给for循环起名for2
 for2:for(int i=0;i<10;i++){
     if(i == 5){
        break for1;  //终止for1循环
     }
     System.out.println("i -->" + i);
 }
  }

8.关于java控制语句当中的continue语句:

  * continue表示:继续/go on/下一个

  * continue也是一个continue关键字加一个分号构成一个单独的完整的java语句,主要
  出现循环语句当中用来控制循环的执行。

  * break和continue的区别?
     - break表示循环不执行了。
 - continue表示直接进入下一次循环继续执行。

  * continue也有这样的语法:
     continue 循环名称;【作为了解内容】
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值