본문 바로가기

컴퓨터언어/JAVA(자바)

[JAVA강좌] 11강 복합대입연산자와 증감연산자

728x90
반응형

 

 

 

 

 

- 이번에는 숫자 관련 연산자입니다. 

- 복합대입연산자는 기존 변수값에 사칙연산자를 처리해서 다시 대입하는 연산자입니다.

- 증감연산자는 기존 변수값에 1씩 증가하거나 감소하게 하는 연산자입니다.

- 이번 강좌에서는 복합대입연산자와 증감연산자를 정리해 보겠습니다. 

 

 

 

 

 

 

 

 

1. 복합대입연산자


- 복합대입연산자란 산술연산자와 대입연산자를 합쳐서 만든 연산자입니다.

- 그래서 좌변과 우변의 자료형이 전부 숫자관련 자료형이어야 합니다.

- 예시로 보자면 더하기 연산자인  + 와 대입연산자인  = 를 합쳐서 만든 것입니다. 

- 그래서  += 로 사용하는 것을 말합니다. 이때 연산자 사이는 공백 없이 작성해야 합니다. 

- 더하기 대입연산자는 좌변의 변수에 우변의 값을 추가해서 대입합니다. 

- 기본적인 개념을 먼저 보고 가겠습니다. 

a = a + 10;

a += 10;

 

- 첫번째 줄에 적은 코드는 a라는 변수에 10을 더한 후 다시 대입하라는 것이죠?

- 우리가 수학시간에는 이렇게 작성했습니다. 

- 하지만  a를 두 번 쓰기 때문에 코드가 길어집니다.

- 이런 코드를 줄이기 위해 복합대입연산자가 나왔다고 보면 됩니다.

- 그래서 컴퓨터언어에는 보통 두 번째 줄과 같이 작성을 합니다. 

- 기존 a변수에 10이라는 값을 추가 대입해라 이런 뜻입니다. 

 

 

 

1) 복합대입연산자 정리

연산자 설명 예시
+= 좌변의 변수에 우변의 값을 추가 대입 num += 10;
-= 좌변의 변수에 우변의 값을 빼서 대입 num -= 10;
*= 좌변의 변수에 우변의 값을 곱해서 대입 num *= 10;
/= 좌변의 변수에 우변의 값을 나눠서 대입 num /= 10;
%= 좌변의 변수에 우변의 값을 나눈 후 나머지를 대입 num %= 10;

** 실제로는 비트연산자와 대입연산자를 합친 복합대입연산자도 있습니다. 그것은 추후 비트연산자와 함께 보겠습니다.

- 복합대입연산자는 대입이 들어가기 때문에 기존 변수가 변경되는 겁니다.

- 대입연산자는 우선순위가 제일 낮은 연산자입니다. 모든 연산이 끝난 후 마지막 결과값으로 변수에 대입합니다. 

- 그래서 복합대입연산자도 마찬가지로 우선순위가 제일 낮습니다. 

 

 

- 이제 예제를 실습해 보겠습니다. 

- 패키지(ch10_operator)과 클래스(Ex04_CompoundAssignmentOperator.java)를 추가해 주세요. 

- 기초적 작업을 모르는 분은 아래 주소를 클릭하고 보고 오세요.

https://ossam5.tistory.com/613

 

[JAVA강좌] 1강 JAVA변수와 자료형

1. 프로젝트 패키지 생성 및 자바 파일 생성 - 앞으로의 강좌에서는 패키지 생성 및 자바 파일 생성하는 것을 보여드리진 않겠습니다. - 지금 잘 확인해 주시기 바랍니다. 1) 프로젝트 패키지 생성

ossam5.tistory.com

 

 

 

 

## 복합대입연산자 실습1 - Ex04_CompoundAssignmentOperator.java

package ch10_operator;

public class Ex04_CompoundAssignmentOperator {

	public static void main(String[] args) {
		//변수선언
		int num = 10;
		
		System.out.println(num); //기존 num : 10
		System.out.println(num += 10); //기존 num에 10추가대입 : 20
		System.out.println(num -= 10); //기존 num에 10빼서대입 : 10
		System.out.println(num *= 10); //기존 num에 10곱해서대입 : 100
		System.out.println(num /= 10); //기존 num에 10나눠서대입 : 10
		System.out.println(num %= 3); //기존 num에 3나눠서 나머지를 대입 : 1
	}
}

 

- 코드에 대한 설명은 주석으로 처리를 했습니다. 

- 주의할 것은 없기 때문에 주석을 잘 정리해 주세요.

 

 

 

