[Java]자바 프로그래밍 (연산자, 수식)

2023. 12. 31. 18:22· 공부/Java
목차
  1. 연산자와 피연산자
  2. 자바에서 지원하는 연산자
  3. 수식
  4. 대입 연산자
  5. 산술 연산자
  6. 단항 연산자
  7. 복합 대입 연산자
  8. 관계 연산자
  9. 논리 연산자
  10. 삼항 연산자
  11. 연산자 우선 순위에 주의
  12. 비트 연산자
  13. 형변환
  14. 축소변환
  15. 확대 변환
  16. 만약 두 피연산자의 자료형이 다르면?

연산자와 수식

연산자와 피연산자

  • 연산자(operator) : 특정한 연산을 나타내는 기호
  • 피연산자(operand) : 연산의 대상

Untitled.png

자바에서 지원하는 연산자

Untitled.png

여기서 주의할점은 연산자에는 우선순위가 존재한다.

수식

상수나 변수, 함수와 같은 피연산자들과 연산자의 조합

Untitled.png

대입 연산자

  • 대입 연산자(=)는 왼쪽 변수에 오른쪽 수식의 값을 계산하여 저장한다.
  • 대입 연산자, 할당 연산자, 배정 연산자 모두 같은 뜻

산술 연산자

연산자 설명
+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
% 나눗셈의 나머지

단항 연산자

연산자 의미
+x x를 양수로 만든다.
-x x를 음수로 만든다.
++x x값을 먼저 증감한 후에 다른 연산에 사용됨
x++ x값을 먼저 사용한 후에, x값을 증감한다
—x x값을 먼저 감소한 후에 다른 연산에 사용됨
x— x값을 먼저 사용한 후에, x값을 감소한다.

복합 대입 연산자

복합 대입 연산자 의미
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
x %= y x = x % y

관계 연산자

연산자 기호 의미 사용 예
== x와 y가 같은가? x == y
!= x와 y가 다른가? x != y
> x가 y보다 큰가? x > y
< x가 y보다 작은가? x < y
>= x가 y보다 크거나 같은가? x >= y
<= x가 y보다 작거나 같은가? x <= y

연산자 결과는 boolean 값으로 나타남 = true or false

논리 연산자

연산자 기호 사용 예 의미
&& x && y AND연산, x와 y가 모두 참이면 참, 그렇지 않으면 거짓
     
! !x NOT 연산, x가 참이면 거짓, x가 거짓이면 참

삼항 연산자

Untitled.png

연산자 우선 순위에 주의

Untitled.png

대입 연산자는 제일 마지막 우선순위이다

비트 연산자

연산자 의미 예
~ 비트별 NOT ~(0x0FFF)은 0xfffff000이 된다.
& 비트별 AND (0x0FFF & 0xFFF0)은 0x0FF0이 된다
^ 비트별 XOR (0x0FFF ^ 0xFFF0)은 0xF00F이 된다.
    비트별 OR
<< 비트 왼쪽 이동 0xFFF << 4는 0xFFF0이 된다.
>> 비트 오른쪽 이동 0xFFF0 >> 4는 0xFFF이 된다.
>>> 비트 오른쪽 이동(unsigned) 왼쪽 비트가 부호비트로 채워지지 않고 0으로 채워진다.

<<, >> 는 비트 시프트라고도 한다.

이를 계산하려면 2진수로 변환하여 변환된 2진수를 왼쪽이나 오른쪽으로 n개 만큼 이동하는 연산이다.

예 : 0xFFF0 >> 2

0xFFF0 = 0b1111 1111 1111 0000 >> 2 → 0b 0011 1111 1111 1100 → 0x3FFC

형변환

형변환(cast)는 어떤 자료형의 값을 다른 자료형의 값으로 바꾸어 주는 연산

y = (double) x; 

Untitled.png

축소변환

만약 double형에서 int형으로 형변환을 거치면 double의 소수점은 반올림이 되지 않고 그냥 사라져 버린다, 데이터의 일부를 잃을 수 있다.

확대 변환

더 큰 크기의 변수로 값을 이동하는 변환

double d = (double) 100;// 정수 100이 변수 d에 100.0으로 형변환되어서 저장

만약 두 피연산자의 자료형이 다르면?

만약 int형과 double형 두개를 연산을 한다고 가정을 하면 어느쪽을 기준으로 출력이 될까?

숫자가 높은쪽을 기준으로 해서 자료형 결과값이 나온다.

  1. 연산자와 피연산자
  2. 자바에서 지원하는 연산자
  3. 수식
  4. 대입 연산자
  5. 산술 연산자
  6. 단항 연산자
  7. 복합 대입 연산자
  8. 관계 연산자
  9. 논리 연산자
  10. 삼항 연산자
  11. 연산자 우선 순위에 주의
  12. 비트 연산자
  13. 형변환
  14. 축소변환
  15. 확대 변환
  16. 만약 두 피연산자의 자료형이 다르면?
'공부/Java' 카테고리의 다른 글
  • [Java]자바 프로그래밍(반복문)
  • [Java]자바 프로그래밍 (변수, 연산자, 수식)
  • [Java]자바 프로그래밍 (조건문)
  • [Java]자바 프로그래밍 기초
Future0_
Future0_
rm -rf /
Future0_
Luna Developer Blog
Future0_
전체
오늘
어제
  • 분류 전체보기 (111)
    • 프로그래밍 (4)
      • 알고리즘 (4)
    • 보안 (14)
      • Dreamhack (4)
      • Hackthebox (1)
      • Webhacking (9)
    • 프로젝트 (4)
    • 공부 (80)
      • Database (2)
      • Python (11)
      • System (4)
      • Java (13)
      • JSP (13)
      • Spring (11)
      • Kotlin (16)
      • 자료구조 (10)
      • 기계학습 (0)
    • Docker (4)
    • Github (2)
    • Tip (0)
    • 잡담 (2)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 키 해시
  • Kotlin
  • 알고리즘
  • android studio 삭제
  • 프로그래밍
  • 자바빈즈
  • 코틀린기본문법
  • api 통신
  • webhacking
  • Database
  • Java
  • 컴퓨터
  • 상속
  • docker
  • React
  • native app
  • Python
  • dreamhack
  • spring
  • 자료구조
  • 디버깅키해시
  • 1.9.22
  • jsp
  • shared preference
  • 보안
  • ViewModel
  • SpringBoot
  • cs
  • Android Studio
  • Computer science

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
Future0_
[Java]자바 프로그래밍 (연산자, 수식)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.