[Eclipse] 연산자

2021. 6. 16. 11:19JAVA

* 연산자(Operator)

 

- 어떠한 기능을 수행하는 기호(+,-,*,/ 등

- 피연산자(Operand)

  : 연산자의 작업 대상 (변수, 상수, 리터럴, 수식)

 

* 연산자의 종류

▶ 단항 연산자:  +  - (타입)  ++  -- ~  ! 
▶ 이항 연산자:  +  - *  /  % : >  <  >=  <=  ==  != : &&  || 
▶ 삼항 연산자: :   ?  :
▶ 대입 연산자 :   =

 

*연산자 우선순위

- 괄호의 우선순위가 제일 높다.

- 산술 > 비교 > 논리 > 대입
- 단항 > 이항 > 삼항 

- 연산자의 연산 진행방향은 왼쪽에서 오른쪽(→)이다. 

  단, 단항, 대입 연산자만 오른쪽에서 왼쪽(←)이다.


* 타입이 다른 산술연산 큰 타입으로 일치

long + int        -> long + long         -> long 

float + int         -> float + float        -> float 

double + float   -> double + double  -> double


-int보다 작으면 int로 변환

byte + short   -> int + int  -> int

char + short   -> int + int  -> int

 


* 증감연산자 : ++, --

증가연산자(++) : 피연산자의 값을 1 증가시킨다.

감소연산자(--) : 피연산자의 값을 1 감소시킨다.

전위형: j = ++i;    -> ++i;  j = i;

후위형: j = i++    -> j = i;  i++;

 

 

* 나머지 연산자 : %

 - 나누기한 나머지를 반환

 - 홀수, 짝수 등 배수검사에 주로 사용

  ex) 10 %  8  → 2 

 

 

* 비교연산자 : >, <, >=, <=, ==, !=

- 피연산자를 같은 타입으로 변환한 후에 비교한다. 결과 값은 true 또는 false이다. 

- 기본형(boolean제외)과 참조형에 사용할 수 있으나 참조형에는 ==와 !=만 사용할 수 있다.

 

 

* 논리연산자: &&, ||

 - 피연산자가 반드시 boolean이어야 하며 연산결과도 boolean이다. 

 - &&가 || 보다 우선순위가 높다. 같이 사용되는 경우 괄호를 사용

 - OR연산자(||) : 피연산자 중 어느 한 쪽이 true이면 true

 - AND연산자(&&) : 피연산자 양 쪽 모두 true이면 true

 

 

* 삼항연산자: ?, :

- 조건식의 연산결과가 true이면 ‘식1’의 결과를 반환하고 false이면 ‘식2’의 결과를 반환한다.

 (조건식) ? 식1 : 식2

ex) int score = 50; 

    char grade = score >= 90 ? ‘A’ : (score >= 80? ‘B’ : ’C’);

   -> 결과: grade = 'C'

 


*예제

- input값이 3의배수인지 5의배수인지 구하기

- 1증가된 input값이 3의배수인지 5의배수인지 구하기

int input = 2345134;
//삼항연산자 사용
String str = (input%3 == 0)? "3의배수임" : (input%5 == 0) ? "5의배수임" : "3의배수도 아니고 5의배수도 아님";
System.out.println("str값: " + str);
		
input++;
String str1 = (input%3 == 0)? "3의배수임" : (input%5 == 0) ? "5의배수임" : "3의배수도 아니고 5의배수도 아님";
System.out.println("str1값: " + str1);

-결과

str값: 3의배수도 아니고 5의배수도 아님
str1값: 5의배수임

'JAVA' 카테고리의 다른 글

[Eclipse] 누적계산기  (0) 2021.06.17
[Eclipse] 가위바위보 게임  (0) 2021.06.17
[Eclipse] 조건문, 반복문  (0) 2021.06.16
[Eclipse] 변수  (0) 2021.06.15
[Eclipse] JAVA시작하기  (0) 2021.06.15