>  Q&A  >  본문

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

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

高洛峰高洛峰2743일 전1034

모든 응답(5)나는 대답할 것이다

  • 迷茫

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

    우선 정수형의 기본값은 int입니다. 이것에 대해서는 의심의 여지가 없습니다.
    두 번째로, 허용되는 유형 범위 내에서 여기 바이트: -128~127
    그리고 정수 int 1이 이 범위에 있으면 컴파일러는 자동으로 상수의 하향 변환을 수행합니다.
    상수가 이 범위를 초과하면 컴파일러가 직접 오류를 보고합니다.

    회신하다
    0
  • 天蓬老师

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

    Byte, short, char 및 boolean은 모두 하위 수준에서 int로 처리됩니다

    회신하다
    0
  • 天蓬老师

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

    틀렸습니다. 두 개의 정수가 int보다 작거나 같으면 기본값은 int입니다. 그 중 하나가 long이면 기본값은 long입니다.

    두 개의 바이트 변수를 선언한 다음 이를 추가하고 다른 바이트 변수에 할당하려고 하면 컴파일러에서 오류 메시지가 표시되며 강제로 유형 변환이 필요합니다.

    회신하다
    0
  • PHP中文网

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

    이 기사를 확인하세요: http://www.programgo.com/arti...

    회신하다
    0
  • 阿神

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

    자동변환과 강제변환으로 나누어집니다

    회신하다
    0
  • 취소회신하다