比如C中可以这么写:
1>5 ? printf("1") : printf("5");
可以正常编译运行。
但java好像不允许1>5这个写法,必须用变量来代替,比如:
int a = 1, b = 5; a>b 要这么写,
就算这样写了后,Eclipse会在b下面打红线说不能把int转换为boolean,
也就是说编译器没有把(a>b)这个当boolean,而是把b当成了boolean?
如果用括号括起来(a>b)?System.out.printf("1") : System.out.printf("5");
编译器又报错说让我把括号去掉。
那java的三元运算符是不是并不能完全的当成一个if else来用?好像没法让他进行输出操作?