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

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

高洛峰
高洛峰

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

reply all(5)
迷茫

First of all, the integer type defaults to int. There is no doubt about this.
Secondly, within the allowed type range, here byte: -128~127
And the integer int 1 is in this range, the compiler will automatically perform downward conversion of the constant.
If the constant exceeds this range, the compiler will directly report an error.

Peter_Zhu

Byte, short, char, and boolean are all processed as int at the bottom layer

Peter_Zhu

Wrong, two integers are added together. If it is less than or equal to int, the default is int. If one of them is long, the default is long;

You try to declare two byte variables, and then add them and assign them to another byte variable. The compiler will prompt an error and forced type conversion is required

洪涛

Check this article: http://www.programgo.com/arti...

阿神

Divided into automatic conversion and forced conversion

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template