Programming/Java

연산자

Gaffel 2011. 1. 5. 12:00

* 비교연산자의 결과값은 항상 true 또는 false 인 논리값(boolean)이어야 한다.



1.
class OpenEx1 {
   public static void main(String[] args) {
      int a = 10;
      int b = 20;   
      boolean result = a > b;
      System.out.println(result);
   }
}

False


* 비트연산자는 연산의 대상이 되는 값들을 내부적으로 bit단위로 변경한 후 연산을 수행한다.

2.
class OpenEx1 {
   public static void main(String[] args) {
      int a = 22;   // 10110
      int b = 13;   // 01101
      System.out.println(a & b);   // 비트단위의 AND
      System.out.println(a | b);   // 비트단위의 OR
      System.out.println(a ^ b);   // XOR (배타적 OR)
   }
}

00100 = 4
11111 = 31
11011 = 27


* 논리연산자는 true나 false인 논리 값을 가지고 다시 한번 조건 연산하는 연산자이다.



3.
class OpenEx1 {
   public static void main(String[] args) {
      int a = 10;
      int b = 20;
      boolean result = a > 0 && a < b && a > b;   // 논리곱
      System.out.println(result);
   }
}

False


4.
class OpenEx1 {
   public static void main(String[] args) {
      int a = 10;
      int b = 20;
      boolean result = a > 0 || a < b || a > b;   // 논리합
      System.out.println(!result);   // 부정
   }
}

True


* 삼항연산자는 하나의 조건을 정의하여 참값 혹은 거짓값을 리턴한다.

조건식 ? 참값 : 거짓값


5.
class OpenEx1 {
   public static void main(String[] args) {
      int a = 10;
      int b = 20;
      String s = a > b ? "크다" : "작다";
      System.out.println(s);
   }
}


6.
class OpenEx1 {
   public static void main(String[] args) {
      int a = 10;
      int b = 20;
      String s = a <b ? a>5 ? "5보다 크다"  : "5보다 작다" : "b";
      System.out.println(s);
   }
}

5보다 크다