Java编程语言控制语句

Java编程语言控制语句

1、控制语句

  • 选择结构
    • if,if…else
    • switch
  • 循环结构
    • for
    • while
    • do…while()
  • 控制循环的语句
    • break
    • continue
      (这些都可以正常互相嵌套使用)

2、if语句的语法结构以及运行原理

(1)if语句是分支语句,if 这个单词翻译为如果,所以又叫做条件语句
(2)该语法的执行原理是:如果布尔表达式的结果是true,则执行大括号中的程序,否则大括号中代码不执行
(3)if语句的语法格式:(这里的一个大括号{} 叫做一个分支)
第一种写法:
if(布尔表达式){
java语句;
java语句;
}
第二种写法:
if(布尔表达式){
//分支1
java语句;
}else{
// 分支2
java语句;
}
注意:如果布尔表达式的结果是true,则执行分支1,分支2不执行。如果布尔表达式的结果是false,分支1不执行,执行分支2。以上的这个语句可以保证一定会有一个分支执行,else表示其它。
第三种写法:
if(布尔表达式1){
// 分支1
java语句;
}else if(布尔表达式2){
// 分支2
java语句;
}else if(布尔表达式3){
// 分支3
java语句;
}…
以上if语句的执行原理:先判断“布尔表达式1”,如果“布尔表达式1”为true,则执行分支1,然后if语句结束了。当“布尔表达式1”结果是false,那么会继续判断布尔表达式2的结果,如果布尔表达式2的结果是true,则执行分支2,然后整个if就结束了。从上往下依次判断,主要看第一个true发生在哪个分支上。第一个true对应的分支执行,只要一个分支执行,整个if结束。
注意:
(1)以上3种语法机制中,凡是带有else分支的,一定可以保证会有一个分支执行
(2)当分支当中“java语句;”只有1条,那么大括号{}可以省略,但为了可读性,最好不要省略。(有的程序员在编写代码的时候,可能会故意将大括号{}省略,能看懂就行)
(3)控制语句和控制语句之间是可以嵌套的,但是嵌套的时候大家最好一个语句一个语句进行分析,不要冗杂在一起分析

3、关于java中的switch语句

(1)switch语句也是分支语句,也可以叫做选择语句
(2)switch语句的执行原理:拿“值”与“值1”进行比较,如果相同,则执行该分支中的java语句,然后遇到"break;"语句,switch语句就结束了。如果“值”与“值1”不相等,会继续拿“值”与“值2”进行比较,如果相同,则执行该分支中的java语句,然后遇到break;语句,switch结束。所有的case都没有匹配成功,那么最后default分支会执行。
注意:如果分支执行了,但是分支最后没有“break;”,此时会发生case穿透现象。
case穿透现象就是假如case分支的语句块中最后没有“break”,则执行完当前匹配成功的这个case语句块后,不跟下一个case分支的值做比较,直接执行下一个case分支的语句,直到遇到“break”或switch语句结束,这就是case穿透现象
(3)switch语句的语法格式
switch(值){
case 值1:
java语句;
java语句;
break;
case 值2:
java语句;
java语句;
break;
case 值3:
java语句;
java语句;…
break;
default:
java语句;
}
注意:
(1)以上是一个完整的switch语句,其中break语句不是必须的,default分支也不是必须的。
(2)case可以合并
(3)switch语句支持的值有哪些?支持int类型以及String类型。但一定要注意JDK的版本,JDK8之前不支持String类型,只支持int。在JDK8之后,switch语句开始支持字符串String类型。switch语句本质上是只支持int和String,但是byte,short,char也可以使用在switch语句当中,因为byte short char可以进行自动类型转换。switch语句中“值”与“值1”、“值2”比较的时候会使用“==”进行比较。

4、for循环的语法机制以及运行原理

(1)语法机制:
for(初始化表达式; 条件表达式; 更新表达式){
循环体;
// 循环体由java语句构成
}
注意:
(1)初始化表达式最先执行,并且在整个循环中只执行一次。
(2)条件表达式结果必须是一个布尔类型,也就是:true或false
(3)执行顺序:先执行初始化表达式,并且初始化表达式只执行1次。然后判断条件表达式的结果,如果条件表达式结果为true,则执行循环体。循环体结束之后,执行更新表达式。更新完之后,再判断条件表达式的结果,如果还是true,继续执行循环体。直到更新表达式执行结束之后,再次判断条件时,条件为false,for循环终止。
(3)更新表达式的作用是:控制循环的次数,换句话说,更新表达式会更新某个变量的值,这样条件表达式的结果才有可能从true变成false,从而
终止for循环的执行,如果没有更新表达式,很有可能会导致死循环。
(4)初始化表达式、条件表达式、更新表达式 其实都不是必须的

5、while循环的语法机制以及执行原理

(1)语法机制:
while(布尔表达式){
循环体;
}
(2)执行原理:判断布尔表达式的结果,如果为true就执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果还是true,继续执行循环体,直到布尔表达式结果为false,while循环结束。
(3)while循环有没有可能循环次数为0次?可能。while循环的循环次数是0~n次。

6、 do…while循环语句的语法机制及执行原理

(1)语法机制:
do {
循环体;
}while(布尔表达式);
(注意:do…while循环最后的时候别漏掉“分号”)
(2)执行原理:先执行循环体当中的代码,执行一次循环体之后,判断布尔表达式的结果,如果为true,则继续执行循环体,如果为false循环结束。对于do…while循环来说,循环体至少执行1次。循环体的执行次数是:1n次。对于while循环来说,循环体执行次数是:0n次。

7、 break语句:

(1)break语句比较特殊,特殊在:break语句是一个单词成为一个完整的java语句。另外:continue也是这样,他俩都是一个单词成为一条语句。
(2)break 翻译为折断、弄断。
(3)break语句可以用在哪里呢?用在两个地方,其它位置不行。
第一个位置:switch语句当中,用来终止switch语句的执行。用在switch语句当中,防止case穿透现象,用来终止switch。
第二个位置:break语句用在循环语句当中,用来终止循环的执行。用在for当中,用在while当中,用在do…while…当中。
(3)以下程序主要是以for循环为例学习break语句。首先break语句的执行并不会让整个方法结束,break语句主要是用来终止离它最近的那个循环语句。其次,怎么用break语句终止指定的循环呢?你需要给循环起一个名字
例如:
a: for(){
b:for(){
break a;
}
}

8、continue语句:

(1)continue翻译为:继续
(2)continue语句和break语句要对比着学习
(3)continue语句的作用是:终止当前"本次"循环,直接进入下一次循环继续执行。
(4)continue语句后面可以指定循环吗?可以
例如:
a:for(){
b:for(){
if(){
continue a;
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值