본문 바로가기
카테고리 없음

이론_3.연산

by yoon9i 2024. 3. 6.
/*
    <연산자>

    -연산자(Operator)는 하나 이상의 값(들)을 연산하기 위해 사용한다.
    -아래 우선 순위(숫자가 낮을 수록 높은 우선 순위)에 따라 차례로 연산된다.
    -동일한 타입끼리 연산이 가능하며, 두 피연산자의 타입이 다를 경우
    자동형변환이 가능한경우에만 연산할수 있다.
    * 자동형변환
    ex) 10 / 3D  ; int / double
    : 범위가 큰 double 범위 안에 int 범위가 들어가야 자동으로 형변환이가능

    [연산자종류]======================================

    -괄호(, ) 로 특정 연산을 묶어낼 경우 우선 순위를 무시하고 우선 연산한다.


    -배열 요소 연산자 []
    :배열 요소 연산자 []는 a[x] 꼴에서 a 배열의 x번째 요소이다.

    -객체멤버연산자 .
    :객체멤버연산자 . 은 a.b 꼴에서 a 객체의 멤버 b에 접근한 것이다.

    * ".은 연산자이다" : c에서 . 가져오는것과 같음

    -------------------------------------------------

    -전위 증가 연산자 ( ++ )
    :증가 연산자'++' 는 ++a 꼴에서 a에 1을 더한다.
    단,전위 증가 연산자는 해당 구문이 실행되기전 연산을 마친다.

    -전위 감소 연산자 ( -- )
    :감소연산자'--' 는 --a 꼴에서 a에 1을 뺀다.
    단,전위 감소 연산자는 해당구문이 실행되기전 연산을 마친다.

    -후위 증가 연산자 (++)
    :증가 연산자'++' 는 ++a 꼴에서 a에 1을 더한다.
    단,전위 증가 연산자는 해당 구문이 실행이 끝난 뒤 연산한다.

    -후위 감소 연산자 (--)
    :증가 연산자'--' 는 --a 꼴에서 a에 1을 뺀다.
    단,전위 증가 연산자는 해당 구문이 실행이 끝난 뒤 연산한다.

-----------------------------------------

    -양의 부호 연산자 (+)
    : 부호연산자 '+' 는 +a 꼴에서 a를 양수인것으로 한다.

    -음의 부호 연산자 (-)
    : 부호연산자 '-' 는 -a 꼴에서 a를 음수인것으로 한다.
      단, a가 음수인 경우 양수로 한다.

-------------------------------------------------

    -논리 부정(반전)연산자 (!)
    :논리 부정 연산자 '!' 는 !a 꼴에서 a를 부정(반전)한다.

    -객체 생성 연산자( new )
    :객체 생성 연산자 'new' 는 new T 꼴에서 T 타입을 객체화한 객체이다.

    -형변환 연산자(T)
    :형 변환 연산자(T)는 (T) a 꼴에서 a의 타입을 T로 변환한다.
    (int)a : a를 int 형으로,(double)a : a를 double 형으로...

------------------------------------------------------

    -더하기 산술 연산자( + )
    : 산술연산자 '+' 는 a + b 꼴에서 a 와 b의 값을 더한다.
      만약, 피연산자 중 한개 이상이 문자열 (String) 타입인 경우 문자열 합치기(String Concatenation)
      를 수행한다. 이는 문자열이 아닌 다른 어떠한 값을 문자열로 변환하여 문자열과 문자열을 이어 붙이는 것과 동일하다.

    -빼기 산술 연산자( - )
    : 산술연산자 '-' 는 a - b 꼴에서 a 에서 b를 뺀다.

    ※ '+' 와 '-' 는 동률의 우선순위를 가진다.


    -곱하기 산술 연산자 ( * )
    : 산술연산자 '*' 는 a * b 꼴에서 a와 b를 곱한 값이다.

    -나누기 산술 연산자 ( / )
    : 산술연산자 '/' 는 a / b 꼴에서 a를 b로 나눈 몫이다.
    ex) 4 / 2 = 2

    -나머지 산술 연산자 ( % )
    :산술연산자 '%' 는 a % b 꼴에서 a를 b로 나눈 나머지이다.
    -a과 짝수인지 홀수인지 여부를 찾기위해서 사용 (0:짝수, 1:홀수)

     ※ '*' , '/' 및 '%' 는 동률의 우선순위를 가진다.

--------------------------------------------------------

    -초과 비교 연산자( > )
    :비교연산자 '>' 는 a > b 꼴에서 a가 b보다 큰가에 대한 여부이다.

    -미만 비교 연산자 ( < )
    :비교연산자 '<' 는 a < b 꼴에서 a가 b보다 작은가에 대한 여부이다.
    ex)boolean 으로 반환해줌 true or false

    -이상 비교 연산자 ( >= )
    :비교연산자 '>=' 는 a >= b 꼴에서 a가 b 이상인가에 대한 여부이다.

    -이하 비교 연산자 ( <= )
    :비교연산자 '<=' 는 a <= b 꼴에서 a가 b 이하인가에 대한 여부이다.

    ※ '>','<','>=' 및 '<=' 는 동률의 우선순위를 가진다.

    -instanceof 연산자
    :instanceof 연산자는 a instanceof T 꼴에서 객체 a가 T 타입으로 형변환
    될수 있는가의 여부이다.

-----------------------------------------------------------------

    -동등 비교 연산자 ( == )
    :비교연산자 '==' 는 a == b 꼴에서 a 와 b의 (스택)값이 같은가에 대한 여부이다.

    -부등 비교 연산자 ( != )
    :비교연산자 '!=' 는 a != b 꼴에서 a와 b의 (스택)값이 다른가에 대한 여부이다.

    ※ '==' 및 '!=' 는 동률의 우선순위를 가진다.

-----------------------------------------------------------------

    -AND 논리 연산자 ( && )
    :논리연산자 '&&' 는 a && b 꼴에서 a 와 b가 모두 참(true) 인가에 대한 여부이다.

    -OR 논리 연산자 ( || )
    :논리연산자 '||' 는 a || b 꼴에서 a 와 b중 하나 이상이 참(true) 인가에 대한 여부이다.

    ※AND 논리연산자가 우선순위가 높다.
    a && b  ,a || b -> boolean 이어야한다.

-------------------------------------------------------------------------

    -삼항 연산자 (...?... : ...)
    :삼항연산자 '...?... : ...' 는  a ? t : f 꼴에서 a 가 참이면 t를, 거짓이면 f 이다.

----------------------------------------------------------------

    -대입연산자( = )
    :대입연산자 '=' 는 a = b 꼴에서 b 의 값을 a 에 대입한다.

    -더하기 복합 대입 연산자 ( += )
    :대입연산자 '+=' 은 a += b 꼴에서 a 에서 b 를 더한 뒤 a에 대입한다.
    a = a + b 꼴과 같다.

    -빼기 복합 대입 연산자 ( -= )
        :대입연산자 '-=' 은 a -= b 꼴에서 a 에서 b 를 뺀 뒤 a에 대입한다.
        a = a - b 꼴과 같다.

    -곱하기 복합 대입 연산자 ( *= )
        :대입연산자 '*=' 은 a *= b 꼴에서 a 와 b 를 곱한 뒤 a에 대입한다.
        a = a * b 꼴과 같다.

    -나누기 복합 대입 연산자 ( /= )
        :대입연산자 '/=' 은 a /= b 꼴에서 a 를 b 로 나눈 몫을 a에 대입한다.
        a = a / b 꼴과 같다.

    -나머지 복합 대입 연산자 ( %= )
        :대입연산자 '%=' 은 a %= b 꼴에서 a 를 b 로 나눈 나머지을 a에 대입한다.
        a = a % b 꼴과 같다.

    ※'=','+=','-=','*=','/=' 및 '%='는 동률의 우선순위를 가진다.




*/