前言:在文章中加入过多的图像csdn会成为链接,超过5个会被审查半天。 因此,尽量不要放图片,看代码理解吧。
首先理解一元二元运算符的含义
一元运算符:只能在一个数据上操作的运算符。 比如,取反了!自我增加、自我减少---
二元运算符:需要两个数据时可以操作的运算符。 例如,加法、代入=
同样,可以得出三个需要三个数据的运算符。
格式:
数据类型变量名=条件判断? 式a :式b;
流程:
首先判断条件是否成立;
在true成立的情况下,将式a的值代入左边的变量;
如果false不成立,则将公式b的值代入左边的变量。
选其一。
注意事项:
1 .必须确保表达式a和表达式b都满足左侧数据类型的要求。 否则,强制转换会导致数据溢出和精度丢失问题。
例如:
在这里,你需要避免侥幸。 34为false,因此值应该为10,但编译器要求三元运算的结果是两个表达式与左侧的数据类型匹配,从而导致错误。
2 .三元运算符的结果必须被使用。
例如:
完整代码:
/*
一元运算符:只能在一个数据上操作的运算符。 比如,取反了!自我增加、自我减少---
二元运算符:需要两个数据时可以操作的运算符。 例如,加法、代入=
三元运算符:需要三个数据且可以操作的运算符。
格式:
数据类型变量名=条件判断? 式a :式b;
流程:
首先判断条件是否成立;
在true成立的情况下,将式a的值代入左边的变量;
如果false不成立,则将公式b的值代入左边的变量。
选其一。
注意事项:
1 .必须确保表达式a和表达式b都满足左侧数据类型的要求。 否则,强制转换会导致数据溢出和精度丢失问题。
2 .三元运算符的结果必须被使用。
*/
公共类demo 13操作器{
publicstaticvoidmain (string [ ] args ) {
int a=10;
int b=20;
//数据类型变量名=条件判断? 式a :式b
int max=a b? a : b; //取最大值的变量
system.out.println(max; //20
//int result=3 4? 2.5 : 10; //错误的写法
system.out.println(ab? a : b; //格式正确,左侧没有新变量,此时无需与左侧的数据类型一致。
//a b? a : b;
}
}