대입 연산자: =
산술 연산자: +, -, /, * ...
비교 연산자: 다음 챕터에서 공부
논리 연산자: 조건문에서 공부
연산자란?
<산술연산자 - Arithmetic>
자바에서의 산술연산자
+ - 더하기
- - 빼기
* - 곱하기
/ - 나누기
% - 나머지
int a = 3;
System.out.println(0%a); //0
System.out.println(1%a); //1
System.out.println(2%a); //2
System.out.println(3%a); //0
System.out.println(4%a); //1
System.out.println(5%a); //2
System.out.println(6%a); //3
<% 나머지 연산자의 사용방법 0을 3으로 나누면 나머지는 0 .. 1을 3으로 나누면 나머지는 1...>
문자열 역시 더해서 사용 가능하다.
프로그래밍에선 정수보다 실수가 더욱 조밀하고 방대한 데이터타입이기 때문에
자동으로 (정수/실수) 일 때 정수로 값을 인식한다.
단항 연산자 = 1+2 에서 사용한 연산자 +는 이항연산자이고, 좌항인 1과 우항이 2를 더해주는 작업을 하고 있다.
단항 연산자는 하나의 항을 대상으로 연상이 이루어지는 연산자이다.
+ - 양수를 표현(실제로는 사용할 필요가 없다.)
- - 음수를 표현
++ - 증가 연산사로 항의 값을 1씩 증가 시킨다.
-- -감소 연산자로 항의 값을 1씩 감소 시킨다.
int i = 3;
i++;
// i = i+1
System.out.println(i); // 4출력
++i;
System.out.println(i); // 5출력
System.out.println(++i); //6출력 = ++i ~ i라는 변수에 1을 더한 결과를 괄호 안에 치환해서 println해라
System.out.println(i++); // 6출력 = i++ ~ i에 1이 더해지긴 하지만 괄호 안에서 1이 더해지지 않는다. 이는 println이 진행된 후에 1이 더해진다.
System.out.println(i); //7이 된다. 11번째 줄의 결과가 12번째 줄에서 값의 결과과 반환되어 나타나게 된다.
연산의 우선순위
실제로 프로그래밍을 하게 되면 다양한 연산자들을 복합적으로 사용하게 된다. 이럴 때 연산의 선후 관계가 분명하지 않으면 혼란스러울 것이다. 아래는 자바에서 제공하는 연산자들 간의 우선순위를 정리한 표이다.
우선순위연산자결합방향
1 | [ ] | → |
() | ||
. | ||
2 | ++ | ← |
-- | ||
+(양수) -(음수) | ||
~ | ||
! | ||
(type) | ||
new | ||
3 | * / % | → |
4 | +(더하기) -(빼기) | → |
+(문자 결합 연산자) | ||
5 | << | → |
>> | ||
>>> | ||
6 | < <= | → |
> >= | ||
instanceof | ||
7 | == | → |
!= | ||
8 | & | → |
& | ||
9 | ^ | → |
^ | ||
10 | | | → |
| | ||
11 | && | → |
12 | || | → |
13 | ? : | ← |
14 | = | ← |
*= /= += -= %= <<= >>= >>>= &= ^= |= |
위의 표를 보는 방법을 알아보자. 아래를 계산해보자.
'Java' 카테고리의 다른 글
Java - 조건문(부제: 프로그래밍의 핵심인 조건문을 배워봅시다.) (0) | 2021.05.21 |
---|---|
Java - 비교와 Boolean(부제: 조건문을 사용하기 전 비교와 Boolean을 알아보자) (0) | 2021.05.17 |
Java - 형변환 (부제: 변수와 상수의 데이터 타입 불일치 시에 형변환이 일어나는 것에 대해서~ 자동 형 변환과 수동 형 변환의 방법을 알아보자) (0) | 2021.05.14 |
Java - 데이터 타입과 데이터 타입종류 (부제: 변수의 데이터 타입과 / 상수의 데이터 타입을 알아보자) (0) | 2021.05.14 |
Java - 주석과 세미콜론(부제: 주석과 세미콜론의 의미를 알아보고 사용법을 알아보자) (0) | 2021.05.14 |