본문 바로가기

개발(합니다)/Java&Spring

[java-기초-03] 연산자

반응형

연산자

연산자와 연산식

연산자 종류연산자피연산자 수산출값기능 설명
산술+, -, *, /, %이항숫자사칙연산 및 나머지 계산
부호+, -단항숫자음수와 양수의 부호
문자열+이항문자열두 문자열을 연결
대입=, +=, -=, *=, /=, %/, &=, ^=, |=, <<=, >>=, >>>=이항다양우변의 값을 좌변의 변수에 대입
증감++, -- 단항숫자1만큼 증가/감소
비교==, != >, <, >=, <=, instanceof이항boolean값의 비교
논리!, &, |, &&, || 단항, 이항boolean논리적 NOT, AND, OR 연산
조건(조건식)? A:B삼항다양조건식에 따라 A 또는 B 중 하나를 선택
비트~, &, |, ^단항, 이항숫자, boolean비트 NOT, AND, OR, XOR 연산
쉬프트>>, <<, >>>이항숫자비트를 좌측/우측으로 밀어서 이동
  • 단항 연산자 : ++x;
  • 이항 연산자 : x + y;
  • 삼항 연산자 : (sum>100) / "A" : "B";

연산의 방향과 우선순위

연산자 우선순위는 학교에서 배웠다.

산술 연산 시 오버플로우 주의

  • 해당 타입이 연산, 표현하고자 하는 숫자를 담을 수 있는지를 확인해야 하며 담을 수 없을 시 쓰레기 값이 들어가 시스템에 큰 문제를 일으킨다.

그외 주의 사항

  • 5 / 0.0 => Infinity(무한대) 같은 연산 결과가 무한대로 나오는 경우
  • 5 % 0.0 => NaN(Not a Number) 같은 연산 결과가 숫자가 아닌 경우
      double x = 5/0.0;
      Double.isInfinite(x); // Infinity 검사
      Double.isNaN(x); // NaN 검사
반응형