java

연산자와 식, 문장

다름임 2024. 12. 23. 10:59

연산자는 계산 기호이다 .

 

 

연산자의 종류 (4가지) 

1. 계산 : + , - , * , / , %
2. 비교 : < , >, <=, >=, ==, !=
3. 논리 : && , || , ! --> 조건과 결합하면 각각 교집합, 합집합, 여집합으로 생각할 수 있다. 
4. 대입 : =

 

 

연산자는 반드시 하나의 결과를 반환한다. 

 

 

Q. (2+3) * 8이라는 연산식에서 () 괄호는 연산자인가  ?

-->  X. 결과 반환이 없기 때문 ( 우선순위를 수동으로 설정하는 것일 뿐이다. ) 

 

 

연산자의 특징 

1. 자동 우선순위 부여 
 - 곱하기, 나누기는 더하기, 빼기보다 우선순위가 높다.
2. 결합 방향 존재 ( 왼->오, 오->왼)
 - 대입연산자를 제외한 모든 연산자는 왼쪽에서 오른쪽으로 진행한다. 
3. 서로 다른 타입 연산시 산술 변환 규칙 
 - 1) 둘중에 더 큰 타입으로 변환한다 
 - 2) int보다 작은 타입( byte, short)은 int로 변환한다. 
ex) float * double =  double * double  /  byte * short = int * int

 

 

식과 문장의 차이

식은 반드시 결과가 존재한다. ex) 3 + 5 

문장은 결과가 있을수도 있고, 없을 수도 있다. 

 

문장의 종류

1. 선언문
- 변수, 함수(메서드), 클래스
2. 대입문
- 'x = 5' 는 식이면서 문장이다. (결과를 반환하냐에 따라 구분함) 
3. 조건문과 반복문
- 결과 없음

 

 

*삼항 연산자  : if문을 연산자로 변환한것 ( 문장을 식으로 변환) 

- 셋중에 하나를 선택하는 문제는 삼항연산자를 이중으로 사용한다.