Java14 사칙연산자
// 사칙 연산자
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);
Author And Source
이 문제에 관하여(Java14 사칙연산자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gogomango/Java14-사칙연산자-52bcirjp저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)