位运算符——三元运算符

 

 位:bit


 

三元表达式!

条件表达式?表达式1:表达式2;

若为真,执行表达式1

若为假,执行表达式2

例子:↓

int a = 10;

int b = 99;

int res = a > b ? a++ : b--;

运算结果:

10<99,为假

执行b--;

先把b返回res,再执行b--

最终:a=10;b=98;res=99;

=====================================

注意事项:1.表达式1和表达式2要为  可以赋给接收变量的类型(或可以自动转换),否则会有精度损失

[例子:

int a = 10, b = 99;

int n = a>b ? 1.1:1.2;

输出n的结果为1  //此处出现了精度损失,把一个double给了一个int

]

2.三元运算符可以转化成为if--else语句

三元运算符例子:

int a= 10;

int b = 99;

int c = 100;

1)求a和b之间的最大值

2)求a,b,c之间的最大值

1))    int max = a>b ? a:b;

2))    int max1 = max<c ? c:max;

      or

int max2 = (a > b ? a:b)>c ? (a > b ? a:b):c

 

posted @ 2022-09-20 23:40  Morning枫  阅读(135)  评论(0)    收藏  举报