Java语法基础之语句

来源:互联网 发布:手机淘宝如何看好评率 编辑:程序博客网 时间:2024/05/12 13:51

 

程序流程控制语句

分四类:

a)        判断结构(if)

b)       选择结构(switch)

c)        循环结构(do while;while;for)

d)       其他流程控制语句(break;continue)

一、判断结构(if)

1、if语句三种格式:

1, if(条件表达式)                 3,  if(条件表达式)

{                                {

执行语句;                     执行语句;

}                                 }

2,  if(条件表达式)                else if (条件表达式)

{                                { 

执行语句;                    执行语句;

}                                }

else                              ……

{                                else

执行语句;                       {

}                                  执行语句;

                                                }

2、If语句特点:

a)       每一种格式都是单条语句。

b)       第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。

c)       条件表达式无论写成什么样子,只看最终的结构是否是true或者false。

3、注意事项:

1)       第三种格式中只要有一个满足条件的就结束。

2)       if到第一个分号“;”为止。

3)       ifelse 结构 简写格式:变量=(条件表达式)?表达式1:表达式2;相当于三元运算符。

4)       三元运算符:好处:可以简化if else 代码。弊端:因为是一个运算符,所以运算完必须要有一个结果。

4、练习:

1,需求1:根据用户定义的数值不同。打印对应的星期英文。

class IfTest {public static void main(String[] args) {//需求1:根据用户定义的数值不同。打印对应的星期英文。int num = 1;if(num==1)System.out.println("monday");else if(num==2)System.out.println("tsd");elseSystem.out.println("nono");}}

2,需求2:根据用于指定月份,打印该月份所属的季节。

class IfTest {public static void main(String[] args) {//需求2:根据用于指定月份,打印该月份所属的季节。//3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季int x = 4;if(x==3 || x==4 || x==5)System.out.println(x+"春季");else if(x==6 || x==7 || x==8)System.out.println(x+"夏季");else if(x==9 || x==10 || x==11)System.out.println(x+"秋季");else if(x==12 || x==1 || x==2)System.out.println(x+"冬季");elseSystem.out.println(x+"月份不存在");if(x>12 || x<1)System.out.println(x+"月份不存在");else if(x>=3 && x<=5)System.out.println(x+"春季");else if(x>=6 && x<=8)System.out.println(x+"夏季");else if(x>=9 && x<=11)System.out.println(x+"秋季");elseSystem.out.println(x+"冬季");}}

二、选择结构

1、switch语句格式:

switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

……

default:

执行语句;

break;

}

2、switch语句特点:

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

     细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;

                 2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;

                 3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

                 4):结束switch语句的两种情况:遇到break,执行到switch语句结束。

3、练习

需求2:根据用于指定月份,打印该月份所属的季节。

class  SwitchTest{public static void main(String[] args) {//需求2:根据用于指定月份,打印该月份所属的季节。//3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季int x = 4;switch(x){case 3:case 4:case 5:System.out.println(x+"春季");break;case 6:case 7:case 8:System.out.println(x+"夏季");break;case 9:case 10:case 11:System.out.println(x+"秋季");break;case 12:case 1:case 2:System.out.println(x+"冬季");break;default:System.out.println("nono");}System.out.println("Hello World!");}}

注意事项:

       if与switch语句。

       具体什么场景下,应用哪个语句呢?

              如果判断的具体数值不多,而是符合byte short int char这四种类型。

              虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。

              其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。

三、循环结构

代表语句:while,do while, for

1,while语句格式:

while(条件表达式)                            do while语句格式:

{                                             do

执行语句;                                    {

}                                               执行语句;

                                                        }while(条件表达式);

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

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

简单一句话:do while:无论条件是否满足,循环体至少执行一次。

2,while与do while 举例:

class WhileDemo {public static void main(String[] args){/*定义初始化表达式;while(条件表达式){循环体(执行语句);}*/int x = 1;while(x<3){System.out.println("x="+x);x++;}int x1 = 1;do{System.out.println("do : x1="+x1);x1++;}while (x<3);int y = 1;while(y<3){System.out.println("y="+y);y++;}}}

3,for语句格式:

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

           {

           执行语句;

       }

4,while与for注意事项:

注:

a)       for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止,

b)       while 与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。

c)       最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

for和while的示例:

class ForDemo {public static void main(String[] args) {/*for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}*/for(int x = 0; x<3 ; x++){System.out.println("x="+x);}//System.out.println("x===="+x);int y=0;while(y<3){System.out.println("y="+y);y++;}System.out.println("y===="+y);}}

通过示例的总结如下:

1,变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。

              for语句执行完毕。该变量在内存中被释放。

       2,for和while可以进行互换。如果需要定义循环增量。用for更为合适。

       3,什么时候使用循环结构?

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

for执行时小小注意点:

a)       条件既不是真也不是假,编译失败。

class ForTest {public static void main(String[] args) {for(System.out.println("a"); System.out.println("b");System.out.println("c"),x++){System.out.println("d"); //编译失败,条件既不是真也不是假,编译失败。     }int x = 1;for(System.out.println("a"); x<3 ;System.out.println("c"),x++){System.out.println("d");x++;}//结果为adcdc}}

b)       无限循环的最简单表现形式:

              for(;;){}

              while(true){}

小小总结:

 ifswitch  do while   while  for

这些语句什么时候用?

1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。但是建议使用switch,效率相对较高。

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

3)、当某些语句需要执行很多次时,就用循环结构。

四、其他流程控制语句

break(跳出),continue(继续)

break语句:应用范围:选择结构和循环结构。

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

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

continue语句:应用于循环语句。

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

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

注:

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

b)       这两个语句单独存在下面都不可以有语句,因为执行不到。

c)       continue语句是结束本次循环继续下次循环。

d)      标号的出现,可以让这两个语句作用于指定的范围。




寄语:学习语句时,才发现数学是如此的重要,虽然我没有时间再回到学校学习数学了,加油吧!。。。  ——濛濛