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

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

高洛峰
高洛峰

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

répondre à tous(5)
迷茫

Tout d’abord, le type entier est par défaut int. Cela ne fait aucun doute.
Deuxièmement, dans la plage de types autorisée, ici l'octet : -128~127
Et l'entier int 1 est dans cette plage, le compilateur effectuera automatiquement une conversion vers le bas de la constante.
Si la constante dépasse cette plage, le compilateur signalera directement une erreur.

Peter_Zhu

Byte, short, char et boolean sont tous traités comme des entiers au niveau inférieur

Peter_Zhu

Faux, deux entiers sont ajoutés ensemble. S'il est inférieur ou égal à int, la valeur par défaut est int. Si l'un d'eux est long, la valeur par défaut est longue ;

Vous essayez de déclarer deux variables d'octet, puis de les ajouter et de les affecter à une autre variable d'octet. Le compilateur affichera une erreur et une conversion de type forcée est requise

.
洪涛

Consultez cet article : http://www.programgo.com/arti...

阿神

Divisé en conversion automatique et conversion forcée

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal