過去の情報、c言語だから悩んだのかも。javaだと成立しない。
=====
条件演算子(conditional operator)
式1 ? 式2 : 式3 ;
について思ったこと。
式1に入る物は式じゃなくて値(bool型)だと思う。
で、式1に int型の値を代入すると自動的にbool型に変換される。
例えば、
int n1=15;
(n1)?"true":"false";
と書いたとしても
(bool(n1))?"true":"false";
ということを行っている。
bool型は結局のところ0(false) or 1(true)であり
かつ0以外の整数をbool型にキャストするとtrue(1)の値が返されることになっているからtrueが返されるんじゃないんかな?
コメント