블로그 이미지
우디냥
"지금 잠을 자면 꿈을 꾸지만, 지금 공부하면 꿈을 이룰수있다"

calendar

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Notice

'연산자'에 해당되는 글 2

  1. 2007.04.12 연산자(1)
  2. 2007.04.11 주석과 연산자
└ᘐ 연산자
     => 데이터를 가공하는데 필요한 수학/논리 등의 처리를 지시하는 기호들
       
        1. 사칙연산자 
             - 수학적인 처리를 지시하는 연산자
              [형태]
                    + 더하기, - 빼기, * 곱하기, / 나누기, % 나머지
             * 참고 : 데이터를 연산하면 그 결과는 항상 큰 데이터 형식으로 탄생된다.
             - 사칙연산의 우선순위 : ( *, / ) -> ( + , - ) -> ( % )
                  ex) 5 + 2 * 10 의 경우는 25이다.
                                ①  
                            ②
             - 같은 순위의 연산자가 섞여있다면 왼쪽부터 오른쪽 방향으로 처리.    

        2. 부호연산자   
             - 부호를 변경할 때 사용하는 연산자
              [형태]
                    + 현재부호 유지, - 현재부호 변경
                 ex) int a = 5;
                           a =  -a;   -> a에는 -5가 기억된다.

        3. 문자열 결합 
             - 앞 문자열에 뒷 문자열을 나란히 붙여주는 연산을 말한다.
               [형태]  
                   " 문자열 " + " 문자열 "  
                 ex) "안녕" + "하세요" => "안녕하세요"
             * 참고 : + 기호 양쪽 어느 하나라도 문자열이면 항상 결과는 문자열로 탄생한다.
                     ex) int a = 10;
                          "안녕" + a => "안녕10"
                     ex2) int a = 10, b = 20;
                            a + "방가" + b => "10방가20"
                            a + b + "방가" => "30방가"
                            "방가" + a + b => "방가1020"

        4. 대입연산자 
             - 메모리(변수)에 데이터를 기억시키는 연산자
               [형태]  =
             * 참고 : 1. 모든 연산에 대하여 항상 우선순위가 마지막이다.
                        2. 메모리(변수)가 담을 수 없는 값이 오면 에러 발생.
                        3. 대입연산자가 중첩되면 오른쪽에서 왼쪽으로 처리.

        5. 증감연산자
             - 1씩 증가/감소 시키는 연산자
                [형태] ++, --
             * 참고 : 1. 자동적으로 대입이 이루어진다.
                        2. 다른 연산자와 같이 있으면 다른 연산자 보다 먼저 처리될 지,
                           나중에 처리할 지를 결정할 수 있다.
                            ex) ++a, --a  => 먼저 처리.
                                 a++, a--  => 나중에 처리.

        6. 비교연산자 
             - 두 수치의 크고 작은 관계를 결정하는 연산자
                [형태]
                    == 같다, <, <=, >, >=, != 같지않다
             * 참고 : 이 연산의 결과는 boolean 값으로만 탄생한다.
                ex) boolean a = 10 > 20; (o) -> a에는 false가 기억.
                      int a = 10 > 20; (x)
  
        7-1. 논리연산자1
            - 두개의 논리 값을 가지고 AND, OR, XOR 연산을 하는 것
               [형태]
                    && -> AND, || -> OR, ^ -> XOR
            * 참고 : 연산의 결과는 항상 boolean 값으로 나온다.
                  ex) if (a>10 && a<20) => a가 10보다 크고 20보다 작은 경우

        7-2. 논리연산자2
               [형태]
                   & , |, ^
           《논리연산자 1과 2의 차이점》
              - 1은 절삭연산을 하고 2는 절삭 연산을 하지 않는다.
                   * 절삭연산이란?  
                     -> AND연산이 중복된 경우... 앞쪽의 결과가 거짓이면 뒷쪽을 처리하지 않는다.
                         OR연산이 중복된 경우... 앞 쪽의 결과가 참이면 뒷쪽을 처리하지 않는다.
     
        8. 3항연산자 (=조건연산자)
             - IF 명령을 단순화 시킬 연산자로 조건에 따라 두가지 처리 중 하나만 처리하도록 하는
               연산자
                [형태]
                      조건식? 처리1 : 처리2;
                   (의미 - 조건식이 참이면 처리1만, 거짓이면 처리2만..)
     
        9. 비트연산자
              - 오직 정수에만 사용
                정수를 2진수로 변경하고 각 자리마다 AND, OR, XOR 연산을 하는 것.
                연산의 결과는 정수로 탄생한다.
                 [형태1]
                       &, |, ^  
                   ex) byte a = 10;                              a =  00001010
                         byte b = 7;                       =>     b = 00000111
                         byte c = (byte)(a&b);                 c = 00000010  -> 결과는 2
                   ex2) byte a = 9;                                 a = 00001001
                          byte b = 4;                      =>        b = 00000100
                          byte c  = (byte)(a|b);                  c = 00001101  ->결과는 13
                 [형태2]
                       ~ -> 모든 bit를 역으로 변경(NOT연산)
                    ex) byte a = 10;                  =>      a = 00001010
                         byte c = (byte)~a;                   c = 11110101
                                                                          └ 부호 bit ( 0 -> 양수, 1 -> 음수)

               * 음수를 10진수로 바꾸는 방법
                   1) 모든 bit를 뒤집는다.
                   2) -1을 한다.
                   3) 10진수로 바꾼다.
               * 음수인 10진수를 2진수로 바꾸는 방법
                   1) 양수로 생각하고 2진수로 바꾼다.
                   2) +1을 한다.
                   3) 모든bit를 뒤집는다.

          10. 쉬프트연산자
                - 2진수 상태에서 각 자리를 특정 방향으로 이동 시키는 연산자
               [형태]  
                    >> (오른쪽으로 이동 - 빈공간을 부호 bit로 채운다.)
                    << (왼쪽으로 이동)
                    >>> (오른쪽으로 이동 - 빈공간을 0으로 채운다.)

          11. 복합대입연산자
                - 자기 자신에게 연산을 한 후 다시 자기에게 기억시키는 연산.
               [형태] 변수 연산자 = 값;

         12. CAST연산
                - data의 형태를 임시로 변경하는 연산자
                  ex) int a = (int)(3.4 + 7.8)  -> a = 11
                       int b = (int)3.4 + (int)7.8 -> b = 10


         

      
