23/01/05 18:35:00.85 KPj6QU/BM.net
まず右辺の数字は整数リテラルと言うもの
変数に代入時は整数リテラルは型より大きすぎるなどしてない限り変数と同じ型とみなされる
そうしないと不便だから
次に i = hoge ? 1 : 0;
の右辺は式である
整数リテラルは代入じゃないときは暗黙的にint扱いになるので右辺の式の値の型はintになる
これでキャストが必要
i = true ? 1 : 0;
この右辺はコンパイル時に決定されてるので代入可能
short s = 7000000-6999999;
これも代入可能なのと同じ感覚