三元运算符:
寂寞土豆,三元运算符需要三个操作数。
语法是条件式吗? 公式1 :公式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用式1,为false时调用式2。
其逻辑是“如果为了真而执行第一个,否则执行第二个”。
例如,java基本类型boolean的包装类boolean的. valueof(Booleanb )方法的源代码定义:
publicstaticbooleanvolueof (booleanb ) {
ruturn b? Boolean.True:Boolean.False;
}
分析:方法主体中的表达式使用与上述说明相对应的三元运算符。 现在,我们看到:
条件式: b
表达式1: Boolean.True
表达式2: Boolean.False
方法中整个表达式的含义:返回变量b的引用。 此引用指向布尔型实例。 获取此引用必须通过三元运算符进行逻辑判断。 判断过程如下。
如果b的值为true,则返回Boolean.True
如果b的值为false,则返回Boolean.False
ps :其中True是布尔类的属性,但是这个属性本身的类型是类类型,请看源代码——
publicstaticfinalbooleantrue=new boolean (true;
对应于源代码中的注释:
//*
* thebooleanobjectcorrespondingtotheprimitive
* value true.(译注: xlmdxj对象对应于原始值true ) ) )。
*/
总结:“三元运算符”中的“? "前方的条件式(在java中多被称为关系式) )准确地说是xlmdxj式,如果计算结果是xlmdxj量,则形式各种各样
补充以下表达式数据:
条件表达式:条件表达式由条件运算符组成,常见的条件表达式构成赋值语句。 条件运算符的优先级高于赋值、逗号运算符,低于其他运算符。
战术:前后假期
性质:右结合性
多个条件式像这样连接时: x=? 是:吗?执行顺序是从右到左按顺序判断求出最后x的所谓右结合性。
例如,在a=1、b=2、c=3、d=4情况下,条件式a