JAVA - 연산자들(1)

뫄뫄(ahk)·2021년 4월 8일
0

JAVA

목록 보기
2/7

산술연산자(+, -, /, *, %)

💩 일반적인 사칙연산과 동일합니다.

하지만 조금 생소할 수 있는 '%'연산자가 있습니다.
💩%연산자 : 나머지 연산자(or 퍼센트 연산자)라고 하며, 나눗셈 결과에 대한 나머지를 계산하는 연산자입니다.(/ 연산자는 나눗셈 결과에 대한 몫 계산하는 연산자)

산술 연산 시 자동 형변환

💩 피연산자끼리 데이터 타입을 일치시킨 후 연산을 수행해야합니다.

  1. int 타입보다 작은 타입(byte, short, char)끼리의 연산은 모두 int 타입으로 변환 후 연산을 수행합니다.
    ex) byte + byte = (int)byte + (int)byte = int + int = int
    ex2) char + int = (int)char + int = int + int = int
  2. int 타입보다 큰 타입과의 연산은 큰 타입으로 변환 후 수행합니다.
    ex) int + long = (long)int + long = long + long = long
    ex2) long + float = (float)long + float = float + float = float

나눗셈 연산

💩 정수형 데이터가 피연산자일 때 몫을 계산하는 연산자입니다.

System.out.println(3 / 2);
Int / int = int 데이터 타입이기 때문에 결과는 1이 출력됩니다.

  • 1.5를 출력하고 싶다면 피연산자의 데이터 타입을 실수로 변환 후 연산해야합니다.
  • System.out.println((double)3 / 2); or System.out.println(3 / 2.0);

리터럴연산

💩 리터럴 끼리 연산할 때는 자동 형변환이 일어나지 않습니다.

💩 Byte a = 10+10
=> 오류가 발생하지 않네요

💩 단, 리터럴 연산의 결과값이 데이터 타입의 표현범위를 초과하면, Int로 취급되어(리터럴 연산결과값이) error가 발생합니다.

문자열에대한 덧셈 연산자

💩 덧셈 연산자는 정수, 실수형 피연산자와 연산을 하는 경우는 산술연산을 하지만,
피연산자에 문자열 데이타입이 있다면 결합(연결)연산자로 사용됩니다.

10 + 10 = 20 
"10" + "10" = "1010"
10 + "10" = "1010"

💩 문자열 데이터타입이 아닌 피연산자를 문자열로 변환한 다음, 결합연산을 합니다.

💩 결합연산은 왼쪽부터 진행합니다.

profile
NONONONONONOYes!

0개의 댓글