boolean b = true?false:true==true?true:false;
System.out.println(b);
各位Java大神,输出结果是什么?为什么?求详细解释!!!
红色框框 部分是 解释 三目运算 嵌套
下面是 代码
public static void showThreeAlgorithm(){ //三目运算符
/*三目运算相当于
if(i>j){
100;
} else{
200;
}*/
int i = 46;
int j = 97;
int z = i>j?i:j;
int y = i<j?i:j;
System.out.println("i>j?i:j的 值 : "+z);
System.out.println("i<j?i:j的 值 : "+y);
//用三元运算求出判断两个值是否相等,不相等 输出较大的值
int s = i==j?0:i>j?i:j;
// i等于j 则s = 0
// 否则判断 i 是否大于 j 大于 则 s = i 小于 则 s = j
System.out.println("输出S的值:\t"+s);
}
为什么不能从第二个true开始到最后看做是一个三目,返回结果为false,再和第一个三目比较,不是说三目嵌套是从右往左执行吗?
追答-_-|| 双等号是双目运算符。。。你这也不算嵌套啊,只能算并用。两边的三目运算先算哪边无所谓的,我只是习惯性的从左往右算
追问如果等号后面和前面一样,按你的意思应该输出true,可是运行输出false
追答0 0不好意思,之前没看优先级,刚刚查了一下运算符优先级,==的优先级是比?:的优先级高的,所以这也是嵌套。相当于是true ? false : true ? true : false;-_-|| 结果还是false
追问谢谢 我现在完全明白了
本回答被提问者采纳java三目运算符嵌套怎么用
public static void showThreeAlgorithm(){ \/\/三目运算符 \/*三目运算相当于 if(i>j){ 100;} else{ 200;}*\/ int i = 46;int j = 97;int z = i>j?i:j;int y = i<j?i:j;System.out.println("i>j?i:j的 值 : "+z);System.out.println("i<j?i:j的 值 : "+y...
java三目运算符
java int i = (5 > 3) ? (5 + 3) : (5 - 3);在这个例子中,由于5确实大于3,所以i被赋值为8,即5 + 3的结果。三目运算符的计算顺序遵循从右到左的结合性,这意味着在复杂的嵌套结构中,我们需要从最右边的子表达式开始计算。对于你提供的复杂示例,从右到左的顺序为:`year > a....
java三目运算符
看到复杂嵌套的三目运算不要慌,慢慢的一层层剖析你会发现其实也就那样。根据三目定义 exp?st1:st2,exp的结果是个boolean类型的数据,如果是true则执行st1,如果为false则执行st2,所以 三目等价于if(exp){st1}else{st2},由此可见上述你给的可以更改成如下代码:if(year>a.year){ return 1; ...
Java三目运算符
String ptype = ptype12 == null ? "-定府控身料1" : ptype12;switch (Integer.valueOf(ptype)) { case -1:return ptype;\/\/ ... 其他case语句 ...} 如果必须使用三目运算符,可以将其写为:java return "9".equals(ptype12) ? ptype12 : (其他表达式);需要注意的是,三目运算...
三目运算符的用法
三目运算符的用法如下:1.当expression1的值为真(true)时,表达式的值为expression2的值;2.当expression1的值为假(false)时,表达式的值为expression3的值。拓展知识 条件运算符,是一个程序开发的术语,优先级高于赋值、逗号运算符,低于其他运算符。适用于程序开发。结合性 条件运算符具有右结合性...
java怎么用三目运算符,输入任意比较三个数大小,输出中间数?
1、打开Eclipse,创建一个Java工程,在此工程中新建一个Java类;2、在新建的Java类中利用Scanner类获取键盘输入的三个数,并且分别赋值给变量a,b,c;3、添加一个比较两个数的方法,将随机两个数进行比较,再让返回的最大值与最后一个值进行比较,即可得出最大值。具体实现代码如下:java">import ...
java语言if语句三种形式分别在什么时候使用
=null){即当con对象不为空时,需要执行 con.close(); con.close(); } 第二种:if(){}else{} int i=9; if(i<9){ System.out.println("i小于9"); }else{ System.out.println("i不小于9"); } 这种情况可以使用三目运算符: String s=i<9 ? "i小于9" : "i不...
java中我想输出的时候用三目运算符怎么用
a>b?"a大":"b大"
JAVA编写一个程序,从键盘上输入三个数,用三元表达式(boolean?ifTrue:if...
比较三个数 就必须三目运算符嵌套 import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("输入第一个数:");int a = sc.nextInt();System.out.println("输入第二个数:");int b = sc.nextInt(...
Java三目运算符
这里,Math.max() 函数用于返回两个数中的较大值。使用三目运算符可以更简洁地写出相同功能的代码:int x = (5 > 6) ? 6 : 5;在此示例中,条件判断部分(5 > 6)决定 x 的值。如果条件为真,则 x 赋值为 6;如果为假,则 x 赋值为 5。总之,Java 三目运算符是简化条件表达式和计算...