산술연산자, 증감연산자, 복합대입연산자, 비교연산자, 논리연산자, 삼항연산자

2024. 10. 11. 11:24java

산술연산자(Arithmetic):

이항 연산자, 우선순위가 일반 수학과 동일함.

  •  + : 덧셈
  •  - : 뺄셈
  • * : 곱셈
  • / : 나눗셈
  • %: 모듈러(Modular) → 나눗셈에서의 나머지를 구함
우선순위 연산자
1   *   ,   /   ,   %
2 +   ,    -

 

만약, 연산 우선순위를 지정하고 싶다면 () 괄호를 이용해서 묶어주어야만 의도한 결과를 출력 가능

 

 

 

증감연산자(InDecrease):

단항연산자로 한 번에 1씩 증가(더하거나) / 감소(빼거나)하는 연산을 함

먼저 증감을 할건지, 나중에 증감을 할지에 따라서 연산자의 위치가 달라짐

 

 [표현법]

  • ++ : 값을 1증가 시키는 연산자
  •  -- : 값을 1감소 시키는 연산자

[연산자의 위치]

  • 전위연산: ++값, --값     → 먼저 값을 증가하고 작업을 처리                    ex) ++i
  • 후위연산: 값++, 값--     → 먼저 값을 처리하고 나서 증가하거나 감소     ex) i++

 

// 전위연산

public void method1() {

 

int a = 10;

int b = ++a;

 

System.out.println("a: " + a); // 11

System.out.println("b: " + a); // 11

 

 

 

int num = 20;

int result = ++num * 3;

System.out.println(num); // 21

System.out.println(result); // 63

 

}

// 후위 연산

public void method2() {

 

int a = 10;

int b = a++; // 변수선언

 

System.out.println("a: " + a); // 11

System.out.println("b: " + b); // 10

 

int c = 20;

int d = c--;

 

System.out.println("c: " + c); // 19

System.out.println("d: " + d); // 20

 

int num = 20;

int result = num++ * 3;

 

System.out.println(num); // 21

System.out.println(result); // 60

 

} 



 

복합대입연산자(Cmpound):

: 다른 산술연산자와 대입연산자가 결합한 것

  자기 자신의 값과 해당 산술연산을 한 후 그 결과를 자기 자신에게 다시 대입하는 용도 

 

[표현법]

  • +=
  • -+ 
  • *=
  • /=
  • %=

 

 

비교연산자(Comparison):

  • 두 개의 값을 가지고 비교하는 이항 연산자
  • 비교연산을 한 결과 → 참인 경우 true  / 거짓일 경우 false
  • 특정 조건을 제시할 수 있는 조건문에서 조건식으로 사용 됨

 

[종류]

  • 동등비교: 일치함을 비교
     a == b: a와 b가 일치합니까?
     a != b: a와 b가 일치하지 않습니까?

  • 대소비교: 크고 작음을 비교 
    a < b: a가 b보다 작습니까?
    a > b: a가 b보다 큽니까?
    a <= b: a가 b보다 작거나 같습니까?
    a >= b: a가 b보다 크거나 같습니까?
    결과값은 true / false

public void method1() {

 

int a = 10;

int b = 25;

 

System.out.println("a < b: " + (a < b));             // true

 

System.out.println("a == b: " + (a == b));       // false

 

boolean result = a != b;

System.out.println(result);                             // true

// 무슨 값이 필요해? a

// 무슨 연산 해야해? -> 비교연산

// a를 2로 나눴을 때 나머지가 0인가?

System.out.println("a가 짝수입니까? :" + (a % 2 == 0));                  // true

 

// 무슨 값이 필요해? b

// // 무슨 연산 해야해? -> 비교연산 b를 2로 나눠서 나머지를 비교

System.out.println("b가 홀수가 아닙니까? :" + (b % 2 != 1));          // false

 

 

논리연산자(Logical): &&    ||

두 개의 논리값을 연산하는 연산자

 

  •  AND(&&) : 논리값 && 논리값
    - 두 개의 조건이 모두 true일 경우 true
A B A and B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE

 

  • or(||) : 논리값 ㅣㅣ 논리값
    - 두 개의 조건 중 하나가 true일 경우 true
A B A and B
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE

 

 

 

삼항연산자 (Triple):

피 연산자가 3개 -> 값 3개와 연산자 1개로 이루어짐(조건문 형식으로 쓰임)

조건문: 값에 따라 연산을 처리하는 방식

결과 값이 true 일 경우 첫 번째 문장을 처리

결과 값이 false 일 경우 두 번째 문장을 처리

 

[ 표현식 ]

조건식 ? 실행문1 : 실행문2

char oddEven = (num % 2 != 0) ? '홀' : '짝';

 

public void method2() {

// 사용자에게 값을 입력받아 입력받은 정수가 홀 / 짝 판별해서 출력

Scanner sc = new Scanner(System.in); 

 

System.out.println("숫자를 입력해주세요 > "); 

int num = sc.nextInt(); 

 

// num % 2 != 0 처리 결과에 따라 변수에 다른 값을 대입하고 싶음 '홀' : '짝'

// num % 2 == 1

// num % 2 == 0

 

char oddEven = (num % 2 != 0) ? '홀' : '짝';

System.out.println(num + "은(는) " + oddEven + "수 입니다."); 

}