博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
?:表达式的类型
阅读量:5790 次
发布时间:2019-06-18

本文共 678 字,大约阅读时间需要 2 分钟。

hot3.png

public class Main8 {	public static void main(String[] args) {		char x = 'X';		int i = 0;		System.out.println(true ? x : 0);		System.out.println(false ? i : x);		//问题的关键是?:操作符的第二三个操作数类型不一致,一个是char,一个是int		//?:表达式结果类型取决于以下三点规则:		//1. 如果第二三个操作数类型相同,它就是表达式的类型		//2. 如果一个操作数是T(byte, short, char),另一个是int类型的##常量##表达式,##它的值可以用T表示##,则表达式类型就是T		//3. 否则,对两个操作数进行二进制提升,表达式类型为提升之后的类型				//符合第二条,表达式类型为char		System.out.println(true ? x : 0);		//-1不能用char表示,因此符合第三条,表达式类型为int		System.out.println(true ? x : -1);		//i是变量,因此采用第三条		System.out.println(false ? i : x);		//j是final常量,因此采用第二条规则		final int j = 0;		System.out.println(false ? j : x);	}}

转载于:https://my.oschina.net/magicly007/blog/91833

你可能感兴趣的文章
hive学习2(Navicat连接hive)
查看>>
getResourceAsStream的3种路径配置
查看>>
switch语句小练习
查看>>
组合逻辑电路
查看>>
POP-一个点击带有放大还原的动画效果
查看>>
UE4材质是什么样的机制
查看>>
使用QTP录制自带Flight小实例
查看>>
JProfiler学习笔记
查看>>
Loadrunner脚本编程(4)-数据类型操作和字符串操作
查看>>
SQL SERVER 2008取出XML数据
查看>>
STL 算法
查看>>
分享:Backbone.js 样例站点与入门指南
查看>>
图的基本算法
查看>>
《架构之美》摘录三
查看>>
HTML基础(一)
查看>>
谈谈冒烟测试
查看>>
boost.circular_buffer简介
查看>>
Database Appliance并非Mini版的Exadata-还原真实的Oracle Unbreakable Database Appliance
查看>>
CORTEX-M3 异常/中断控制(使能和除能)
查看>>
网页图片缩放(js)
查看>>