본문 바로가기
Java/Java 이론 정리

[Java] 4~5일차: 형변환, 연산자(Operator)

by ProSeraphina 2020. 6. 18.

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를 뺀 값을 대입

 

산술연산자1
산술연산자2
비트연산자
쉬프트연산자
비교연산자
논리연산자

  3) 삼항연산자(=선택 조건문)

     (조건식)? 값1: 값2

     ===== true=>값1     if

                false=>값2    else

댓글