[JAVA] 연산자

2024. 8. 30. 19:38·Back-End/Java

[작성일: 2023. 01. 09]

 

연산(Operation)

대입연산자

int i = 0; → 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장.
i = i+3; → i += 1; 더해서 대입함.

final int MAX = 3;
MAX = 10 ; // 에러
 * 왼쪽 피연산자는 상수가 아니어야 함.

 

 

 

산술연산자

사칙연산
나머지를 구하는 % : 나누기 한 나머지를 반환함 - 홀, 짝 배수검사에 주로 사용
  cf ) 주민번호가 있는 데이터 파일이 100만 건, 내가 돌릴 수 있는 작업 수는 31개일 때,
        주민번호 뒷자리 % 31 = 0 ~ 30 
  cf ) int share = 10 / 8; 
        int remain = 10 % 8;  → 2

 

 

 

증감연산자

증가연산자(++) : 피연산자의 값을 1 증가시킴.
감소연산자(--) : 피연산자의 값을 1 감소시킴.

int i = 5;
int j = 0;

전위형 j = ++i; ++i;
j = i;
값이 참조되기 전에 증가시킴.
후위형 j = i++; j = i;
i++;
값이 참조된 후에 증가시킴.

 

 

 

비교연산자

피연산자를 같은 타입으로 변환한 후에 비교함.
결과 값은 true 또는 false
기본형(boolean 제외)과 참조형에 사용할 수 있으나 참조형에는 ==와 !=만 사용가능.

수식 연산결과
x > y x가 y보다 클 때 true, 그 외는 false
x <= y x가 y보다 작거나 같을 때 true, 그 외는 false
x == y x가 y가 같을 때 true, 그 외는 false
x != y x와 y가 다를 때 true, 그 외는 false

 

 

 

논리연산자

A && B: A가 true이고 B가 true일 때만 true (AND, 그리고)
A || B : A 또는 B가 true면 true (OR, 또는)
A ^ B : A가 true면 B가 false일 때 true (XOR, exclusive OR, 배타적 OR)
!A     : not A

x y x || y x && y
true true true true
true false true false
false true true false
false false false false

int i = 7;
i > 3 && i < 5 
i > 3 || i < 0

 

 

 

삼항연산자

조건식의 연산결과가 true이면 '식1'의 결과를 반환하고 false면 '식2'의 결과를 반환함.

(조건식) ? 식1 : 식2
A ? B : C

A가 true면 B, false면 C
소스가 한 줄이어야만 쓸 수 있는 코드가 있기 때문에 삼항연산자를 꼭 써야 하는 경우가 있음.

 

 

 

 

 

연산자의 우선순위

  1. 괄호의 우선순위가 제일 높음.
  2. 산술 > 비교 > 논리 > 대입
  3. 단항 > 이항 > 삼항
  4. 연산자의 연산 진행방향은 왼쪽에서 오른쪽 ( → ) 
  5. 단항, 대입 연산자는 오른쪽에서 왼쪽 ( ← )
ex1)  -x + 3          단항 > 이항
ex2)  x + 3 * y      곱셈, 나눗셈 > 덧셈, 뺄셈
ex3)  x + 3 > y - 2      산술 > 비교
ex4)  x > 3 && x < 5   비교 > 논리
ex5)  int result = x + y * 3;    항상 대입은 맨 끝에 

 

 

 

 

 

 

 

 

 

 


🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.

 

저작자표시 비영리 변경금지 (새창열림)
'Back-End/Java' 카테고리의 다른 글
  • [JAVA] Math / Random class
  • [JAVA] Scanner
  • [JAVA] printf()
  • [JAVA] 변수
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    MVC
    데이터베이스
    jsp
    sql
    변수
    html
    DB
    Java
    게시판만들기
    spring
    JPA
    알고리즘
    스프링
    javascript
    백준
    의존성주입
    프로그래머스
    Swift
    Security
    자바스크립트
    객체
    자바
    김영한
    성능최적화
    생성자
    Database
    다형성
    최주호
    Spring Security
    HTTP
  • hELLO· Designed By정상우.v4.10.0
뚜비
[JAVA] 연산자
상단으로

티스토리툴바