JAVA 0주차 - 연산자

딩딩당당·2022년 11월 8일
0

자바 공부

목록 보기
2/3

1. 연산자의 종류

연산자는 필요로 하는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분된다.

*예시

  • 단항 연산자
    ++i (증감식)
  • 이항 연산자
    x + y;
  • 삼항 연산자
    (sum > 90) ? "A" : "B";

1-1. 단항 연산자

단항 연산자는 피연산자가 하나인 연산자이다. 부호연산자(+, -), 증감 연산자 (++, --)
논리 부정 연산자(!)가 이에 해당한다.

  • 부호 연산자
    부호 연산자는 양수 및 음수를 표시하는 +, -를 뜻한다.
    ( int i = +100, int k = -100 )
  • 증감 연산자
    증감 연산자는 변수의 값을 1씩 증가시키거나 감소시킬 때 사용한다 주로 반복문에서 사용되며 대표적인 예로는 이중 for문을 이용한 구구단이 있다.
  • 논리 부정 연산자
    논리 부정 연산자는 true를 false로 false를 true로 변경한다.

1-2. 이항 연산자

이항 연산자는 피연산자가 2개인 연산자를 뜻하며, 여기에는 산술 연산자, 문자열 결합 연산자, 비교 연산자, 논리 연산자, 대입 연산자 등이 있다.

  • 산술 연산자
    산술 연산자는 단순 계산을 하는 연산자들이다. 단, 소수점 이하의 값을 얻으려면
    타입을 double 또는 float으로 지정해줘야 한다.

  • 문자열 결합 연산자
    문자열 결합 연산자는 두 문자열을 서로 연결시켜주는 역할을 한다.
    *예시

    String str1 = "JAVA";
    String str2 = str1 + "공부";
    // 출력결과 JAVA공부

  • 비교 연산자
    내가 생각했을 때 가장 중요하고 익숙해져야하는 연산자라고 생각한다. 숫자 관련 로직을 짜야할 때 반드시 사용했던 것 같다. 두 값이 같은지 검사하거나, 어느 한쪽이 크고 작은지를 검사하기 때문에 breake 조건을 걸거나 for문이 끝나는 조건을 걸기 용이하다.

*아래는 이중 for문과 비교 연산자를 이용해서 만든 구구단 예시이다.

 public static void main(String[] args) {

        int i = 0;
        int k = 0;

        for (i = 2; i<=9; i++){
            for (k = 1; k<=9; k++){
                System.out.printf("%d X %d = %d\n", i, k,i*k);
            }
        }
  // 출력 결과
  2 X 1 = 2
  2 X 2 = 4
  .
  .
  .
  .
  .
  9 X 9 = 81
  • 논리 연산자
    논리 연산자는 논리곱(&&), 논리합(||), 배타적 논리합(^), 논리 부정(!)으로 이루어져 있다. 논리 연산자는 논리 타입인 boolean 타입에만 사용할 수 있다.
    논리 곱은 둘 다 true일때 true
    논리 합은 하나라도 true이면 true
    배타적 논리합은 하나만 true일때 true
    논리 부정은 피연산자의 논리값을 바꾼다.

내 머릿속에서 정리를 해봤을 때 논리 곱은 "~이면서 ~ 이다"로 읽고 논리 합은 "또는"으로 읽으면 헷갈리지 않고 편하게 로직을 짤 수 있었던 것 같다.

  • 대입 연산자
    대입 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자 변수에 저장한다.
    우리가 코딩하면서 초반에 접한 변수 선언에도 쓰인다.

  • 복합 대입 연산자
    (+=,-+.....^=) 등이 있는데 단순히 생각해서 오른쪽에 있는 피연산자를 왼쪽 피연산자에 산술해 저장하다는 뜻이다.

1-3. 삼항 연산자

삼항 연산자는 3개의 피연산자를 필요로 하는 연산자이다. 삼항 연산자는 ? 앞에 조건에 따라 참 거짓을 판단해서 결과값이 다르기 때문에 조건 연산식이라고 부르기도 한다.

삼항 연산식 사용법
*예시

int score = 90;
char = grade = (score > 90) ? 'A' : 'B';

// 연산 결과
B

score 변수가 90보다 크지 않기 때문에 B가 나온다.

삼항 연산자는 대부분의 상황에서 if문으로 대체가 가능하기 때문에 사용할 일이 그렇게 많지는 않을 것 같다. 단순한 조건식이 필요할 때에 if문 대신에 사용하면 코드 길이가 줄어드는 장점이 있을 것이다.

profile
자바공부해요흑흑

0개의 댓글