Operator
Operators
Type
Operator
산술 연산자
+ - * / %
<< >> (bit operator)
비교 연산자
>< >= <= == !=
논리 연산자
&& || !
& | ^ ~ (bit operator)
대입 연산자
=
기타
(type) : 형변환 연산자
?: 삼항연산자
instanceof (객체지향 개념)
Priority of Operator
산술 > 비교 > 논리 > 대입
단항 > 이항 > 삼항
단항 연산자(부호연산자 등)와 대입 연산자 : 오른쪽에서 왼쪽으로 연산. 이를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
증감 연산자
Type
Description
Example
전위형
값이 참조되기 전에 증가시킨다.
j = ++i;
후위형
값이 참조된 후에 증가시킨다.
j=i++;
증감연산자가 다른 연산자와 함께 식에 사용된다면 전위형과 후위형의 결과는 차이가 있지만, 독립적으로 사용된 경우는 차이가 없다.
Automatic Type Transition(자동 형변환)
기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다.
사칙 연산자, 산술 변환
두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 일치)
2. 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
실수하기 쉬운 overflow 발생 : int * int = int인데 +_20억을 초과하면 long타입으로 형변환을해줘야한다!
나머지 연산자 %
나누는 피연산자는 0이 아닌 정수만 허용되고 부호는 무시된다.
10%8과 10%-8은 같은 결과를 얻는다.
비교연산자, 문자열의 비교
두 피연산자를 비교해서 참(true) 또는 거짓(false)을 반환한다.
'A' > 'B' => 65 > 66 => false
문자열을 비교할 땐 equals() 메소드를 사용한다.
논리 연산자 && ||
: 조건식을 연결할 때 사용하는 연산자.
i는 2의 배수 또는 3의 배수이지만 6의 배수는 아니다.
사용자로부터 입력된 문자ch가 숫자('0' ~ '9')인지 확인하는 식은 다음과 같이 쓸 수 있다. 자주 쓰이는 조건식이기 때문에 살펴보도록 하자. 유니코드에서 문자 '0'부터 '9'까지 연속적으로 배치되어 있기 때문에 가능한 식이다.
문자
문자코드
'0'
48
'1'
49
'2'
50
'3'
51
'4'
52
'5'
53
'6'
54
'7'
55
'8'
56
'9'
57
문자 ch가 대문자 또는 소문자인지 확인하는 식은 다음과 같이 쓸 수 있다.
문자 ch가 소문자가 아니다.
조건 연산자 ?:
삼항연산자 👉🏻 조건식 ? 식1 : 식2
참이면 식1, 거짓이면 식2가 실행된다.
삼항연산자가 if문보다 간편하기 때문에 사용된다.
대입 연산자
lvalue(left value) : 대입 연산자의 왼쪽 피연산자
rvalue(right value) : 대입 연산자의 오른쪽 피연산자
복합 대입 연산자
Operator
Equals
i += 3;
i = i+3;
i -= 3;
i = i-3;
i *= 3;
i = i*3;
i /= 3;
i = i/3;
i %= 3;
i = i%3;
i <<= 3;
i = i<<3;
i >>= 3;
i = i>>3;
i &= 3;
i = i&3;
i ^= 3;
i = i^3;
i |= 3;
i = i|3;
i *= 10 +j;
i = i * (10+j); //괄호 필수!어떤 값을 계속적으로연산할 것인지 인지!
//i에 (10+j)를 계속 곱한다!
//i = i * (10+j);
Last updated
Was this helpful?