java中整数数值默认是int类型,这句话正确吗?
高洛峰
高洛峰 2017-04-18 10:51:57
0
5
1082

比如byte b = 1; char c = 1;,如果整数类型默认是int类型的话,那么byte b = 1;应该需要强转换才对,因为int是高精度的,但这里明显不报错,这是为什们呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(5)
迷茫

まず、整数型のデフォルトは int です。これについては疑いの余地がありません。
次に、許可される型の範囲内で、ここではバイト: -128~127 です。
整数 int 1 がこの範囲内にある場合、コンパイラーは自動的に定数の下位変換を実行します。
定数がこの範囲を超える場合、コンパイラは直接エラーを報告します。

いいねを押す +0
Peter_Zhu

Byte、short、char、boolean はすべて最下層で int として処理されます

いいねを押す +0
Peter_Zhu

間違っています。2 つの整数が int 以下の場合、デフォルトは int になります。

2 つのバイト変数を宣言し、それらを追加して別のバイト変数に割り当てようとすると、コンパイラによってエラーが表示され、強制的な型変換が必要になります。

いいねを押す +0
洪涛

この記事をチェックしてください: http://www.programgo.com/arti...

いいねを押す +0
阿神

自動変換と強制変換に分かれます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート