본문 바로가기
Language/Java

연산자

by 태윤2 2020. 5. 25.

산술연산자(+,-,*,/,%)
- 일반적인 사칙연산(+,-,*,/)과 나머지 연산자(%)로 구성
- 나눗셈 연산자(/)는 두 피연산자 간의 나눗셈 결과 중 몫만 계산하고,
  나머지 연산자(%)는 두 피연산자 간의 나눗셈 결과 중 나머지만 계산함

 

 

산술 연산 수행 전 피연산자의 타입을 일치시킨 후 연산을 진행함
규칙1. int형보다 작은 타입끼리의 연산 시 int형으로 자동으로 변환 후 연산 수행
ex) byte + byte =(int)byte + (int)byte = int
ex) byte + short = (int)byte + (int)short = int   


규칙2. int형 이상의 타입과 연산 시 피연산자 중 큰타입으로 변환 후 연산
ex) char + int = (int)char + int = int
ex) byte + long = (long)byte + long = long
ex) long + float = (float)long + float = float

 

대입연산자(=)

-우변의 데이터를 좌변의 변수에 대입(저장 = 할당)

-모든 연산자 중 우선순위가 최하위

 

복합(확장) 대입연산자(+= -= *= /= %=)

- 연산자 좌우변의 피연산자 2개를 각 산술연산한후 그결과를 다시 좌변의 변수에 저장

- 복합 대입연산자를 사용하면 연산과정에서의 자동 형변환이 일어 나지 않는다

ex) ch += 2; /// char 타입 변수 ch값을 2만큼 증가시킴 => int형으로 변환되지 않음!

 

 

비교(관계) 연산자 (>, >=, <, <=, == !=)
-두 피연산자의 대소관계를 비교하는연산자

-연산 결과로 true 또는 false 형태의 boolean 타입 결과가 리턴됨 (= 전달됨)
-주의! >= 등의 연산자 기호 순서를 바꿀 수 없다!

 

증감연산자(++, --)
 -변수 의 값을 1만큼 증가시키거나 감소시키는 연산자
 -변수의 앞쪽(좌측)에 붙을 경우 전위연산자(선행연산자)라고 하며,
  변수의 뒤쪽(우측)에 붙을 경우 후위연산자(후행연산자)라고 함
 => 다른 연산자와 함께 사용 될 경우 위치에 따라 연산 순서가 달라지므로 주의!
  1) 전위연산자(선행연산자) : 다른연산보다 먼저 변수 값을 증감시킨 후 다른 연산 수행
  2) 후위연산자(후행연산자) : 다른 연산을 먼저 수행한 후, 변수 값을 증감시킴
   - 대입연산자를 조합하여 1증가시키는 연산과 결과적으로 수치 변화는 동일하지만
   - 대입연산자와 산술연산자를 사용하는 연산보다 연산 속도가 빠름
   - 복합 대입연산자와 마찬가지로 연산 과정에서 자동 형변환이 발생하지 않음

 

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

-boolean 타입 피연산자에 대한 논리적인 판별을 수행하는 연산자

 

1.AND 연산자( &,&&) = 논리곱 = > A && B

  -두 피연산자가 모두 true 일 때 결과값이 true, 하나라도 false이면 false

2. OR연산자 (|,||) =논리합 => A || B

 - 두 피연산자중 하나라도 true 일때 결과값이 true 둘다 false 이면 false

3. NOT 연산자(!) =논리부정 =>!A

-단항연산자이므로, 피연산자 1개에 대해 연산을 적용

-현재 피연산자 값을 반대로 반전 시킨다

=> true 일때 false, false일때 true

4. XOR 연산자(^) = 배타적(Exclusive) or = 배타적 논리합 =>A^B

- 두 피연산자가 다르면 true, 같으면 false

 

상항연산자(조건연산자) ?:

-연산에 참여하는 항이 3개인 연산자

- 앞에오는식에 대한 판별결과가 ture일때와 false일 때 각각 다른 값을 선택하는 연산자

<기본 문법>

평가식 ? <값1> : <값2> ;

=> 평가식 부분에는 결과가 true 또는 false에 해당하는 식 또는 값만 올수있다.

=> 평가식 결과가 true일 경우 값1 부분의 값을 선택하여 사용하고

      평가식 결과가 false 일 경우 값2 부분의 값을 선택하여 사용한다.

 

삼항연사자의 중첩 사용법

- 삼항연산자의 값1 또는 값2 부분에서 다시 한 번 평가식을 평가하여

또 다른 값 1 과 값 2를 선택하도록 하면 3가지 경우의 수가 나올 수 있다!

 

<기본 문법>

 

평가식 1 ? 값1 : 평가식2 ? 값2 : 값3;

=> 평가식 1 결과가 true 이면 값1 선택

     평가식 1 결과가 false 이고 평가식 2 결과가 true 이면 값2 선택

     평가식 1 결과가 false 이고 평가식 2 결과가 false 이면 값 3 선택

'Language > Java' 카테고리의 다른 글

조건문 switch case 문  (0) 2020.05.26
조건문 if  (0) 2020.05.26
자바에서의 데이터 형변환(Type casting)  (0) 2020.05.25
데이터타입  (0) 2020.05.25
변수 vs 상수  (0) 2020.05.25