廖雪峰Java1-3流程控制-3条件判断
1.if条件判断的格式
if (条件) { 代码块 }
if (条件) { 代码块1 } else { 代码块2 }
if (条件1) { 代码块1 } else if { 代码块2 } else { 代码块3 }
2.整型判断
条件判断注意的事项:
- 注意判断顺序
- 注意边界条件
int n = 100;
if (n >= 90){
System.out.println("优秀");
}else if(n >= 60){
System.out.println("及格");
}else{
System.out.println("挂科");
}
3.浮点数判断
- 浮点数 == 判断不靠谱 利用差值小于某个临界值判断
double x = 1 - 9.0 / 10;
if (x == 0.1){
System.out.println("x is 0.1");
}else{
System.out.println("x is not 0.1");
}

```#java
double x = 1 - 9.0 / 10;
//修改上面的代码,改为范围比较
if (Math.abs(x - 0.1)
# 4.引用类型判断
* 引用类型 == 判断是否指向同一对象
* equals()判断内容是否相等
* 如果变量为null,调用equals()会报错。利用短路运算符&&可以避免这个问题
```#java
String s1 = "hello";
String s2 = "HELLO".toLowerCase();
if (s1 == s2){
System.out.println("s1 == s2");
}
if (s1.equals(s2)){
System.out.println("s1.equals(s2)");
}
String s3 = null;
if (s3 != null && s3.equals("hello")){
System.out.println("yes");
}
```

5.总结
- if ...else可以做条件判断,else是可选的
- 只有一个执行语句可以省略{},但不推荐省略{}
- 多条件串联要注意判断顺序
- 要注意边界条件
- 要注意浮点数相等判断
- 引用类型判断相等用equals(),注意避免NullPointerException
廖雪峰Java1-3流程控制-3条件判断的更多相关文章
- Python流程控制-2 条件判断
条件判断 条件判断是通过一条或多条判断语句的执行结果(True或者False)来决定执行的代码块. 在Python语法中,使用if.elif和else三个关键字来进行条件判断. if语句的一般形式如下 ...
- ansible-playbook流程控制-when条件判断
1. ansible-playbook添加判断 when相当于shell脚本里的if 判断,when语句就是用来实现这个功能的,它是一个jinja2的语法,但是不需要双大括号,用法很简单 1 ...
- 基础运算符补充,流程控制之if判断/while循环
常量 常量即指不变的量.在python中没有一个专门 的语法代表常量,程序员约定俗成地用变量名全部被大写代表常量. AGE_OF_OLDBOY = 56 基础运算符补充 1.算术运算 加减乘除+ - ...
- 格式化输出的三种方式,运算符及流程控制之if判断
''' 格式化输出的三种方式,运算符及流程控制之if判断 ''' # 格式化输出的三种方式 # 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄 ...
- [基本运算符、流程控制之if判断、与用户交互、深浅拷贝]
[基本运算符.流程控制之if判断.与用户交互] 基本运算符 1.算数运算符 python支持的算术运算符与数学上计算的符号使用是一致的 salary = 3.3 res = salary * 12 p ...
- python 流程控制(条件语句)
1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...
- java基础 流程控制和条件语句,循环语句
顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用bo ...
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...
- [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
原文链接:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语句 ...
随机推荐
- C++学习(十八)(C语言部分)之 指针2
指针1.指针的概述 指针是什么? 指针是一个地址 是一个常量 int 整型 int a a是变量 指针用来做什么? 方便使用数组或者字符串 像汇编语言一样处理内存地址2.指针变量 什么是指针变量? 是 ...
- MySQL Transaction--TPS计算规则
TPS计算规则 在MYSQL 中,TPS(Transaction Per Second)的计算方法为 (com_commit+com_rollback)/time,但com_commit和com_ro ...
- gravitee.io gateway 组件说明
gateway 在gravitee.io是一个比较核心的组件,我们可以应用规则到请求链中(包含request,response,类似 的skipper的路由功能(可以通过pipeline的模型,在re ...
- Power consumption comparison
Here is my draft evaluation when old MCU replacement for power consumption, the comparsion betwween ...
- 2D Platformer 学习
using UnityEngine; using System.Collections; /// <summary> /// 玩家控制 /// </summary> publi ...
- Oracle sqlnet.ora配置
Oracle sqlnet.ora配置 sqlnet.ora的作用(官网指出的) www.2cto.com 1.限制客户端访问(如指定客户端域为不允许访问) 2.指定命名方法(local nami ...
- Update 20180317
Date todo 20180317 Opencv a) Install opencv+python+ide (http://opencv-python-tutroals.readth ...
- java 中 heap(堆)和stack(栈)的区别
总结在Java里面Heap和Stack分别存储数据的不同. 区别项 Heap(堆) Stack(栈) JVM中的功能 内存数据区 内存指令区 存储数据 对象实例(注1) 基本数据类型, 指令代码,常量 ...
- 关于Adaboost算法
我花了将近一周的时间,才算搞懂了adaboost的原理.这根骨头终究还是被我啃下来了. Adaboost是boosting系的解决方案,类似的是bagging系,bagging系是另外一个话题,还没有 ...
- Eclipse配置问题
1.eclipse中通过search打开第二个文件时第一个文件自动关闭问题: 解决方案: window-preferences-general-search找到第一行的一个选项 reuse edit ...