일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 스프링 스프링부트 차이
- 자바의 구조
- 선택제어
- IF문
- 이터레이터패턴
- 대문자 변환
- 프록시패턴
- 제어키워드
- 합 구하기
- 코테
- 코딩테스트
- 약수구하기
- Algorithm
- 메서드영역
- Java
- 참조자료형
- 디자인패턴
- 플랫폼독립성
- 문자열
- 노출모듈패턴
- 403error
- 알고리즘
- 클래스영역
- push에러
- 자바버전차이
- 평균구하기
- 소문자 변환
- 자바
- 반복제어문
- 자바의 메모리구조
- Today
- Total
지니, 개발하다.
[Java] CH03. 연산자 본문
[Java] CH03. 연산자
dev.genii 2022. 9. 24. 16:01연산자의 종류
연산자의 종류는 결과에 따라 크게 세가지로 구분하고 총 9가지 이다.
(이 구분은 Do it 자바 완전정복 을 참고하였고, 기준에 따라 다를 수 있다.)
#1. 결과가 값
인 연산자
- 산술 연산자 (+, -, *, /, %)
- 증감 연산자 (++, --)
- 비트 연산자 (&, |, ^, ~)
- 시프트 연산자 (<<, >>)
- 논리시프트 연산자 (>>>)
#2. 결과가 true/false
인 연산자
- 비교 연산자 (==, !=, >, <)
- 논리 연산자 (&&, ||)
#3. 결과가 실행
인 연산자
- 대입 연산자 (+=, -=)
- 삼항 연산자 ( ? : )
1. 산술 연산자
+
, -
, *
, /
, %
앞의 네가지는 사칙연산이므로 나머지 연산자 %
만 알아본다.
나머지 연산자(%)
모듈로(modulo)연산 이라고도 하며,
말그대로 나누기를 수행한 후 나머지를 나타내는 연산이다.5%3
: 5를 3으로 나눈 나머지 값(2)이 결과값이다.
이 때, 나머지 값이 3을 넘을 수 없으므로 나머지는 0,1,2 중에 나머지가 결정된다.
이런 특성으로 값을 가두거나 조건을 만들수 있다.
예) 배수/약수 같은 경우,6%2==0
로 표현하면 2는 6의 약수이고 6은 2의 배수를 표현할 수 있다.
2. 증감 연산자
++
, --
증감 연산자는 값을 1만큼 증가하거나 감소하는 연산자이다.
이 연산자는 연산자의 위치에 따라 결과값이 달라질 수 있다.전위형
int b=++a;
실행 순서
step1. a -> a+1 //a 값을 증가시키는 것을 먼저 실행
step2. a -> b //그 다음에 증가시킨 a를 b 에 대입후위형
int b=a++;
실행 순서
step1. a -> b //a를 b에 대입하는 것을 먼저 실행
step2. a -> a+1 //그 다음에 a 값을 증가시킴
전위형/후위형 진행 순서차이 확인하기
int a = 10;
System.out.println(a++); // 10 출력
System.out.println(++a); // 12 출력
//두번째 줄에서 a=10을 출력 한 후 a 값이 11로 증가
//세번째 줄에서 11에서 a를 12로 증가한 후 출력하여 12 출력
int b = 10;
b++; // 이 시점의 b는 10
System.out.println(b); // 11 출력
System.out.println(++b); // 12 출력
3. 비트 연산자
and(&)
, or(|)
, xor(^)
, not(~)
- & : 값이 모두 1일 때, 1
- | : 값이 둘 중 하나가 1일 때, 1
- ^ : 값이 둘 중 하나만 1일 때, 1
- ~ : 0과 1 값을 1과 0으로 바꿈
4. 시프트 연산자
<<
, >>
<<
왼쪽으로 비트를 밀어낸다.
2의 배수만큼 커진다.
양수/음수 모두 동일하게 적용.>>
오른쪽으로 비트를 밀어낸다.
2의 배수만큼 작아진다.
음수일 때는 값에 +1 해줘야 한다.
5. 논리시프트 연산자
>>>
단순 자리이동하는 기능을 가진다.
각 비트별 의미/기능이 지정된 경우,
비트연산자(&,|,^,~)와 함께 각 비트별 값을 확인 할 수 있다.
6. 비교 연산자
==
, !=
, >
, >=
, <
, <=
값의 크기 비교를 할 수 있는 연산자이다.
연산에 =
가 들어가는 경우에는 반드시 =
을 우측에 작성한다.
7. 논리 연산자
&&
, ||
&&
비교하는 두 대상이모두 true
인 경우, true
따라서, 첫번째 나온 조건이 false 일 때에는 두번째 조건은 확인하지 않고 false 처리||
비교하는 두 대상 중에하나만 true
인 경우, true
따라서, 첫번째 나온 조건이 true 일 때에는 두번째 조건은 확인하지 않고 true 처리
System.out.println(5>3&&4==7||3!=7); // true
8. 대입 연산자
+=
, -=
int a =5;
a=a+5;
a+=5; // 윗줄을 이렇게 단축시켜 작성할 수 있다.
a=a-5;
a-=5; // 윗줄을 이렇게 단축시켜 작성할 수 있다.
int e =10;
int f= 5;
e+=f; // e=15
System.out.println(e); // 15
e-=f; // e=10
System.out.println(e); // 10
9. 삼항 연산자
삼항 연산자는 연산자들 중 유일하게 3개의 피연산자가 있는 연산자다.(조건문)? 연산결과 1 : 연산결과 2
조건문이 참이면 연산결과 1 출력,
조건문이 거짓이면 연산결과 2 출력
int e=10;
int x = (e==10) ? 1:0;
System.out.println(x); //1
'Study > JAVA' 카테고리의 다른 글
[Java] CH04. 제어문 : part3 제어키워드(break, continue) (0) | 2022.10.02 |
---|---|
[Java] CH04. 제어문 : part2 반복제어문 (for, while) (1) | 2022.09.25 |
[Java] CH04. 제어문 : part1 선택제어문 (if, switch) (0) | 2022.09.24 |
[Java] CH02. 자료형 (0) | 2022.09.14 |
[Java] CH01. 자바의 구조 (0) | 2022.09.06 |