⑴ java三目运算符
额、有这么麻烦么?
直接抄
switch(Integer.valueOf(ptype12==null?"-1":ptype12)){
case -1;return ptype;break;
.. .. . .. . .
}
如果非要用三目运算符
得这么写
return "9".equals(ptype12)?ptype12:(其它表达式);
三目运算符是这个样子滴
布尔值?F1:F2
如果布尔值为真,执行F1,否则F2
还涉及到运算符优先级的问题
如果后面太长最好括起来
另外三目运算符不能单独使用,不能完全代替if else
可能会这么出现
value = boolean?v1:v2;
StringBuffer.append(boolean?v1:v2);
return boolean?v1:v2;
反正就是不能直接拿出来用了
以上回答你满意么?
⑵ java 三目运算符
首先,对于a?b:c的运算符,当a为true时,运算结果为b,当a为false时,运算结果为c;
然后,上述题回目的解释:
运算时,必须答是处于同一种数据类型进行运算的,所以,true?x:1111111110中,由于x是char型,1111111110是int型,而int型大于char型,所以运算时x将被自动转换成int型数据进行运算,'b'转换成int后的值等于98,所以,输出98;
同理,false?i:x中,i为int型、x为char型,所以也一律转换成int型进行运算,即x被转换成了98,由于?左侧的值为false,所以输出x的值,即98.
还是不明白的话可以问我^_^
⑶ java 三目运算。。。
z=a>b?a:(a>b?a:b);
第一步:a>b tue返回a false返回(a>b?a:b)
得(a>b?a:b)
第二部同样返回一个b
所以z=2
⑷ java中三目运算符
先学java的叫它,三元运算符;先学c的叫它三目运算符
即( ?: )
如名字表示的三元运版算符需要三个操作数。权
语法为:条件表达式?表达式1:表达式2。
说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。
其逻辑为:“如果为真执行第一个,否则执行第二个。”
⑸ JAVA 三目运算符
额、有这么麻烦么?
直接
switch(Integer.valueOf(ptype12==null?"-1":ptype12)){
case -1;return ptype;break;
.. .. . .. . .
}
如果非要用三目运算符
得这么写
return "9".equals(ptype12)?ptype12:(其它表达式);
三目运算符是这个样子版滴
布尔权值?F1:F2
如果布尔值为真,执行F1,否则F2
还涉及到运算符优先级的问题
如果后面太长最好括起来
另外三目运算符不能单独使用,不能完全代替if else
可能会这么出现
value = boolean?v1:v2;
StringBuffer.append(boolean?v1:v2);
return boolean?v1:v2;
反正就是不能直接拿出来用了
⑹ JAVA三目运算符问题
1、三目运复算符 (表达制式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.
3、根据三目运算符的从右到左的结合性,我是这样划分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。
以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的compare()方法不能声明为静态。
⑺ java中三目运算符
System.out.println(true ? x : 0);
System.out.println(false ? 10 : x);
这2个的来写法没有区源别 是一样的结果
System.out.println(true ? x : 0);
System.out.println(true ? 10 : x);
就不是一样的了
你没有进行比较与别的运算
是真的 就是你要的结果
⑻ java三目运算符
1、三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,版如果其值为true,则整个权表达式的值为表达式2的值,否则为表达式3的值
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.
3、根据三目运算符的从右到左的结合性,我是这样划分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。
以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的compare()方法不能声明为静态。
⑼ java三目运算符
三目运算符a
>
b
?
a
:
b运算规则是:如果?前面的等式为true,即a>b,则执行返回a,否则返回b;
先判断变量year是否大于对象内a的year值,如容果大于就返回1,小于就继续判断year是否小于对象a的year值,如果小于就返回-1;此后就是year==a.year的情况,依次判断月份和日
⑽ 关于java 三目运算符
什么都可以来.?前面是自判断条件,后面:两边是输出值.
public class Three{
public static void main(String[] args){
System.out.println(1==1?'y':'n');
}
}
这个简单地例子输出是y