三元操作符类型的转换规则:

简介: 三元操作符类型的转换规则:

1.若两个操作数不可转换,则不做转换,返回值为Object类型

2.若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。

3.若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则T转换为S类型。

4.若两个操作数都是直接量数字,则返回值类型为范围较大者

三目:一边为byte另一边为char,结果为int
其它情况结果为两边中范围大的。适用包装类型

byte b = 1;
char c = 1;
short s = 1;
int i = 1;
i = true ? b : c; // int
b = true ? b : b; // byte
s = true ? b : s; // short
AI 代码解读

表达式:两边为byte,short,char,结果为int型
其它情况结果为两边中范围大的。适用包装类型

byte b = 1;
char c = 1;
short s = 1;
i = b + c; // int
i = b + b; // int
i = b + s; // int
AI 代码解读

当 a 为基本数据类型时,a += b,相当于 a = (a) (a + b)
当 a 为包装类型时, a += b 就是 a = a + b

byte b = 1;
char c = 1;
short s = 1;
b += s; // 没问题
c += i; // 没问题
AI 代码解读

常量任君搞,long以上不能越

byte b = 1;
char c = 1;
short s = 1;
b = (char) 1 + (short) 1 + (int) 1; // 没问题
// i = (long) 1 // 错误
AI 代码解读
目录
打赏
0
0
0
0
4
分享
相关文章
超越常规,轻松掌握灵感——FAST GPT:定制化Google插件震撼登场!
超越常规,轻松掌握灵感——FAST GPT:定制化Google插件震撼登场!
IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
488 0
若依修改-----其他功能,包括参数设置,通知公告,日志管理,验证码控制开关在参数设置里,若依的注册页面是隐藏的,在src的login.vue的97行注册开发,修改成true,通知公告,促进组织内部信
若依修改-----其他功能,包括参数设置,通知公告,日志管理,验证码控制开关在参数设置里,若依的注册页面是隐藏的,在src的login.vue的97行注册开发,修改成true,通知公告,促进组织内部信
css【详解】—— BFC 和 IFC
css【详解】—— BFC 和 IFC
110 1
css溢出隐藏省略号不生效如何解决?
css溢出隐藏省略号不生效如何解决?
877 0
List 集合去除重复元素的5种方法
List 集合去除重复元素的5种方法
1148 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问