다라다라V
article thumbnail
728x90
반응형

연산자 종류

  • 산술연산자: + , - , * , / , % (나머지연산자)
  • 증감(증가 및 감소) 연산자: ++ , --
  • 비교연산자: == , != , > , < , >= , <=
  • 논리 연산자: && (AND), || (OR), ! (NOT)
  • 대입연산자: = , += , -= , *= , /= , %=
  • 삼항 연산자: ? :

산술 연산자

package operator;

public class Operator1 {
    public static void main(String[] args) {
        int a = 5;
        int b = 2;
        
        // 1. 덧셈
        int sum = a + b;
        System.out.println("a + b = " + sum);
        
        // 4. 나눗셈
        int div = 5 / 2;
        System.out.println("a / b = " + div);

        // 5. 나머지 연산
        int mod = 5 % 2;
        System.out.println("a % b = " + mod);
    }
}

  • 문자열은 + 로 연결해서 사용
  • int형끼리 계산하면 결과도 int형을 사용
    • 소수점 이하를 표함할 수 없음
  • 나머지 연산자 %

0으로 나누기

  • 예외 발생

Exception in thread "main" java.lang.ArithmeticException: / by zero

문자열 더하기

package operator;

public class Operator2 {
    public static void main(String[] args) {
        String result = "hello" + "world";
        System.out.println(result);

        // 문자열과 숫자 더하기
        String result2 = "a + b = " + 10;
        System.out.println(result2);
    }
}

  • 자바는 문자열에도 +연산자 사용 가능
    • 두 문자를 연결하는 데 사용
  • 문자열 과 숫자 더하기 가능
    • 문자와 숫자를 더하면 숫자를 문자열로 변경한 다음에 서로 더한다

계산 과정

연산자 우선순위

package operator;

public class Operator3 {
    public static void main(String[] args) {
        int sum1 = 1 + 2 * 3;
        int sum2 = (1 + 2) * 3;
        System.out.println(sum1);
        System.out.println(sum2);
    }
}

  • 일상속 수학과 동일

연산자 우선 순위

  1. 괄호 ()
  2. 단항 연산자 (예: ++ , -- , ! , ~ , new , (type) )
  3. 산술연산자 (* , / , % 우선,그다음에 + , - )
  4. Shift 연산자 ( << , >> , >>> )
  5. 비교 연산자 ( < , <= , > , >= , instanceof )
  6. 등식 연산자 (== , != )
  7. 비트 연산자 (& ,^ ,| )
  8. 논리 연산자 ( && , || )
  9. 삼항연산자 (? : )
  10. 대입 연산자 (= , += , -= , *= , /= , %= 등등)

기억할 것

  1. 상식선에서 우선순위를 사용하기
  2. 애매하면 괄호를 사용하자
  • 코드를 보고 명확하고 이해하기 쉽게하기
    • 복잡하면 명확하게 괄호를 넣기
  • 개발에서 제일 중요한 것은 단순함과 명확함

증감 연산자

  • ++ 나 - - 로 표현
  • a = a + 1 을 ++a 로간단히표현할수있는것이바로증감연산자

전위, 후위 증감 연산자

package operator;

public class OperatorAdd2 {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        b = ++a; // a의 값을 먼저 증가시키고, 그 결과를 b에 대입
        System.out.println("a = " + a + ", b = " + b);
        
        // 후위 증감 연산자 사용예
        a = 1;
        b = 0;
        
        b = a++; // a의 현재 값을 b에 먼저 대입하고, 그 후 a 값을 증가시킴
        System.out.println("a = " + a + ", b = " + b);
    }
}

//a = 2, b = 2
//a = 2, b = 1
  • ++a
    • 전위(Prefix) 증감 연산자
    • 증감 연산이 먼저 수행된 후 나머지 연산이 수행
  • a++
    • 후위(Postfix) 증감 연산자
    • 다른 연산이 먼저 수행된 후 증감 연산이 수행

비교 연산자

package operator;

public class Comp1 {
    public static void main(String[] args) {
        int a = 2;
        int b = 3;

        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(a >= b);
        System.out.println(a <= b);

        // 결과를 boolean 변수에 담음
        boolean result = a == b; // a == b: false
        System.out.println(result);
    }
}

  • 두 값을 비교하는데 사용
  • 주로 조건문과 함께 사용하여 불리언값을 사용

문자열 비교

  • 문자열 비교는 ==이 아니라 .equals() 메서드를 사용
package operator;

public class Comp2 {
    public static void main(String[] args) {
        String str1 = "문자열1";
        String str2 = "문자열2";

        boolean result1 = "hello".equals("hello"); // 리터럴 비교
        boolean result2 = str1.equals("문자열1"); // 문자열 변수, 리터럴 비교
        boolean result3 = str1.equals(str2); // 문자열 변수 비교

        System.out.println(result1);
        System.out.println(result2);
        System.out.println(result3);
    }
}
// true
//true
//false

논리 연산자

  • boolean형인 true, false를 비교
    • && : 그리고
    • || : 또는
    • ! : 부정
package operator;

public class Logical2 {
    public static void main(String[] args) {
        int a = 15;
        //a는 10보다 크고 20보다 작다
//        boolean result = a > 10 && a < 20; // (a > 10) && (a < 20)
        boolean result = 10 < a && a < 20;
        System.out.println("result = " + result);
    }
}
//result = true
  • 범위를 나타내는 경우 이렇게 위와 같이 적어 코드의 가독성을 높임

대입 연산자

축약(복합)대입 연산자

  • += , -= , *= , /= , %=
    • 산술 연산자와 대입 연산자를 한번에 축약해서 사용
반응형

'코딩언어 > [인프런] JAVA 입문' 카테고리의 다른 글

6. 스코프, 항 변환  (0) 2024.05.12
5. 반복문  (0) 2024.05.12
4. 조건문  (0) 2024.05.01
2. 변수  (0) 2024.04.28
1. Hello World  (0) 2024.04.28
profile

다라다라V

@DaraDaraV

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!