public class Study {
public static void main main(String[] args){
System.out.println("5 / 2 = " + 5/2); // 2 (리터럴은 소수점을 표현할 수 없어 2.5가 아닌 2다.)
System.out.println("5 / 2f = " + 5/2f); // 2.5 (float타입의 2.5가 나온다. )
System.out.println("5 / 2.0 = " + 5/2.0); // 2.5 (2.0은 실수의 기본인 double타입으로 2.5가 나온다.)
System.out.println("5 / (double)2 = " + 5/(double)2); // 2 (double타입의 2.5가 나온다.)
// 실수가 하나라도 존재 한다면 실수로 나타낸다.
// 실수 float(4byte), double(8byte)-기본
// 정수 int(4byte)-기본, long(8byte)
System.out.println(1000000 * 1000000); // -727379968 (int타입이 표현할 수 있는 범위를 벗어나는 숫자라 제대로 값을 나타내지 못한다.)
System.out.println(1000000 * 1000000L); // 1000000000000 (long타입으로 제대론 된 값을 나타낼 수 있다.)
System.out.println(1000000000000); // 에러 (int타입으로 표현 할 수 있는 범위에서 벗어난 값)
System.out.println(1000000000000L); // 1000000000000
System.out.println(20); // 20 (정수 20)
System.out.println("" + 20); // 20 (문자열을 더할 시 문자열이 된다.)
System.out.println(20+20+""); 40 (정수를 먼저 더하고 문자열이 되었기에 문자열 40)
System.out.println(""+20+20); 2020 (문자열과 정수를 더하였기에 20문자열이 되고 20문자열에 20정수를 더하면 2020이 된다.)
}
}
출처: 엘컴퓨터학원