두 값이 다른 데이터 유형이있는 경우, 자바는 자동으로이 개 데이터 유형의 더 큰에 값 중 하나를 촉진 할 것인가?

kaka :

규칙은 두 값이 다른 데이터 유형이있는 경우, 자바는 자동으로이 개 데이터 유형의 더 큰에 값 중 하나를 촉진 있다고?

아래의 코드 중, Y에 할당 된 값은 x의 값보다 크다. 따라서 고려하여 규칙을 가지고, 인쇄 된 값은 "부동"해야하지만 대신은 "두 번 인쇄. 대신 플로트의 더블 인쇄 이유를 기쁘게 할 수 있습니까?

    Double x = 3.21; 

    Float y = 4.1f;

    Object o  = (x*y);

    System.out.println( o.getClass().getSimpleName() ); // prints out Double
Darkwyng :

"큰"더 많은 정보를 저장할 수있는 데이터 유형 (간단히 말해서)은 ">"값을 참조하지 않지만, 예를 들어 더블 플로트 선호하고 긴 Int 인 이상이 바람직하다.

이 여기에 설명되어 있습니다 : https://docs.oracle.com/javase/specs/jls/se13/html/jls-5.html#jls-5.6.2

추천

출처http://43.154.161.224:23101/article/api/json?id=18327&siteId=1