大数据第四天

分支结构2:switch语句

switch由一个控制表达式和多个case标签组成,和if语句不同的是,switch控制语句后面的表达式只能是byte,short,int,char四种数值类型,或者是枚举和String类型(jdk 1.7才开始支持),不能是boolean类型。

执行流程,先对条件表达式进行求值,然后依次匹配各个条件,如果和条件相符,就执行对应case内的语句,如果所有的case都不匹配的话,那么执行default中的语句。

switch中case语句的控制范围比较清晰,所以case要执行的语句完全可以不用{},这点和if语句不同。

总结:

    当某些case没有break语句的时候,程序从条件表达式中的值和第一个匹配到的case语句开始执行,一直执行到遇到break或者最后。

    case相当于一个switch的执行入口。

    break想当于switch的出口,如果一直没有出口的话,一直执行到switch结束。

/*

switch(变量){

    case 值1:

    case 值2:

    case 值3:

    default:

}

1.根据变量的值,选择相应的case去判断,一旦满足case条件,就执行case的相应语句。如果没有break或者已经到结尾的话,会继续执行其下的case语句。

2.default:是可选的,而且位置是灵活的。

3.变量可以是哪些类型?char byte short int 枚举 String(jdk1.7)

4.case 条件:其中条件只能是值,不能是取值范围!

*/

循环结构

循环语句功能

在某些条件满足的情况下,反复执行特定代码的功能,需要在某些特定时间把循环的条件改成false来结束循环,否则将是死循环

 

循环语句的四个组成部分

  • 初始化部分(init_statement)对一些变量进行初始化
  • 循环条件部分(test_exp)条件为true执行循环,条件为false不执行循环
  • 循环体部分(body_statement)条件为true时执行的语句
  • 迭代部分(alter_statement)需要更改其值的变量

循环语句分类

  • for 循环
  • while 循环
  • do/while 循环

for 循环

典型语法:

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

    System.out.println(i);

}

While循环

语法格式

 

[初始化语句]

while( 布尔值测试表达式){

    语句或语句块;       //循环执行语句

    [更改语句;]        //控制while何时结束

}

for循环和while循环的差异

看下面语句:

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

    System.out.println(i);

}

//System.out.println(i);

int p = 0;

while(p < 10){

    System.out.println(p);

    p++;

}

System.out.println(p);

如果想要在循环体之外访问循环控制的变量的话,需要使用while循环,因为while循环的变量定义是在while循环体之外的;反之,当不需要在循环之外访问循环控制变量的话,就使用for循环

do-while 循环语句

语法格式

[初始化语句]

do{

    语句或语句块;

    [更改语句;]

}while(布尔值测试表达式);              

注意在while表达式之后要加分号

 

do{

    System.out.println("Hello World");

}while(false);

/*

①初始化条件

②循环条件

③迭代条件

④循环体

 

1.格式:

do{

    ④

    ③

}while(②);

 

2.do-while与while的区别:do-while循环至少会执行一次!

*/

嵌套循环

将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环和内层循环。

int i = 0,j = 0;

       while(true){

           while(true){

              if(j > 3)

                  break;

              System.out.println("inner loop");

              j++;

           }

           if(i > 4)

              break;

           System.out.println("outter loop");

           i++;

       }

嵌套循环:循环中还可以声明循环。相当于内层循环的整体充当外层循环的循环体

for(;;)

 

posted @ 2017-03-18 17:17  这就是飞扬的感觉  阅读(78)  评论(0编辑  收藏  举报