사용자 도구

사이트 도구


study:java:javachobo:ch3

문서의 이전 판입니다!


연산자

연산자(Operator)란?

연산자(Operator) 어떠한 기능을 수행하는 기호(+,-,*,/ 등)
피연산자(Operand) 연산자의 작업 대상(변수,상수,리터럴,수식)
  1. 어떠한 기능을 수행하는 기호를 말합니다.
  2. 예를 들면 +는 덧셈’이라는 기능을 수행하는 기호죠.
  3. 피연산자는 연산자의 작업대상을 말합니다.
  4. 예를 들어 a + b라는 식이 있다고 할 때,
    <color blue>+는 연산자</color>이고, 연산자가 덧셈을 수행할 대상인 <color red>a와 b는 피연산자</color>입니다.

연산자의 종류

단항연산자 : + - (타입) ++ – ~ !
이항연산자 산술 : + - * / % << >> >>>
비교 : > < >= <= == !=
논리 : && || & ^
삼항연산자 ? :
대입연산자 =

연산자 우선순위

  1. 괄호의 우선순위가 제일 높다.
  2. 산술 > 비교 > 논리 > 대입
  3. 단항 > 이항 > 삼항
  4. 연산자의 연산진행방향은 왼쪽에서 오른쪽이다.( → )
    예외적으로 단항,대입연산자만 오른쪽에서 왼쪽( ← ) 이다.

  1. 연산자의 우선순위를 정리한 표입니다.
  2. 우선순위가 높은 것 부터 낮은 것의 순으로 되어 있습니다.
    같은 줄의 연산자들은 우선순위가 같습니다.
  3. 우선순위가 높은 것 부터 낮은 것 순으로 나열하면
    1. 단항, 이항, 삼항, 대입 연산자의 순입니다.
    2. 이항 연산자 중에는 산술, 비교, 논리 연산자의 순입니다.
  4. 우선순위 뿐만아니라 연산방향에 대해서도 알아두셔야 합니다.
  5. 연산방향은 같은 우선순위의 연산이 있을때 연산을 수행하는 방향을 말합니다.
  6. 단항과 대입연산자를 제외하고는 연산진행방향이 오른쪽에서 왼쪽입니다

예제

단항 > 이항 -x + 3
곱셈,나눗셈 > 덧셈, 뺄셈 x + 3*y
산술 > 비교 x+3 > y-2
비교 > 논리 x>3 && x<5
대입은 항상 맨 끝에 int i = x + y*3

주의사항

  1. <<, >>, >>>는 덧셈연산자보다 우선순위가 낮다.
    <color blue>x << 2 + 1</color> : <color red>x << (2 + 1)</color> 과 같다.
  2. ||, |(OR)는 &&, &(AND)보다 우선순위가 낮다.
    <color blue>x < -1 || x > 3 && x < 5</color> : <color red>x < -1 || (x > 3 && x < 5)</color> 와 같다.

증감연산자(++,--)

증가연산자(++) 피연산자의 값을 1 증가시킨다.
감소연산자(–) 피연산자의 값을 1 감소시킨다.
  1. int i = 5 , j = 0 ;
전위형 j = ++i; ++i;
j = i;
값이 참조되기 전에 증가시킨다 j=6
i=6
후위형 j = i++; j = i;
++i;
값이 참조된 후에 증가시킨다 j=5
i=6

부호연산자(+,-)와 논리부정연산자

부호연산자(+,-) ‘+’는 피연산자에 1을 곱하고
‘-’는 피연산자에 -1을 곱한다
논리부정연산자(!) true는 false로, false는 true로
피연산자가 boolean일 때만 사용가능

비트전환연산자(~)

  1. 정수를 2진수로 표현했을 때, 1을 0으로 0은 1로 바꾼다.
  2. 정수형에만 사용가능.
  3. 10 → -10
    ~10 → -11

이항연산자의 특징

<color blue> 이항연산자는 연산을 수행하기 전에 피연산자의 타입을 일치시킨다. </color>

  1. int보다 크기가 작은 타입은 int로 변환한다.
    1. byte, char, short → int
  2. 피연산자 중 표현범위가 큰 타입으로 형변환 한다.
    1. byte + short → int + int → int
    2. char + int → int + int → int
    3. float + int → float + float → float
    4. long + float → float + float → float
    5. float + double → double + double → double

나머지 연산자(%)

쉬프트 연산자(<<,>>,>>>)

비교연산자(>,<,>=,<=,==,!=)

비트연산자(&,|,^)

논리연산자(&&,||)

삼항연산자(? :)

대입연산자(=,op=)

study/java/javachobo/ch3.1264864185.txt.gz · 마지막으로 수정됨: 2010/01/31 00:09 저자 starlits