Language/JAVA

[JAVA] 부호 연산자와 증감 연산자

IT수정 2024. 9. 3. 16:10

부호 연산자

연산식 설명
+ 피연산자 피연산자의 부호 유지
- 피연산자 피연산자의 부호 변경

 

+ 연산자는 잘 사용되지 않고, - 연산자는 변숫값의 부호를 변경할 때 사용된다. 주의할 점은 부호 변경 후의 타입이다. 다음 코드는 컴파일 에러가 발생한다.

byte b = 100;
byte result = -b; // 컴파일 에러. byte의 허용 범위에 음수값이 포함되지 않음

 

정수 타입 연산의 결과는 int 타입이다. 부호를 변경하는 것도 연산이므로 다음과 같이 int 타입 변수에 대입해야 한다.

byte b = 100;
int result = -b;

 

자바에서 + 연산자는 두 가지 기능을 가지고 있다. 피연산자가 모두 숫자일 경우에는 덧셈 연산을 수행하고, 피연산자 중 하나가 문자열일 경우에는 나머지 피연산자도 문자열로 자동 변화되어 문자열 결합 연산을 수행한다.

int value = 1 + 2 + 3; // 6
String str = "1" + 2 + 3; // "123"
String str = 1 + "2" + 3; // "123"
String str = 1 + 2 + "3"; // "33"

 

앞에서 순차적으로 + 연산을 수행하지 않고 특정 부분을 우선 연산하고 싶다면 해당 부분을 괄호()로 감싸면 된다. 괄호는 항상 최우선으로 연산을 수행한다.

String str = "1" + (2 + 3); // "15"

 

증감연산자

증감 연산자(++, --)는 변수의 값을 1 증가시키거나 1 감소시키는 연산자이다.

연산식 설명
++ 피연산자 피연산자의 값을 1 증가
-- 피연산자 피연산자의 값을 1 감소
피연산자 ++ 다른 연산을 수행한 후에 피연산자 값을 1 증가
피연산자 -- 다른 연산을 수행한 후에 피연산자 값을 1 감소

 

변수 단독으로 증감 연산자가 사용될 경우에는 변수의 앞뒤 어디에 붙어도 결과는 동일하다. 하지만 여러 개의 연산자가 포함되어 있는 연산식에서는 증감 연산자의 위치에 따라 결과가 달라진다.

int x = 1;
int y = 1;
int result1 = ++x + 10; // x를 1 증가후에 2 + 10 연산
int result2 = y++ + 10; // 1 + 10 연산 후에 y를 1 증가

 

위 코드에서 result1과 result2에는 각각 12와 11이 저장된다. 그리고 최종 x와 y의 값은 2가 된다.

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

[JAVA] 비교 연산자  (0) 2024.09.03
[JAVA] 산술 연산자  (1) 2024.09.03
[JAVA] print 메소드  (0) 2024.09.03
[JAVA] 자동 타입 변환과 강제 타입 변환  (0) 2024.09.03
[JAVA] 기본형 타입  (0) 2024.09.03