Java三元运算符必须要有返回值,且不能独立成句(对比Python三元运算符)

关于Java中的三元运算符的详解,请参照这篇文章,写得很好:java三元运算符详解

这里我只补充总结一下:
对于Java三元运算符:

	(条件表达式) ? 表达式1 : 表达式2

三元运算符要求必须有返回值,即表达式1和表达式2要求必须能return,所以不能在表达式1或表达式2中书写输出语句等。基于此,三元运算符不能独立成句,它就如同一个变量,可以出现在方法参数中、用在赋值语句=的右侧等地方,总之不能独立成句。**

以下给出几个示例以供参考:

        int a = (1 < 2) ? 1 : 2;//合法

        int x = 2, y = 5;
//        (x>y) ? (x-=y): (x+=y);//不合法
        int z = x >= y ? (x += y) : (y -= x);//合法
        System.out.println(z);//3

//        2 < 3 ? (x = 4) : (x = 5);//不合法
        int p = 2 < 3 ? (x = 4) : (x = 5);//合法
        System.out.println(p);//4
        System.out.println(2 < 3 ? (x = 4) : (x = 5));//合法//4

与此同时地,Python语言中则不要求三元运算符必须有返回值,且三元运算符可以独立成句,例如以下3句都是合法的:

print("win") if 100 < 200 else print("lose")  # 合法 # win
a = 100 if 100 < 200 else 200  # 合法
print(a)  # 100
100 if 100 < 200 else 200  # 合法(虽然这样写没有意义)
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,运算符是用于执行各种操作的特殊符号。下面是Python中常用的运算符: 1. 算术运算符: - 加法运算符(+):用于将两个值相加。 - 减法运算符(-):用于将一个值减去另一个值。 - 乘法运算符(*):用于将两个值相乘。 - 除法运算符(/):用于将一个值除以另一个值。 - 取模运算符(%):返回两个值相除的余数。 - 幂运算符(**):返回一个值的指数幂。 2. 比较运算符: - 等于运算符(==):检查两个值是否相等。 - 不等于运算符(!=):检查两个值是否不相等。 - 大于运算符(>):检查一个值是否大于另一个值。 - 小于运算符(<):检查一个值是否小于另一个值。 - 大于等于运算符(>=):检查一个值是否大于或等于另一个值。 - 小于等于运算符(<=):检查一个值是否小于或等于另一个值。 3. 逻辑运算符: - 与运算符(and):如果两个条件都为真,则返回真。 - 或运算符(or):如果至少一个条件为真,则返回真。 - 非运算符(not):用于取反一个条件的值。 4. 赋值运算符: - 简单赋值运算符(=):将右边的值赋给左边的变量。 - 加法赋值运算符(+=):将右边的值加到左边的变量上,并将结果赋给左边的变量。 - 减法赋值运算符(-=):将右边的值从左边的变量中减去,并将结果赋给左边的变量。 - 乘法赋值运算符(*=):将右边的值乘以左边的变量,并将结果赋给左边的变量。 - 除法赋值运算符(/=):将左边的变量除以右边的值,并将结果赋给左边的变量。 - 取模赋值运算符(%=):将左边的变量除以右边的值取余,并将结果赋给左边的变量。 5. 位运算符: - 按位与运算符(&):对两个操作数进行按位与操作。 - 按位或运算符(|):对两个操作数进行按位或操作。 - 按位异或运算符(^):对两个操作数进行按位异或操作。 - 按位取反运算符(~):对操作数进行按位取反操作。 - 左移运算符(<<):将左操作数的值向左移动指定的位数。 - 右移运算符(>>):将左操作数的值向右移动指定的位数。 6. 成员运算符: - in运算符:如果指定的值在序列中存在,则返回True。 - not in运算符:如果指定的值在序列中不存在,则返回True。 7. 身份运算符: - is运算符:如果两个变量引用同一个对象,则返回True。 - is not运算符:如果两个变量引用不同的对象,则返回True。 8. 其他运算符: - 三元条件运算符(条件 ? 值1 : 值2):根据条件选择返回值1或值2。 - 索引运算符([]):用于获取序列中的元素。 - 属性访问运算符(.):用于访问对象的属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值