Java 14四則演算子
//四則演算子
System.out.println(10/4); //2.5아니고 2
//int 나누기 int라서 값도 int가 나온다
System.out.println(10/4.0f); //int나누기float는 2.5f
//float가 int보다 크니까 int를 값손실이 적은 float로 바꿔서 나눠진다.
/*
산술변환: 연산전에 피연산자의 타입을 일치시키는 것
1. 두 피연산자의 타입을 같게 일치시킨다. 보다 큰타입으로 일치(값손실 방지)
long + int -> long + long
float + int -> float + float
double + float -> double + double
2.피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
byte + short -> int + int
char + short -> int + int
'2'-'0' = 2 ....아스키코드 '2' = 50 '0'=48
50 - 48 = 2
이래서 문자를 숫자로 바꾸는 방법이 '0'을 빼주는 것이다.
*/
int a = 1_000_000; //1백만 10의 6제곱
int b = 2_000_000; //2백만 10의 6제곱??
long c = a*b; //이상한 값나옴. 왜냐면 a*b는 10^12.
//int범위는 10^9라서 이미 값 자체가 잘못되서(오버플로우) 더 큰 long변수에 넣어도 이상하다.
long d = (long)a*b; //둘중 하나를 long값으로 바꾸면 됨.
System.out.println(c);
System.out.println(d);
Reference
この問題について(Java 14四則演算子), 我々は、より多くの情報をここで見つけました https://velog.io/@gogomango/Java14-사칙연산자-52bcirjpテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol