">","<","<=",">="的优先级 大于 "==","!="的优先级。
double a = 1.0;
double b = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a);
System.out.println(b);
System.out.println(a==b);
System.out.println(Math.abs(a-b));
System.out.println(Math.abs(a-b)<0.00001);
Console:
1.0
0.9999999999999999
false
1.1102230246251565E-16
true
注释:float和double有误差,"Math.abs()"是绝对值的意思
IF语句
根据比较的结果,决定做、还是不做某些动作,就要用到if语句。
一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果为true,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。
有的时候我们希望在条件成立的时候做一件事情,而在条件不成立的时候做另外一件事情。这可以在if语句后面跟上一个else子句,形成一个if-else语句。
断点(一行代码最前面的数字双击即可设置为断点),Debug(像爬虫一样的)
流程图
注释:else总是和最近的那个if匹配,习惯if后跟大括号
注释:对齐的,级联的很多层的if,有时不级联着写代码,代码会很难看。就可以使用上面的写法。
注释:左边比右边更方便修改,这种写法比右边更好,更容易修改。单一出口指这个程序只有一个出口(输出),就不必要用右边多出口的写法。
switch-case
注释:如果有上图 级联 的写法,也可以改造成switch-case语句。
1.控制表达式只能是整数型的结果;2.常量可以是常数,也可以是常数计算的表达式;3.根据表达式的结果,寻找匹配的case,并执行case后面的语句,一直到break为止;4.如果所有的case都不匹配,那么就执行default后面的语句;如果没有default,那么就什么都不做。
注释:default:如果case里都没有满足条件的,那么便执行default里的内容。
break:如果switch case语句一直没遇到break,程序会一直执行下去。
注释:“=”和“==”,“=”是赋值,“==”是比较。