黑马程序员_流程控制

来源:互联网 发布:淘宝天猫退款多久到账 编辑:程序博客网 时间:2024/05/13 11:53

                                                 ------- android培训、java培训、期待与您交流! ---------- 

1,复合语句

与C语言及其他语言相同,Java语言的复合语句是以整个块区为单位的语句,所以又称块语句。复合语句可以用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套复合语句。

2,if语句

if语句的三种格式:                                    

1.if(条件表达式)
{
执行语句;
}

2.if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3.if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

注意:虽然if后面的复合语句块只有一条语句,省略“{}”并无语法错误,但为了增强程序的可读性最好不要省略。
技巧:
对于if.....else语句可以使用三元运算符对语句进行简化,比如下面的代码:
if(a>1)b = 100;elseb = 200;

可以写成:

int a = 9,b;b = (a>1)?100:200;
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。

注意:if语句只执行条件为真的命令语句,其他语句都不会执行,直接跳过。


3,switch多分支语句

格式:

switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
说明:在JDK1.6及以前的版本中,switch语句中表达式的值必须是整型或字符型,常量值1~n必须也是整型或字符型,但是在JDK1.7中,switch语句的表达式的值除了是整型或字符型,还可以是字符串类,这是JDK1.7新添加的特性。

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

注意:
1,同一个switch语句,case的常量值必须互不相同。
2,在switch语句中,case语句后常量值表达式的值可以为整数,但绝不可以是实数。例如:
case1.1;  这是不合法的。

if和switch语句很像。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。


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

4,循环语句
代表语句:while , do while , for
while语句格式:
while(条件表达式)
{
执行语句;
}

do while语句格式:
do
{
执行语句;
}while(条件表达式);

while:先判断条件,只有条件满足才执行循环体。
do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。

注意:!!
这里有一个初学者常犯的错误,我刚学的时候也犯过,就是在while表达式的括号后加;
比如:
while(x==5);
System,out.println("x的值为5");
这时程序会认为要执行一条空语句,而进入无限循环,Java编译器又不会报错。这可能会浪费很多时间去调试。

for语句:
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
注意:
a,for里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
   b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
   c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

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

其他流程控制语句:
break(跳出),  continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围