최근에, 나는 자바에서 타입 캐스팅 개념을 사용하고 있었지만, 더 큰 변수를 더 작은 변수 결과로 캐스팅하는 것을 보았습니다. 작은 변수의 범위에 의해 큰 변수의 모듈로. 누구나 자세히 설명해 주시겠습니까? 왜 이것이 사실이며 모든 명시적인 유형 변환에 대해 사실입니까?왜 더 큰 변수를 더 작은 변수의 캐스팅을 더 큰 변수의 모듈로 더 작은 변수의 범위로
class conversion {
public static void main(String args[])
{
double a = 295.04;
int b = 300;
byte c = (byte) a;
byte d = (byte) b;
System.out.println(c + " " + d);
}
}
위 코드 44.Please는이 경우에 그 이유를 설명한다 D 300 44 보낸 같은 모듈 (256)의 응답을 제공하고 또한 무엇 C의 값이 일어나는가?
b = 128이면 생각해 본 적 있나요? –
주석 2를 확인하십시오. 또한 b = 255 인 경우 모듈로가 작동하지 않는지 확인하십시오. –
그래, 내가 그 대답을 알고 있다고 생각합니다. 데이터 형식 범위가 0에서 127까지이므로 오버플로가 발생합니다. 따라서 127을 넘으면 -128에서 -1로 바뀝니다. 따라서 우리는 b = 내가 틀렸다면 나를 고쳐 줄까? –