java程序流程控制

来源:互联网 发布:电脑编程好学吗 编辑:程序博客网 时间:2024/05/17 05:50

1.布尔逻辑

  • 和。只有在组合表达式的每个部分为真时,组合表达式才为真。
  • 或。只要一个组合表达式中有一个部分为真,组合表达式就会为真。
  • 异或。如果一个组合表达式中有一个部分为真,而另一个部分为假,那么组合表达式就为真。
  • 非。对一个布尔表达式取反。

2.逻辑运算符:

       &&(逻辑与)   ||(逻辑或)    !(逻辑非)
       想干某个事情,是由一个条件控制----用关系运算符;如由多个条件控制----需用到逻辑运算符
     1).&&(短路与):见false则为fasle;两边都为true结果才为true
       若左边为false,发生短路(右边不执行、不运算)
       int a=5,b=10,c=5
       boolean b1 = a>b && c++>b           boolean b2 = a<b && c++>b
       System.out.println(b1);//false      System.out.println(b1);//false
       System.out.println(c);//5           System.out.println(c);//6
     
       ||(短路或):见true则为true;两边都为false结果才为false
       若左边为true,发生短路(右边不执行、不运算)


       !(逻辑非):取反;非真则假,非假则真  
     2).逻辑运算必须是建立在关系运算基础之上的

       逻辑运算的结果也是boolean型

3.分支结构:程序可以在运行过程中,根据不同的条件运行不同的语句。
    
    任何复杂的程序逻辑都可以通过三种基本的程序结构来实现:
    a.顺序结构:从上往下逐步执行,每句必走
    b.分支结构:有条件的执行某句一次,并非每句必走
    c.循环结构:有条件的执行某语句多次,并非每句必走


    满足就干事,不满足就不干事---if
    满足就干事,不满足就干另一件事---if-else


   1.if结构  ----1条路  
     a.语法:
         语句0;
         if(逻辑表达式){
           语句1;
         }
语句2;
     
     b.执行过程:
         执行语句0-->执行if语句里的布尔型表达式-->若为true则执行语句1-->语句2
                                -->若为false则不执行语句1,直接执行语句2
   2.if-else结构    ----2条路
     a.语法:
         语句0;
         if(逻辑表达式){
           语句块1;
         }else{
  语句块2;
}
语句3;
     b.执行过程:
         1).执行语句0
         2).判断布尔型表达式的值:
            若为true,则执行语句块1
   若为false,则执行语句块2
3).执行语句3
   3.if...else if结构    ----多条路
   4.switch-case结构     ----多条路
     优点:效率高、结构清晰
     缺点:只能对整数进行相等判断时用
     a.语法:
       switch(整型表达式){//整型表达式只能是byte、short、char、int型,但从JDK7.0开始,switch-case语句支持字符串表达式                                                         
       case 条件1:
   语句1;
   break;//跳出switch结构
       case 条件2:
   语句2;
   break;
       case 条件3:
   语句3;
   break;
     .
     .
     .
       default://所有case条件语句都不满足是才走default,其可以放在switch语句里的任何位置
   语句4;
       }
     b.执行过程:
       如整型表达式的值满足条件1时,执行语句1并通过break跳出switch结构,不继续执行下面的语句;其他同理



4.while循环语句
   1.语法
     循环变量的初始化语句;
     while(boolean表达式/循环条件语句){
          循环体(反复执行的代码);
          循环变量的改变语句;
     }
   2.执行过程
     执行初始化语句->boolean表达式判断->若为true/false->执行循环体/不执行循环->执行循环变量改变语句
     ->再进行boolean表达式判断->若为false循环结束


5.do-while循环语句
   1.语法
     do{
          循环体(反复执行的代码);
          循环变量的初始化语句/循环变量的改变语句;       -----do-while中第1要素与第3要素相同,也可不同
     }while(boolean表达式/循环条件语句);
   2.执行过程
     执行循环体->执行循环变量改变语句/初始化语句
     ->进行boolean表达式判断->若为true循环继续执行循环体...
     
   ****while与do-while的区别:当初始条件不满足时,while循环一次都不执行,do-while循环不管任何情况都至少循环一次。
       a.while循环先判断再循环
       b.do-while循环先执行一次,再判断


6.for循环语句               ------应用率最高
   1.语法
     for(循环变量的初始化语句;循环的条件;循环变量的改变){
          循环体(反复执行的代码);
     }
   2.执行过程                          ->若为false,退出循环
     执行初始化语句->执行循环的条件语句->若为true->执行循环体->执行循环变量的改变语句
                   ->再执行循环条件语句->若为true->执行循环体...
                      ->若为false,退出循环
    for循环三个表达式特殊用法: 
     第一种:
        循环变量的初始化语句;                                                  
        for(;循环的条件;循环变量的改变){
          循环体(反复执行的代码);
        }
     第二种:                          
        for(循环变量的初始化语句;循环的条件;){
          循环体(反复执行的代码);
          循环变量的改变;
        }  
     第三种:   死循环                          
        for(;;){
          循环体(反复执行的代码);
        } 
for(System.out.println(2);;System.out.println(3)){
   System.out.println(1);
}
运行结果:死循环,213131313131....
     第四种:循环变量的初始化/改变语句中,可以使用逗号表达式
        for(int i=0,j=0,k=0;i<10&&j<4&&k<10;j+=2){
           System.out.println(i++);
           System.out.println(++k+i);
           System.out.println();
}
        //结果为0  2    1  4
        for(int i=5,j=7;j<10;i-=2,j+=1){
   System.out.println("i,j="+i+","+j);
}
//结果为i,j=5,7   i,j=3,8   i,j=1,9   
7.循环中使用break语句及continue语句 
   1.break:
         循环中的break语句应用率很广,break可用于循环语句或switch语句中。
         其用于循环时,可使程序***终止循环而执行循环后面的语句***,常常与条件语句一起使用
例:
 int sum = 0;
 for(int num=1;num<=100;num++){
     if(sum>=4000){             -----总和大于等于4000时终止循环      只能跳出一层For循环
         break;
     }
     sum+=num;
 }


   2.continue:
         continue语句只能用于循环中,它的作用为***跳过循环体中剩余语句而执行下一次循环***
例:
 int sum = 0;
 for(int num=1;num<=100;num++){
     if(num%10==3){             -----统计总和时,跳过所有个位为3的
         continue;
     }
     sum+=num;
 }



0 0
原创粉丝点击