java判断与循环语句

来源:互联网 发布:网络信息监控采集技术 编辑:程序博客网 时间:2024/05/19 16:33


一、判断语句

1.switch语句

                       格式:

                                       switch(表达式)

                                      {
                                         case 取值1:

                                          执行语句;

                                           break;
                                        case 取值2:

                                          执行语句;

                                          break;

                                          ......

                                       default:
                                         执行语句;
                                         break;
                                     }

switch语句特点:
1.switch语句选择的类型只有四种:byte,short,int,char。
2.case之间与default没有顺序。先执行第一个case,没有匹配的case执行default
3.结束switch语句的两种情况:遇到break,执行到switch语句结束
4.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

 

工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了就执行哪个case后面的语句,如果没有相同的则执行default后面的语句。

注意:如果将default语句放在了第一行,则不管语句与case中的value是否匹配,程序都会从default开始执行直到第一个break出现。

if语句和switch语句很像,那具体什么时候用switch语句呢?

      如果判断的具体数据值不多,而且是byte,short,int,char这四种类型,建议使用switch语句。虽然if也可以用,但这种情况用switch效率相对更高一些。

2.if语句

什么时候使用if语句呢?

当判断数据范围,获取判断运算结果boolean类型时,需要使用if。

if语句有三种格式

1)if(表达式){语句}

2)if(表达式){语句1}else{语句2}

3)if(表达式1){语句1}else if(表达式2){语句2}else if(表达式3){语句3}else if(表达式n){语句n}else{语句m}

if:如果。  else:否则。

示例:

                        if(x>y)

                        {

                            System.out.println("x大于y"); 

                       }else if(x=y)

                               {

                                   System.out.println("x等于y");

                               }else{

                                              System.out.println("x小于y");

                                       }

如果x>y,就输出x大于y。否则,如果x=y,就输出x等于y。否则,输出x小于y。 

注意:这里如果语句只是一个if else,如果if里的x不大于y,就会执行else里的,不管是等于还是小于都执行else里的语句。

 

二、循环语句

什么时候使用循环结构呢?当要对某些语句执行很多次时,就使用循环结构。

1.while语句

while语句有两种,一个是while,一个是do while。

while语句格式:

while(条件表达式)

{

   执行语句;

}

while语句:先判断条件,只有条件满足才执行循环体。

do while语句格式:

do{

       执行语句;

    }while(条件表达式);

do while语句:先执行循环体,在判断条件,条件满足在继续执行循环体。

do while语句特点:无论条件是否满足,循环体至少执行一次。

2.for语句

                格式:

                          for(初始化表达式;循环条件表达式;循环后的操作表达式)

                          {

                               执行语句;

                          }

                 示例:

                           for(int x=0;x<10;x++)

                           {

                                 System.out.println(x);

                           }

for语句要注意的地方:

1.变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。for语句执行完毕,该变量在内存中被释放。也可以定义在for外面,这它就不光只在for语句内有效,一般如果你只是在for语句中能用到这个变量,你就不要把它定义到外面,以便节省内存。
2.for和while可以进行互换。区别在于:如果需要定义变量控制循环次数。用for更合适。因为for循环完毕,变量在内存中释放。

 

其他流程控制语句:

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。 注意:

1.这两个语句离开应用范围,存在是没有意义的

2.这两个语句单独存在时,它们下面都不可以有语句,因为执行不到

3.continue语句是结束本次循环继续下次循环

4.标号的出现,可以让这两个语句作用于指定的范围,标号只能用于循环上,给循环起名字的一种方式

示例:

           w:for(int x=0;x<3;x++){
                                               q:for(int y=0;y<4;y++){
                                               System.out.println("x="+x);
                                               break w;
                                                                                  }
                                              }


continue:只能作用于循环结构,继续循环.特点:结束本次循环,继续下一次循环。

示例:

                 w:for(int x=0;x<3;x++){
                     for(int y=0;y<4;y++){
                     System.out.println("x="+x);
                     continue w;//直接执行外循环}}

总结:

        switch与if之间if用到更广泛。if语句是可以嵌套的。语句嵌套形式其实就是语句里还有语句。

循环嵌套:for(){for(){}}。

        无限循环的最简单表现形式:1.for(;;){}  2.while(true){}

         if语句和for语句是比较重点的,要熟练掌握。

         在switch中的break是可以省略的,编译也会成功,但如果省略了就会一直执行到遇到break为止,所以最好不要忘记加break。