Java의 기본 유형 캐스팅에서 다음 코드는 무엇을 나타낼까요?유형 캐스팅 int 및 double
float a = 1.11;
int b = a;
int c = (int)a;
System.out.println(a + " " + b + " " + c);
이중 변수가 64 비트이고 int가 32 비트이면 double 변수를 int로 형변환 할 수 있습니까?
Java의 기본 유형 캐스팅에서 다음 코드는 무엇을 나타낼까요?유형 캐스팅 int 및 double
float a = 1.11;
int b = a;
int c = (int)a;
System.out.println(a + " " + b + " " + c);
이중 변수가 64 비트이고 int가 32 비트이면 double 변수를 int로 형변환 할 수 있습니까?
재미있는 마지막 질문에 대답하려면 (질문의 다른 부분은 디버거가 가장 잘 대답합니다) int에 비해 너무 큰 double은 가능한 가장 큰 int로 변환됩니다. 마찬가지로 int가 너무 작 으면 int가 가장 작은 int로 변환됩니다.
는 INT는 (영원히) 32 비트 자바 정의되어 http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#d5e4334
- 참고 및 더블 (영원히) 64 비트이다.
이 컴파일 :
float a = 1.11f;
int b = (int) a;
int c = (int)a;
System.out.println(a + " " + b + " " + c);
float
변수를 초기화하려면, 당신은 수치의 끝에서 f
을 추가해야합니다.float
은 double
과 같이 다른 비트 크기 인 경우에는 유형으로 변환 할 수 없습니다.google.com
을 사용하여 답변을 찾으십시오.
_ "다음 코드는 무엇을 보여줄까요?"_ 스스로 시도하지 않으시겠습니까? 그리고 컴파일되지 않았기 때문에 아무 것도 보여주지 않습니다. –
질문을 명확하게 질문하십시오 –
왜 컴파일되지 않습니까? –