Languages/Java

[HUFS/객체지향프로그래밍] #3 연산자, 조건문과 반복문

성중 2022. 12. 26. 13:44

연산자와 연산자의 종류

  • 연산자(operator): 연산에 사용되는 표시나 기호
  • 피연산자(operand): 연산자와 함께 연산 되는 데이터
  • 연산식(expression): 연산자와 피연산자를 사용하여 연산 과정을 기술한 것

 

자바에서 제공하는 연산자

연산의 방향과 우선순위

복합적으로 구성된 연산식의 연산 우선순위

  • 단항 > 이항 > 삼항
  • 산술 > 비교 > 논리 > 대입
  • 우선순위가 같다면 왼쪽에서 오른쪽
  • 괄호()를 사용해 먼저 처리할 연산식 묶기

* 예외: 단항 / 부호 / 대입 연산자는 오른쪽에서 왼쪽

 

연산 방향과 우선순위

피연산자 수에 따라 단항 / 이항 / 삼항 연산자로 구분

  • 단항 연산자: 부호, 증감 연산자
  • 이항 연산자: 산술, 비교, 논리 연산자
  • 삼항 연산자: 조건 연산자

 

단항 / 이항 / 삼항 연산자

단항 연산자

1. 부호 연산자 (+, -)

 

boolean 타입과 char 타입을 제외한 기본 타입에 사용 / 부호 연산의 결과는 int 타입

2. 증감 연산자 (++, --)

 

boolean 타입 외 모든 기본 타입에 사용 / 증감 연산자 위치에 따라 결과 달라짐 주의

3. 논리 부정 연산자 (!)

 

boolean 타입에만 사용 / 실행 흐름을 제어하는 토글(toggle) 기능

이항 연산자

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

 

피연산자 타입이 동일하지 않을 경우 타입이 자동 변환되어 연산

자동 변환 규칙

  • 피연산자가 byte, short, char 타입일 경우 모두 int 타입으로 변환
  • 피연산자가 모두 정수 타입이고 long 타입도 포함될 경우 모두 long 타입으로 변환
  • 피연산자 중 실수 타입이 있을 경우 허용 범위가 큰 실수 타입으로 변환

 

2. 문자열 결합 연산자 (+)

 

+ 연산자의 피연산자 중 한 쪽이 문자열인 경우

3. 비교 연산자 (==, !=, >, >=, <, <=)

 

boolean 타입 외 모든 기본 타입에 사용 / 동등 비교 연산자는 모든 타입에 사용

4. 논리 연산자 (&&, ||, &, |, ^, !)

 

boolean 타입에만 사용

5. 대입 연산자 (=, +=, -=, /=, %=, &=, |=, ^=)

 

대입 연산자와 축약형

삼항 연산자

삼항 연산자 (?:)

제어문과 조건문

if-else문과 switch문

반복문

for문과 while문
do-while문
반복문과 switch문의 실행을 중지하는 break문
실행 흐름을 반복문의 조건식으로 이동시키는 continue문