The Debugging Chronicles : "코드의 미학"

Mentor JAVA - section03. 연산자 본문

JAVA/Mentor JAVA

Mentor JAVA - section03. 연산자

sweetseonah1004 2024. 7. 14. 17:16

01. 연선자의 종류

1. 연산

데이터를 처리하고 결과를 산출하는 작업

 

항 operand

연산에 사용되는 값

 

연산자 operator

기호

 

연산식 experssion

항과 연산자를 이용해 연산 과정을 나열한것

 

2. 기본 연산자의 종류

연산자의 분류 종류 연산자 기능
단항
(피연산자 개수가 1개인 연산자)
부호 +,-,*,/,% 사칙연산, 나머지 계산
증감 ++,-- 음수 양수 부호
논리 | 논리 부정
이항
(피연산자 개수가 2개인 연산자)
논리 &,|,&&,|| 논리곱, 논리합
문자열 + 문자열 연결
대입 =,+=,=+,*=,/=,%= 우변의 값을 좌변에 대입
비교 ==,!=,>,<,>=,<=,instanceof 값을 비교
삼항
(피연산자 개수가 3개인 연산자)
조건식 조건식?A : B 조건식 결과에 따라 A,B선택

 

02. 연산자 우선순위와 연산 방향

연산자 우선순위 정리

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

-이항 연산자는 산술,비교,논리,대입 연산자 순으로 우선순위를 가진다

- 단항과 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다

- 복잡한 연산싱은 괄호()를 사용해 우선순위를 정한다.

 

03. 단항 연산자

1. 부호 연산자  + , - 

 

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

package seciton03;

public class EX03_05{
	public static void main(String[] args){
		int num = 30;
        System.out.println(++num); //num(=30)에서 +1이 더해져서 31출력
        System.out.println(num); //31출력
        
    	System.out.println(num++); // num(=31)이 먼저 출력된 후 32로 증가
        System.out.println(num); //32출력
    }
}

 

연산자 순서 내용
증감 연산자가 피연산자 앞에 위치 (전위형)
++num , -- num
1이 먼저 증감되고 코드에 즉시 반영되어 실행
증감 연산자가 피연산자 뒤에 위치(후위형)
num++,num--
코드가 먼저 실행되고 1이 증감
즉, 다음 코드부터 증감된 값을 반영

 

문자형 char 형에도 적용 가능

package seciton03;

public class EX03_07{
	public static void main(String[] args){
    	char alphabetX = 'X'; // 유니코드 정수 88로 저장되어 'X'와 매핑
        System.out.println(alphabetX++); // x -> alphabetX가 출력된 후, 88+1=89됨
        System.out.println(alphabetX); //Y ->  89와 매핑된 'Y'가 출력 
    
    }
}

 

3. 논리 부정 연산자 !

 

 

04. 이항 연산자

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

연산자 연산 작업 사용 방법 설명
+ 뎃셈(addition) a+b a와 b를 더한다
- 뺄셈 a-b a에서 b를 뺀다
* 곱셈 a * b a와 b를 곱한다
/ 나눗셈 몫 a/b a를 b로 나눈다
% 나눗셈 나머지 a%b a를 b로 나눈 나머지 값

 

 

고려사항

- 피연산자의 자료형이 일치하지 않을 경우 크기가 큰 자료형으로 자동 형 변환이 일어난 후 연산을 수행합니다.

-연산의 결과값이 산출 자료형의 표현 범위 안에 있어야 합니다. 그렇지 않으면 오버플로우가 발생하거나 쓰레기 값이 입력됩니다.

 

2. 대입 연산자 = ,+=, -=,*=,/=,%=

오른쪽 피연산자의 값을 왼쪽 피연산자에 저장

 

3. 관계 연산자 <, <=, >, >=, ==, !

- 관계 연산자는 2개 이상 연속으로 사용할 수 없다.

- 관계 연산자의 연산 방향은 왼쪽에서 오른쪽이다. 기본 형태 자체가 관계 연산자를 기준으로 왼쪽 오른쪽의 피연산자를 비교한 후 결과값을 반환한다. 만약 A<=B== C같이 연속으로 작성하게 되면, A<=B의 연산에 대한 결과를 확인하고 바로 결과값을 반환해 버리기 때문에, C는 연산의 대상 조차 될 수 없다.

 

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

연산자 논리식 연산 내용
&& 또는 & 논리곱(AND) 두 항이 모두 true일 때만 true
나머지는 false
|| 또는 | 논리합(OR) 두항 중 하나라도 true면 true,
모두 false면 false
^ 배타적 논리합(XOR) 두 항이 다른 값이면 true,같으면 false
! NOT 논리식이 true면 false ,
fasle면 true로 바꿔서 출력

 

 

05. 삼항 연산자

조건식 ? 피연산자1: 피연산자2 

 

조건식의 결과가 true면 '피연산1' 이실행되며, false면  '피연산자2'가 실행