首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
24 篇文章
1
《Java从入门到失业》第一章:计算机基础知识(1.1):二进制和十六进制
2
《Java从入门到失业》第一章:计算机基础知识(1.2):计算机组成及基本原理
3
《Java从入门到失业》第一章:计算机基础知识(1.3):程序语言简介
4
《Java从入门到失业》第二章:Java环境(2.1):Java SE安装
5
《Java从入门到失业》第二章:Java环境(2.2):JDK、JRE、JVM
6
《Java从入门到失业》第二章:Java环境(2.3):Java命令行工具
7
《Java从入门到失业》第二章:Java环境(2.4):IDE集成环境
8
《Java从入门到失业》第三章:基础语法及基本程序结构(3.1):一个简单的例子
9
《Java从入门到失业》第三章:基础语法及基本程序结构(3.2-3.5):标识符、关键字、注释、变量及常量
10
《Java从入门到失业》第三章:基础语法及基本程序结构(3.6):基本数据类型及字符集编码(整型、浮点型、布尔型)
11
《Java从入门到失业》第三章:基础语法及基本程序结构(3.6):基本数据类型及字符集编码(字符编码和char型)
12
《Java从入门到失业》第三章:基础语法及基本程序结构(3.7):运算符(自增自减、关系运算、逻辑运算、条件运算、位运算、赋值运算、类型转换)
13
《Java从入门到失业》第三章:基础语法及基本程序结构(3.7):运算符(基本算数运算符、原码、反码、补码)
14
《Java从入门到失业》第三章:基础语法及基本程序结构(3.7):运算符(小数二进制、科学记数法、IEEE754标准)
15
《Java从入门到失业》第三章:基础语法及基本程序结构(3.8):流程控制(选择语句、if-else语句、switch语句)
16
《Java从入门到失业》第三章:基础语法及基本程序结构(3.8):流程控制(循环语句、while语句、for语句)
17
《Java从入门到失业》第三章:基础语法及基本程序结构(3.9):数组(数组基本使用、数组的循环、数组拷贝、数组排序、多维数组)
18
《Java从入门到失业》第四章:类和对象(4.1):初识类和对象
19
《Java从入门到失业》第四章:类和对象(4.2):String类
20
《Java从入门到失业》第四章:类和对象(4.3):一个完整的例子带你深入类和对象
21
《Java从入门到失业》第四章:类和对象(4.4):方法参数及传递
22
《Java从入门到失业》第四章:类和对象(4.5):包
23
《Java从入门到失业》第四章:类和对象(4.6):类路径
24
《Java从入门到失业》第五章:继承与多态(5.1-5.7):继承

《Java从入门到失业》第三章:基础语法及基本程序结构(3.8):流程控制(选择语句、if-else语句、switch语句)

3.8流程控制

       到此为止,我们已经基本了解了Java的基础语法,会定义不同类型的变量,会命名,会给变量赋值和运算等。接下来,我们需要学会流程控制方面的知识。

3.8.1选择语句

3.8.1.1if-else语句

       你们一定都买过彩票吧,没买过的举手!很好,都买过。买完之后,是不是经常幻想中了500万之后干什么?我经常幻想中了500万后就买辆宝马X5。那么用程序来描述这个问题,就可以用if条件语句,像下面这样:

我们把现实需求转化为流程控制模型,然后用代码语句实现。幻想很美好,现实很残酷。买彩票的钱经常都是打水漂。但是我们就不买了吗?NO,我觉得下次我一定会中!那么就变成了下面这样:

买了几十期之后,我们发现偶尔还会见到回头钱,有时候中个5块,有时候中个10块,有时候还能运气爆棚一下,中个200块。像笔者中10块的时候,下一期就多买5注,中200的时候,就会去撸个串打个牙祭:

if条件语句非常简单,但是需要注意几点:

  • “条件”可以是简单的boolean变量或常量,也可以是复杂的表达式,但是最终结果必须是一个boolean值
  • 当代码块只有一条语句时,“{}”可以省略,但是不建议这么做
  • if-else条件语句是可以嵌套的,即上图中的代码块还可以继续使用if-else语句。

在编写程序的时候,需要注意代码缩进保证可读性。比如像上图代码可以改写成:

代码语言:javascript
复制
if (n >= 5000000) {  
    System.out.println("买一辆宝马X5");  
} else {  
    if (n >= 200) {  
        System.out.println("撸串");  
    } else if (n >= 10) {  
        System.out.println("多买5注");  
    }  
}  

3.8.1.2switch语句

       对于上面那个例子,条件是判断一个值是否等于某个值,并且选项很多,对于这种情况,还可以用另外一种选择语句来描述,就是switch语句。switch在处理多个选项时,比较方便。它的基本语法结构如下:

编码举例如下:

代码语言:javascript
复制
switch (n) {  
case 5000000:  
    System.out.println("买一辆宝马X5");  
    break;  
case 200:  
    System.out.println("撸串");  
    break;  
case 10:  
    System.out.println("多买5注");  
    break;  
default:  
    System.out.println("买一注");  
    break;  
}  

需要特别注意的是图中3段文字。总结成文字如下:

  1. switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
  2. switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
  3. case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
  4. 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
  5. 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
  6. switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

 至于switch和if-else的选择,笔者没有做太多的研究,据网上一些文章说,当选择项比较多的时候switch效率要高一些。不过笔者在实际运用中,很少使用switch。

下一篇
举报
领券