posted by 우디냥
TAG 연산자

└ᘐ 주석
     -> program 실행과는 아무 관계 없이 only program 의 가독성 만을 위하여 설명 붙이는 것.
     
      1)  //  -> 줄 주석
                    (줄 주석이후 한 줄을 설명으로 처리)
      2) /* ~ */  -> 두 부호 사이의 모든 내용을 주석으로 인정
      3) /** ~ */  -> 2와 동일하나 도움말을 만드는 특수 기능 포함

└ᘐ 연산자
      - 연산자의 종류 [ +, -, *, %, /]
      - 연산시 주의사항  
              --> 형태가 다른 data의 연산은 큰 형태로 탄생
                   ex) 3.14 * 10 = 31.4
             (double)┘     └(int)└(double)

└ᘐ 복합연산(= 누적연산)
      - 복합 연산자의 종류 [+=, -=, *=, /=, %=]    
     [형식]
          변수  연산자= 값;
        ex) a = a + 2; -> a += 2;

└ᘐ 증가 연산자와 감소 연산자
      - 증가연산자(++)
          -> 1씩 증가시키는 연산자
              대입 명령이 없어도 자동 기억된다.
              다른 연산자와 같이 존재 할 때┬ 다른 연산자보다 먼저 실행 (++a)
                                                       └ 다른 연산자보다 나중에 실행 (a++)
               ex) a = 5 일 때 ┬ b = ++a;  -> b에 값은 6
                                    └ b = a++;  -> b에 값은 5

      - 감소연산자(--)
          -> 1씩 감소시키는 연산자
              증가연산자와 같다.
      

posted by 우디냥
prev 1 next