4. Java 강좌 연산자 1

2015.02.02 20:08
저자 : Tailer

연산자

 

오늘은 연산자에 대해서 배워보도록 하겠습니다.



연산자의 종류는 위와 같이 여섯 가지인데, 우선순위는 위의 단항 연산자가 가장 높습니다.


* 단항 연산자 중 (변수타입)은 이전 포스팅에서 배웠던 형 변환을 말하며, +와 -는 수의 앞에 음수와 양수를 나타내는 것입니다.

연산자의 연산은 우선순위에 의해 실행되며, 같은 우선순위의 연산은 연산 방향을 따르게됩니다.


연산 방향이 뭔지 이해하기 힘들 수 있으니 어떤 건지 살펴보겠습니다.


x = y = 2 + 6 + 3 * 10

위 수식의 연산 순서는 어떻게 될까요?


연산 순서는 아래와 같습니다.


1. 3 * 10

2. 2 + 6

3. 8 + 30

4. y = 38

5. x = y(38)


연산 순서를 보면 산술 연산자 중 곱셈이 먼저, 그리고 덧셈은 좌측에서 우측으로, 대입 연산자는 우측에서 좌측으로 연산합니다.


연산자의 우선순위나 방향은 우리가 흔히 알고 있는 사칙연산과 크게 다르지 않아서 상식적으로 풀어나가면 대부분 해결이됩니다.

하지만 and(&)와 or(|)이 함꼐 붙어있는 연산 등 연산 순서가 확실하지 않다면 괄호를 사용해서 묶어주는 편이 보기에도 편하고,

후에 코드를 유지 보수 하기에도 용이합니다.


증감 연산자


증감 연산자는 boolean형을 제외한 기본형 변수에 사용 가능하며, 피연산자의 좌측과 우측에 모두 사용할 수 있습니다.



class Noname1

{

public static void main(String[] args)

{   

int a = 10;

int b = 10;

int c = 0;

System.out.println(a++ +"\t"+ a); // 1. a 출력 후 a값 1 증가

a = 10;

System.out.println(++a +"\t"+ a); // 2. a값 1 증가 후 a 출력

c = b++; // 3. c에 b 대입 후 b값 1 증가

System.out.println(b +"\t"+ c);

}

}

 

주석을 달아 놓았지만, 이해가 어려울 수 있으므로 한번 더 설명드리겠습니다.


먼저 첫 번째에 있는 a++는 a를 출력한 후 연산(a = a + 1)을 합니다.

결과는 a++(10), a(11)이 나오겠죠.


두 번째로 다시 a는 10으로 초기화를 해준 뒤,

++a를 통해서 연산(a = a + 1)를 먼저 한 후 출력합니다.

결과는 ++a(11), a(11)이 나옵니다.


세 번째로 c = b++인데요,

c = b++ 또한 첫 번재와 비슷하게 먼저 대입을 한 뒤 연산(b = b + 1)을 합니다. b(11), c(10)


처음 접하시는 분들은 이런 개념이 이해하기 힘들 수 있지만 천천히 읽어보시면 이해하실 수 있으니,

한번에 이해가 안된다면 여러번 읽어보세요!

'Programming > Java' 카테고리의 다른 글

6. Java 강좌, 연산자 3  (0) 2015.02.10
5. Java 강좌, 연산자 2  (2) 2015.02.08
4. Java 강좌 연산자 1  (2) 2015.02.02
3. Java 강좌, 변수(Variable) 2  (0) 2015.01.29
2. Java 강좌, 변수(Variable) 1  (6) 2015.01.26
1. Java 강좌, 자바를 시작하기 전에...  (8) 2015.01.25
1 2 3 4 5 6 7 8 9 10