Javaで推進して変換

Jayesh Sonkusare:

推進は、より高いタイプに小さいタイプのリテラルを促進するか、または変換することを意味します。このプロモーションは、式の評価に使用されています。今、私はこれについて疑問を持っています。私はこの文を入力すると

byte var1 = 56 + 10;

答66.どのようにこれを可能にすることができますになりますか?プロモーションの規則によると、すべてのバイト、短いcharはint型に昇格されます。56と10はint型に昇格されますので、答え66はint型になり、これはそう。この66は、バイト型の変数に格納されます。しかし、int型からバイトへのストア何かに、鋳造が行われることです。しかし、このコードは、鋳造せずに完璧に動作します。

Ruelosジョエル:

あなたが一定の値を与えているので、これは大丈夫です。参照定数のコンパイル時の狭小化を

定数手段のコンパイル時狭窄そのコードなど。

バイトジ・アンサー= 42;

許可されている。狭めることなく、42整数リテラルはint型を持っているという事実は、バイトへのキャストが必要とされるであろうことを意味します:

バイトジ・アンサー=(バイト)42。//キャストが許可され、必須ではありません

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=314551&siteId=1