Java

[자바의 정석] 3장 연산자 (Operator)

woochii 2023. 7. 17. 19:15
728x90
반응형

Chapter 3 - 연산자

 

연산자 : 연산을 수행하는 기호(+, -, *, / 등)

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

 

연산자의 종류

산술 연산자 +  -  *  /  %  <<  >> 사칙 연산과 나머지 연산
비교 연산자 >  <  >=  =<  ==  != 크고 작음과 같고 다름을 비교
논리 연산자 &&  ||  !  &  |  ^  ~ AND와 OR로 조건을 연결
대입 연산자 = 우변의 값을 좌변에 저장
기타 (type) ? : instancoof 형변환 연산자, 삼항 연산자, instanceof연산자

산술 변환

산술 변환이란 연산 수행 직전에 발생하는 피연산자의 자동 형변환을 말한다.

  • 두 피연산자의 타입을 같게 일치 시킨다(보다 큰 타입으로)
  • 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.

증감 연산자

  • 증가연산자(++) : 피연산자의 값을 1 증가시킨다.
  • 감소연산자(--) : 피연산자의 값을 1 감소시킨다.
전위형 값이 참조되기 전에 증가시킨다. j = ++i;
후위형 값이 참되된 후에 증가시킨다. j = i++;

 

class OperatorEx2 {
  public static void main(String[] args) {
    int i=5, j=0;

    j=i++; // i=5, j=5
    // i=6 j=5
    i=5;
    j=0;

    j=++i; // i=6, j=6 
  }
}

식에 두 번 이상 포함된 변수에 증감연산자를 사용하면 코드가 복잡해지기 때문에 두 번 이상 사용하는 것은 피해야 한다.

비트 연산자

비트 연산자는 피연산자를 비트단위로 논리 연산한다.

연산자설명

| (OR 연산자) 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻고 그 외는 0을 얻는다.
& (AND 연산자) 피연산자 중 양 쪽 모두 1이어야만 1을 결과로 얻고 그 외는 0을 얻는다.
^ (XOR 연산자) 피연산자의 값이 서로 다를 때만 1을 결과로 얻고 같을 때는 0을 얻는다.
~ 0은 1로, 1은 0으로 바꾼다.

 

조건 연산자 ( 삼항 연산자 )

조건식 ? 식1 : 식2

조건식이 참이면 식1, 거짓이면 식2를 반환

 

References

https://github.com/castello/javajungsuk_basic

 

GitHub - castello/javajungsuk_basic: 자바의 정석 기초편 관련 자료입니다.

자바의 정석 기초편 관련 자료입니다. Contribute to castello/javajungsuk_basic development by creating an account on GitHub.

github.com

728x90
반응형