1. 형변환: 데이터형 동일해야 연산이 가능하기 때문에 데이터형을 같게 해주는 작업
┌ 자동형변환: 작은 데이터→큰 데이터
└ 강제형변환: 큰 데이터→작은 데이터
*** int 이하: 연산되면 결과값은 int로 출력 ex) char 연산시 정수로 변경
2. 연산자 종류
┌ 단독 사용: 산술, 증감, 대입연산자
└ 조건 사용: 비교, 논리, 부정연산자 → 주로 if/for/while문에 많이 사용
***(변수+연산자+제어문) → 라이브러리
1) 단항연산자
종류 | 기능 | 사용 예시 | ||
증감연산자 | ++ -- |
주로 반복문에서 사용 무조건 +1 무조건 -1 |
후치연산자 int a=10; int b=a++; => a=11 b=10 b에 a 대입, 다음연산에서 a에 +1 |
전치연산자 int a=10; int b=++a; => a=11 b=11 a에 +1 시키고 증가된 a값 b에 대입 |
부호연산자 | + - |
기능x 부호 반대로 바꿈 |
int a=-10; a=-a; =>a=10 |
|
부정연산자 | ! | 반대로 바꿈 (결과값: 항상 boolean) |
boolean b=false; !b; => b: true |
|
형변환연산자 | (data_type) | 강제 형변환 (downcasting) |
(double)10 => 10.0 |
2) 이항연산자
종류 | 기능 | 예시 및 기타 | |
산술연산자 | + - * / % |
덧셈 뺄셈 곱셈 나눗셈 나머지 |
주의: /0 불가, 정수/정수=정수(5/2=2)로 출력 나눌 값의 부호를 따름 ex) 5%2, 5%-2=1 / -5%2, -5%-2=-1 |
비트연산자 | & | ^ |
주로 회로, 암호화/ 복호화에 사용 AND(*) OR(+) XOR |
10 5 & | ^ 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 ============ 0 15 15 |
쉬프트연산자 | << >> |
왼쪽 이동 오른쪽 이동 |
X<<Y : X*2^Y X>>Y : X/2^Y (단, 정수값이라는 것에 조심!) |
비교연산자 | == != < > <= >= |
주로 조건문에서 사용 (결과값: 항상 boolean) 같다 다르다 작다 크다 작거나 같다 크거나 같다 |
수와 수 비교=> 정수, 실수, 문자, 논리 비교 가능 (문자열은 불가, equals( ) 사용) 10==20 (false) 10!=20 (true) 10<10 (false) 10>10 (false) 10<=10 (true) ==> 10<10 || 10==10 10>=10 (true) ==> 10>10 || 10==10 |
논리연산자 | && || |
주로 조건문에서 사용 (결과값: 항상 boolean) 직렬, 둘다 true 병렬, 한개이상 true |
효율적 연산 수행 범위, 기간을 포함 범위나 기간을 벗어나는 경우 주로 사용 |
대입연산자 | = += -= |
=뒤의 수를 대입 = 뒤의 수를 더하기 = 뒤의 수를 빼기 |
a=2 : 2를 대입 a+=2: a에 2를 더한 값을 대입 a-=5: a에 5를 뺀 값을 대입 |
3) 삼항연산자(=선택 조건문)
(조건식)? 값1: 값2
===== true=>값1 if
false=>값2 else
'Java > Java 이론 정리' 카테고리의 다른 글
[Java] 9~11일차: 제어문_(2)반복문/반복제어문 (0) | 2020.06.23 |
---|---|
[Java] 6~8일차: 제어문_(1)조건문 (0) | 2020.06.22 |
[Java] 3일차: 자바출력메소드(print/Scanner/ \ ) (0) | 2020.06.17 |
[Java] 2일차: 변수_데이터형/변수 선언 및 초기화 (0) | 2020.06.16 |
[Java] 자바의 특징, 명명규칙, 진법, 주석달기, \ 사용 (0) | 2020.06.15 |
댓글