第四节:Java 控制语句
目录
1. 条件控制语句
在生活中我们有很多时候都会面临选择,在做选择之前我们会进行一系列的判断。比如对于今天是否要出门这样的选择,我们会对天气做一个判断。如果天气好,我们就出门;如果天气不好,我们就不出门。这种需要先判断条件,条件满足后才执行的情况我们就可以用条件控制语句来实现。
1.1 if语句
if 语句便是一种判断语句。
if(一个boolean表达式或一个boolean值){
条件执行时的代码;
}
if...else 语句当条件成立时,则执行 if 部分的代码块; 条件不成立时,则进入 else 部分。例如,如果一个月天数大于30天,则为大月,否则为小月。
语法:
if(if语句的条件的表达式){
//如果条件的表达式为TRUE则代码执行跳过
//else代码段,反之亦然。
}else{
}
多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断,以此向下;当前面的条件均不成立时,最终执行 else 块内的代码。
注意:如果 if(或 else if,或 else)条件成立时的执行语句只有一条,是可以省略大括号的!但如果执行语句有多条,那么大括号就是不可或缺的。
如:
if 语句是可以在内层进行嵌套的。嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。
语法:
接下来我们来做一个简单的练习吧:小明考了78分,60分以上及格,80分以上为良好,90分以上为优秀,60分以下要重考,编写一段程序,输出小明的情况吧。
参考代码如下:
注:所有的条件语句都是利用条件表达式的真或假来决定执行路径,Java里不允许将一个数字作为布尔值使用,虽然这在C和C++是允许的,如果要在布尔测试里使用一个非布尔值,需要先用一个条件表达式将其转换成布尔值,其他控制语句同理。
1.2 switch语句
上面木木给大家详细地介绍了 if 语句,接下来我们还要学习另一种条件语句:switch 语句。当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。比如:摇号摇到1的得一等奖,摇到2的得二等奖,摇到3的等三等奖,摇到其他的没有奖。
语法:
当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。
例如:
2. 循环控制语句
在我们的日常生活中,为了完成某些事情,我们需要重复地执行某些动作,比如我们走路的时候,要左右脚不停的重复交替。在计算机中,对一些重复的事情,是不是需要我们不停的输入呢?其实有一个更好的办法,循环语句。
2.1 while和do-while语句
while
语法:
while(while语句条件的表达式){
代码块;
}
while 的执行过程是先判断,再执行。
-
判断 while 后面的条件是否成立( true or false )
-
当条件成立时,执行循环内的代码,然后重复执行
1.
、2.
, 直到循环条件不成立为止
do-while
语法:
do{
代码块;
}while(do-while条件表达式);
do-while 的执行过程是先执行,再判断(所以循环内的代码至少会执行一次)
接下来我们就来看一下吧:分别用 while 和 do-while 两种方法,编写一个程序,实现 1-1000 中所有偶数的和,并输出。验证一下两种方法输出的结果是一致吗?
代码如下:
2.2 for语句
最后我们来学习另一个循环语句for 语句
for
语法:
for(1.初始化语句;2.条件语句;4.条件变化语句){
//3.for语句循环体
}
for 相比 while 和 do-while 语句结构更加简洁易读,它的执行顺序:
-
执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次
-
进行循环条件的判断,如果条件为 true,则执行循环体内代码;如果为 false ,则直接退出循环
-
执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断
-
依次重新执行
2.
、3.
、4.
,直到退出循环
例如,计算100以内不能被3整除的数之和:
在讲条件控制语句的时候,讲解了 if 语句的嵌套,在循环语句里,三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈。
比如我想打印
*
**
***
****
这样的图形
例如:将这样的图形打印在控制台上
1
12
123
1234
12345
参考代码如下:
注意:Java语法规定(for语句,while语句,do-while语句,if语句和if-else语句)在这些中创建的变量在外部(可以理解为,在这些语句的大括号外)是无法使用的。
例如:
3 .跳转语句
在上面讲解 switch 语句的时候,看到了break
这个关键字,它有什么用呢?我们将上面 switch 练习题里的代码中break
去掉,运行一下,发现了什么问题吗?break
的意思为跳出,经常用在条件和循环语句中,用来跳出循环语句的。
例如:
上面的代码中,本来 for 语句会使得循环体内的代码循环10次,但当i=3
时,进入了第一个条件语句,遇到了break
,结束了循环,而永远也进不了第二个条件语句。
在跳转语句中,还有一个continue
跟break
很像,它的作用是跳过循环体中剩余的语句执行下一次循环。
比如我们要打印10以内的所有奇数:
4 .其他
在循环语句中,Java SE5 引入了一种新的更加简洁的for语法用于数组和容器,即foreach语法
。我们将在后面的章节遇到。
goto
起源于汇编语言的程序控制,尽管它仍是 Java 的一个保留字,但在语言中并没有使用它。
欢迎关注微信公众号:Java的学习之路
里面资料非常全,从java初级到高级都有,视频,电子书,面试宝典,简历模板,经典案例,源码分析程序员故事以及解决bug方法。。。。应有尽有,可以推荐大家一起学习下!!