Java三元运算符与if...else...的比较
来源:互联网 发布:飞鱼网络电视tv 编辑:程序博客网 时间:2024/04/27 20:02
这种运算符比较罕见,因为它有三个运算对象。但它确实属于运算符的一种,因为它最终也会生成一个值。这与本章后一节要讲述的普通if-else语句是不同的。表达式采取下述形式:
布尔表达式 ? 值0:值1
若“布尔表达式”的结果为true,就计算“值0”,而且它的结果成为最终由运算符产生的值。但若“布尔表达式”的结果为false,计算的就是“值1”,而且它的结果成为最终由运算符产生的值。
当然,也可以换用普通的if-else语句(在后面介绍),但三元运算符更加简洁。尽管C引以为傲的就是它是一种简练的语言,而且三元运算符的引入多半就是为了体现这种高效率的编程,但假若您打算频繁用它,还是要先多作一些思量——它很容易就会产生可读性极差的代码。
可将条件运算符用于自己的“副作用”,或用于它生成的值。但通常都应将其用于值,因为那样做可将运算符与if-else明确区别开。下面便是一个例子:
static int ternary(int i) {
return i < 10 ? i * 100 : i * 10;
}
可以看出,假设用普通的if-else结构写上述代码,代码量会比上面多出许多。如下所示:
static int alternative(int i) {
if (i < 10)
return i * 100;
return i * 10;
}
但第二种形式更易理解,而且不要求更多的录入。所以在挑选三元运算符时,请务必权衡一下利弊。
布尔表达式 ? 值0:值1
若“布尔表达式”的结果为true,就计算“值0”,而且它的结果成为最终由运算符产生的值。但若“布尔表达式”的结果为false,计算的就是“值1”,而且它的结果成为最终由运算符产生的值。
当然,也可以换用普通的if-else语句(在后面介绍),但三元运算符更加简洁。尽管C引以为傲的就是它是一种简练的语言,而且三元运算符的引入多半就是为了体现这种高效率的编程,但假若您打算频繁用它,还是要先多作一些思量——它很容易就会产生可读性极差的代码。
可将条件运算符用于自己的“副作用”,或用于它生成的值。但通常都应将其用于值,因为那样做可将运算符与if-else明确区别开。下面便是一个例子:
static int ternary(int i) {
return i < 10 ? i * 100 : i * 10;
}
可以看出,假设用普通的if-else结构写上述代码,代码量会比上面多出许多。如下所示:
static int alternative(int i) {
if (i < 10)
return i * 100;
return i * 10;
}
但第二种形式更易理解,而且不要求更多的录入。所以在挑选三元运算符时,请务必权衡一下利弊。
- Java三元运算符与if...else...的比较
- 三元运算符与if...else...的比较
- 测试三元运算符与if else 的运算速度
- 黑马程序员-if else与三元运算符
- 三元运算符和if-else语句格式的关系
- 000030:创建等价于if...else的三元运算符
- If-else 语句 和 三元运算符
- 三元操作符与if-else的区别
- 三目运算 与 if(){}else{}的效率比较
- 三元运算和if ,else语句
- 三元操作符 if-else
- If-else与三目运算符的区别
- If-else与三目运算符的区别
- if else与三目运算符的区别
- If-else与三目运算符的区别
- 三元运算符与ifelse效率比较
- 不用if-else和比较运算符,得出两个数中较大的那个数
- C语言比较两个数的大小使用if-else语句和条件运算符
- hadoop学习笔记-2-安装
- android 开发环境配置(MyEclipse8.5 + ADT14.0 + android-sdk_r14-windows)
- POJ 1200 Crazy Search
- 软考复习——编译原理
- jquery实现无刷新验证码
- Java三元运算符与if...else...的比较
- EAS BOS 绑定QUERY的列表界面,代码添加合计脚
- vijos1011【动态规划】
- hdu 4451 Dressing
- java面试题汇总(二)
- S5PV210 多媒体预留内存空间 4 - textscream, GPU1
- 软考复习——软件工程
- C#类定义访问修饰符
- cocos2d-x调用ios的摄像头