Maison  >  Questions et réponses  >  le corps du texte

java中整数数值默认是int类型,这句话正确吗?

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

高洛峰高洛峰2743 Il y a quelques jours1030

répondre à tous(5)je répondrai

  • 迷茫

    迷茫2017-04-18 10:53:57

    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.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:53:57

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

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:53:57

    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

    .

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:53:57

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

    répondre
    0
  • 阿神

    阿神2017-04-18 10:53:57

    Divisé en conversion automatique et conversion forcée

    répondre
    0
  • Annulerrépondre