第四节:Java 控制语句

目录

1. 条件控制语句

1.1 if语句

1.2 switch语句

2. 循环控制语句

2.1 while和do-while语句

2.2 for语句 

3 .跳转语句

4 .其他


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 的执行过程是先判断,再执行。

  1. 判断 while 后面的条件是否成立( true or false )

  2. 当条件成立时,执行循环内的代码,然后重复执行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 语句结构更加简洁易读,它的执行顺序:

  1. 执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次

  2. 进行循环条件的判断,如果条件为 true,则执行循环体内代码;如果为 false ,则直接退出循环

  3. 执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断

  4. 依次重新执行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,结束了循环,而永远也进不了第二个条件语句。

在跳转语句中,还有一个continuebreak很像,它的作用是跳过循环体中剩余的语句执行下一次循环。

比如我们要打印10以内的所有奇数:

 

4 .其他

在循环语句中,Java SE5 引入了一种新的更加简洁的for语法用于数组和容器,即foreach语法。我们将在后面的章节遇到。

goto起源于汇编语言的程序控制,尽管它仍是 Java 的一个保留字,但在语言中并没有使用它。

 

 

欢迎关注微信公众号:Java的学习之路

里面资料非常全,从java初级到高级都有,视频,电子书,面试宝典,简历模板,经典案例,源码分析程序员故事以及解决bug方法。。。。应有尽有,可以推荐大家一起学习下!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值