## 복합대입연산자 결과1 - Ex04_CompoundAssignmentOperator.java

- 결과 역시 위의 주석에 적은 대로 그대로 나오는 것을 확인할 수 있습니다.

 

 

 


 

 

 

 

2) 연결대입연산자

- 다른 복합대입연산자는 모두 숫자 관련으로 처리가 됩니다.

- 하지만 산술연산자 중 더하기 연산자는 연결연산자도 됩니다.

- 이 내용을 잘 모르는 분은 아래 주소 가서 확인을 하고 오세요.

https://ossam5.tistory.com/625

 

[JAVA강좌] 10강 연산자 개념과 산술연산자

- 연산자(operator)는 연산에 사용하는 기호를 말합니다. - 가장 쉽게 생각하면, 수학시간에 배운 더하기, 빼기, 곱하기, 나누기 등을 하는 기호입니다. - 컴퓨터 언어들이 다루는 연산자는 매우 많

ossam5.tistory.com

- 그래서 자료형이 String이라면 계속 연결해서 대입해 줍니다.

 

 

 

## 복합대입연산자 실습2 - Ex04_CompoundAssignmentOperator2.java

package ch10_operator;

public class Ex04_CompoundAssignmentOperator2 {

	public static void main(String[] args) {
		//변수 선언
		String text = "대한";

		System.out.println(text); //대한
		
		text += "민국";
		
		System.out.println(text); //대한민국
		
		text += "만세";
		
		System.out.println(text); //대한민국만세
	}

}

 

- 기존 text값에는 대한을 대입했습니다.

- 그 후 민국, 만세를 추가대입한 거죠? 

- 문자열끼리를 사칙연산자 불가능하기 때문에 문자열로 연결이 됩니다.

- 그래서 기존 변수 값이 변경돼서 대한, 대한민구, 대한민국만세로 들어가게 됩니다.

 

 

 

 

## 복합대입연산자 결과2 - Ex04_CompoundAssignmentOperator2.java

- 결과가 설명대로 도출되는 것이 확인됩니다. 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

2. 증감연산자


- 증감연산자는 1씩 증가 혹은 감소하는 연산자입니다.

- 실제로는  a +=1; 과  a -= 1; 과 같은 개념입니다. 

- 하지만 코딩 시 반복문 등에서 워낙 1씩 증가하거나 감소하는 경우가 많아 따로 나온 연산자입니다.

- 증감연산자는 일항(단항) 연산자로 항이 1개입니다. 

 

 

 

1) 증감연산자 정리

연산자 설명 예시
++변수 해당 줄에서 변수값을 1씩 바로 증가 ++num
변수++ 다음 줄에서 변수값을 1씩 증가 num++
--변수 해당 줄에서 변수값을 1씩 바로 감소 --num
변수-- 다음 줄에서 변수값을 1씩 감소 num--

** ++은 실무에서 뿔뿔이라고 보통 읽고, --는 마마라고 읽습니다. 몰라도 크게 관계는 없습니다.

- 위에서 보면 연산자를 앞에 쓰는 경우와 뒤에 쓰는 경우가 좀 다른 것이 확인됩니다.

- 하지만 아직은 2가지 경우를 언제 나눠 쓰는지 설명하기엔 배운 내용이 부족합니다.

- 추후 강의에서 설명이 나온다면 다시 언급하겠습니다.

- 지금은 ++은 1씩 증가, --는 1씩 감소한다고 기억하면 되겠습니다. 

 

 

 

## 증감연산자 실습1 - Ex05_IncrementDecrementOperator.java

package ch10_operator;

public class Ex05_IncrementDecrementOperator {

	public static void main(String[] args) {
		int num = 10;
		
		System.out.println(num++); //10 - 다음줄부터 1이 증가
		System.out.println(num); //11 - 다음 줄이어서 1이 증가된 상태
		System.out.println(++num); //12 - 해당줄에서 바로 1이 증가
		System.out.println(num--); //12 - 다음줄부터 1이 감소
		System.out.println(num); //11 - 다음 줄이어서 1이 감소된 상태
		System.out.println(--num); //10 - 해당줄에서 바로 1이 감소
	}
}

 

- 코드에 주석으로 설명을 달아놨으니 읽어보면 됩니다.

 

 

 

## 증감연산자 결과1 - Ex05_IncrementDecrementOperator.java

- 위의 코드 주석 결과대로 잘 나오는 것이 확인됩니다. 

 

 

 

 

 

 

 

 

728x90
반응형