코딩/Java메모장

(JAVA)연산자와 연산식

쟈크손 2023. 1. 6. 16:42

연산자(Operator)

-연산에 사용되는 표시나 기호(ex) +, -, *, /)

 

피연산자(operand)

-연산자와 함께 연산되는 데이터(ex) x+y 식중에 x, y는 피연산자)

 

연산식(Expression)

- 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것

-연산식은 반드시 하나의 값을 산출한다.

자바에서 제공하는 연산자

연산자 종류 연산자  피연산자 수  산출값 기능
산술 +, -, *, / ,% 이항 숫자 사칙연산 및 나머지 계산
부호 +, -  단항 숫자 음수와 양수의 부호
문자열 + 이항 문자열 두 문자열을 연결
대입 =, +=, -=, *=, /=, %= 이항 다양 우변의 값을 좌변으 변수에 대입
증감 ++, -- 단항 숫자 1만큼 증가/감소
비교 ==, !=, >, <, >=, <=,
instanceof
이항 boolean 값의 비교
논리 !, &, |, &&, || 단항,이항 boolean 논리 부정, 논리곱, 논리합
조건 (조건식)?A:B 삼항 다양 조건에 따라 A 또는 B중 하나를 선택

단항 연산자: 피연산자수가 1개인 연산자

이항 연산자: 피연산자수가 2개인 연산자

삼항 연산자: 피연산자수가 3개인 연산자

 

연산의 방향과 우선순위

1.단항, 이항, 삼항 연산자 순으로 우선순위를 가진다.

2.산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.

3.단항, 부호, 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽이다.(단항, 부호, 대입 연산자는 반대)

4.복잡한 연산식에는 괄호 ()를 사용해서 우선순위를 정한

 

 

 

 

다.

 

논리 연산자

-논리곱(&&), 논리합(||), 배타적 논리합(^), 논리 부정(!)연산을 수행한다.

-피연산자는 boolean타입만

 

구분 연산식 결과 설명
AND(논리곱) true &&
또는
&
true true 피연산자 모두가 true일 경우에만 연산 결과가 true
true false false
false true false
false false false
OR(논리합) true ||
또는
|
true true 피연산자 중 하나만 true이면 연산 결과는 true
true false true
false true true
false false false
XOR(배타적 논리합) true ^ true false 피연산자가 하나는 true이고 다른 하나가 false일 경우에만 연산 결과가 true
true false true
false true true
false false false
NOT(논리부정)   ! true false 피연산자의 논리값을 바꿈
  false true

&&과 &, ||과 |의 차이

&&는 먼저나온 피연산자가 false이면 뒤의 피연산자를 평가하지 않고 바로 false라는 결과를 산출한다.

&는 두 피연산자 모두를 평가해서 결과를 산출한다.

 

||는 먼저 나온 피연산자가 true이면 뒤의 피연산자를 평가하지않고 true라는 결과를 산출한다.

|는 두 피연산자 모두를 평가해서 결과를 산출한다.

 

삼항 연산자

(조건식) ? (1값 또는 연산식) : (2값 또는 연산식)의 형태

?앞의 조건식이 true이면 1번 값 또는 연산식이 결과로 나오고

false이면 2번 값 또는 연산식이 결과가 된다.

ex)

int score=95

char grade = (score > 90 ) ?  'A' : 'B'

score가 95이고 score > 90 조건식을 만족해서 조건식의 결과는 true가 되고 조건식이 true이기때문에 grade변수에는 'A'가 저장된다.