Java语言程序设计与数据结构(基础篇)第3章 选择笔记
文章目录
一、引言
程序可以基于条件决定执行哪些语句
选择语句要用到的条件采用布尔表达式计算。布尔表达式是计算结果为布尔值true或false的表达式
二、boolean数据类型
boolean数据类型声明一个具有true或者false的变量
产生随机数的三种方法
1.用System.cuttentTimeMillis()进行求余
2.调用Math.Random方法返回一个双精度d,且0.0≤d<1.0
3.调用
三、if语句
if语句是一个构造,允许程序确定执行的可选路径
Java中有几种类型的选择语句
1.单分支if语句
2.双分支if-else语句
3.嵌套if语句
4.多分支if-else语句
5.switch语句和条件操作符
四、双分支if-else语句
通常,如果花括号中只有一条语句,则可以省略花括号。
五、嵌套的if语句和多分支if-else语句
if语句可以在另一个if语句中,形成嵌套的if语句
嵌套的if语句可用于实现多重选择
多分支的if-else语句,可以避免深度缩进,并使程序易于阅读
六、常见错误和陷阱
1.常见错误1:忘记必要的括号
如果块中只有一条语句,就可以省略花括号。如果if语句中有多条语句则不能省略花括号。因为省略花括号的话,无论if是否为true第二条及其之后的语句都会被执行。
2.常见错误2:错误地在if行出现分号
3.常见错误3:对布尔值的冗余测试
在if语句的判断条件中,对布尔值的测试不用冗余的使用比较操作符。
4.常见错误4:悬空else出现的歧义
如果没有花括号,则else总是匹配离他最近的if字句。如果有花括号,则根据花括号进行匹配。
5.常见错误5:两个浮点数值的相等测试
错误原因:浮点数具有有限的计算精度,涉及浮点数的计算都会引入舍入错误,因此直接对两个浮点数进行比较是不准确的。
解决错误的方法:对两个浮点数进行比较的时候,不直接对两者进行比较,而是引入一个误差,对于float的误差是1E-7,如果两个float的绝对值只差在1E-7之内,则认为这两个float型的数据相等。