Java/Java(base)

[Java] 연산자 종류 및 우선순위

ID_DI 2021. 11. 29. 00:03

연산자

  • 기능이 있는 특수문자 또는 단어

우선순위: 한 문장 안에 다양한 연산자가 있을 때, 먼저 연산하는 순위

연산자 종류 (우선순위 순서대로 나열)

  • 최우선 연산자

    • (), .
  • 단항 연산자

    • 형변환 연산자 (자료형)
  • 이항연산자

    • 산술 연산자

      • +,-,*,/,%
    • 비트연산자

      bit : 1,0 을 저장할 수 있는 컴퓨터 용량의 최소 단위

      byte : 데이터의 최소단위 ( 8 bit)

      • &(AND) 논리곱

        14 & 17 --> (2진법) 01110 & 10001 --> (2진법)00000 -->(10진법) 0

      • |(OR)논리합

        14 | 17 --> (2진법) 01110 | 10001 --> (2진법)11111 -->(10진법) 31

        모든 자리가 1일 때 2**5 -1 가능

      • ~(NOT) 논리부정 : 단항연산

      • ^(XOR) 베타논리합 : 서로 다르면 1

        14 ^ 17 --> (2진법) 01110 | 10001 --> (2진법)11111 -->(10진법) 31

    • 쉬프트 연산자

      • a >> b : a를 b만큼 우로 비트이동
      • a << b : a를 b만큼 좌로 비트이동
    • 관계 연산자

      • >,<,>=,<=, ==, !=
    • 논리 연산자

      • A, B를 조건식으로 가정한다.
      • A && B : 두 조건식의 연산 결과가 둘다 true 면 true
      • A || B : 두 조건식의 연산 결과중 하나라도 true 면 true
  • 삼항 연산자

    • (조건식) ? (참이면 오는 부분) : (거짓이면 오는 부분)
    • (조건식) ? 값1(true 일 때) : 값2(false 일 때)
    • 경우의수가 딱 두가지의 값으로 나오는 경우
    • 문장을 쓰려면 문장 통째로 값이어야 한다라는 제한이 걸림.
  • 대입 연산자

조건식:

  • 조건을 제시하는식
  • 주장하는 식
  • 관계연산자 사용
  • 결과가 참 또는 거짓으로 나옴 true, flase for java
  • 논리형 boolean 1byte(true, false)

결합성: 한 문장 안에 우선순위가 같은 연산자가 여러개 있을 때 , 맞는 방향으로 결합하여 연산하는 성질