ABOUT ME

95.12.1 / 취준생 / Java

Today
Yesterday
Total
  • CHAPTER 3. (2) 연산자의 종류 (형변환 포함) ★
    java/ㄴ CHAPTER 3. 연산자 2020. 3. 12. 09:06

    연산자 종류1
     ㄴ 산술 : + - * / % << >>                // 사칙 연산과 모듈러 연산(% 나머지) 
     ㄴ 비교 : > < >= <= == !=              // 크고 작음과 같고 다름을 비교 
     ㄴ 논리 : && || ! & | ^ ~                 // AND OR 로 조건을 연결 
     ㄴ 대입 : =                                   // 우변의 값을 좌변에 저장 
     ㄴ 기타 : (type) 형변환 연산자
                 ?: 조건 연산자                   // 특히 조건 연산자는 웹쪽에서 사용하는 경우 있음 (ex. cafe=="music" ? TV:tv)
                 instanceof    instanceof연산자 

    연산자 특징 
     - 비교, 논리 연산자는 결과가 true / false로 나옴 
     - 나눗셈 연산자 사용시 피연산자가 정수형인 경우, 나누는 수로 0을 쓸 수 없음 (사용시 에러)



    연산자 종류2 
     - 단항 : ++ --  // int a =10; a++; 
     - 이항 : + - * / = 
     - 삼항 : 값? 값:값 
     => 피연산자의 개수로 연산자를 분류하기도 함 


    왜 연산자 종류가 두개?
     ㄴ ex.
    +는 산술 연산자이면서 이항 연산자이기도 함
    ?: 는 조건 연산자이면서 삼항 연산자이기도 함

    왜 분류? 
     ㄴ 기능별, 개수별로 분류하는 이유 : 연산자마다 우선순위가 다르기 때문 



    증감 연산자 
     - 피연산자에 저장된 값을 1 증가 혹은 감소시킴 

    타입 
     - 전위형 : 값이 참조되기 전에 증가      (ex.++i;)
     - 후위형 : 값이 참조된 후에 증가         (ex. i++;)

    ★ 주의
    j = i++; // j=i 후에 i++ 
    j = ++i; // ++i 후에 j=i

    ㄴ System.out.println으로 출력시 결과가 다를 수 있음
     System.out.println(i++); // 5
     System.out.println(++i); // 6



    형변환 
     - 변수 또는 상수의 타입을 다른 타입으로 변환 

    ex. 
    double d = 85.4; 
    int score = (int)d; 
     => score 값은 85 

    ★ 주의 
     - 형변환 연산자는 그저 피연산자의 값을 읽어서 지정된 타입으로 형변환하고, 그 결과를 반환할 뿐 
     => 즉, 피연산자인 변수 d의 값은 형변환 후에도 변화가 없음



    비교 연산자 
     - 두 피연산자를 비교하는 데 사용되는 연산자 
     - 주로 조건문, 반복문에서 사용 
     - 연산결과는 오직 true와 false 


    비교 연산자 종류
     ㄴ 대소비교 연산  (ex. > < >= <= )
     ㄴ 등가비교 연산 
     == 두 값이 같으면 true, 아니면 false 
     != 두 값이 다르면 true, 아니면 false



    ★ 비교연산자==와 equals() 의 차이 
    System.out.println(a == b);
     = false 비교연산자는 객체의 주소값을 비교한다 (두 문자열이 완전히 같은지, 주소까지 같은지 비교)

    System.out.println(a.equals(b));
     = true String객체의 equals(다른문자열)은 문자열 값을 비교한다 (문자열 내용이 같은지만 비교) 

    => 내용이 같은지 비교할 땐 equals(), 두 문자열이 완전히 같은지 비교할 땐 == 



    논리연산자
     - 둘 이상의 조건을 연결하여 하나의 식으로 표현하게 해줌 // &&(AND)나 ||(OR)을 이용 

    종류 
     ㄴ && : 피연산자 양쪽 모두 true여야 결과가 true 
     ㄴ || : 피연산자 중 한쪽만 true여도 결과가 true 

    특징  
     - 대상도 논리여야 함


    ex. year > 5 || dis > 50000 
     ㄴ year > 5의 결과값도 boolean  
     ㄴ dis > 50000의 결과값도 boolean 
     ㄴ ||의 값도 boolean



    비교 연산자 &&와 & 차이? 
     ㄴ &&는 첫 항이 false면 뒤의 항 연산을 수행하지 않음 
        &는 뒤 연산가지 수행함
     => &&가 &보다 효율이 좋다 (|| 연산자 역시 | 보다 효율이 좋음)



    조건 연산자 
     - 삼항 연산자로 삼항 연산자는 조건 연산자 하나 뿐 
     = 첫 번째 피연산자인 조건식의 평가에 따라 다른 결과 반환 

    ex. result = (x > y) ? x : y; 
     ㄴ x가 y보다 클 경우 x 반환, 아니면 y 반환해서 result에 대입 

     


    복합 대입 연산자 
     - 대입 연산자는 다른 연산자와 결합하여 사용될 수 있음 

     ex.  i = i + 3;은 i += 3; 로 축약 가능

     

    'java > ㄴ CHAPTER 3. 연산자' 카테고리의 다른 글

    CHAPTER 3. (1) 연산자와 피연산자란?  (0) 2020.03.12
Designed by Tistory.