java/기본 문법

Java_기본문법 - 연산자

정데브 2021. 5. 1. 13:50

 

 

안녕하세요~~ 오늘은 Java 연산자에 대해서 설명드리고자 합니다!!

 

연산자는 다른 언어와의 쓰임새가 비슷하고 한번 배워놓으면 기억하기 쉬울만큼 내용이 간단하고 이해하기 쉬우실테니까! 한번 보실때 꼼꼼하게 보시는걸 추천합니다!! 연산자는 크게 8가지로 구분할 수 있습니다!

 

 

1. 대입 연산자

대입 연산자는 말 그대로 변수를 값에 대입시킬 때 사용합니다.

기호는 '=' 을 사용하는데 우리가 흔히 아는 수학적 의미와는 조금 다릅니다!

a=2 >> a는 2와 같다 ! 라는 뜻이 아닌

a=2 << a에 2를 대입한다! 라는 뜻으로 이해하시면 됩니다.

 

int x= 100;

 이 뜻은 int형 변수  x에 100에 값을 대입하겠다라는 뜻입니다!

 

기본적인 대입 연산자 말고 복합 대입 연산자도 존재합니다.

 

 

1-1. 복합 대입 연산자

복합 대입 연산자는 산술 연산자와 대입 연산자를 복합적으로 사용하는 연산자입니다.

종류에는 '+=', '-=', '*=', '/=', '%='가 있습니다.

 

복합 대입 연산자를 풀어쓰면 다음과 같습니다.

  • 'A += B'  >>  'A = A + B'
    'A -= B'   >>  'A = A - B'
    'A *= B'   >>  'A = A * B'
    'A /= B'   >>  'A = A / B'
    'A %= B'  >>  'A = A % B'

 

2. 산술 연산자

산술 연산자는 우리가 흔히 알고있는 연산자입니다.

+ , - , * , / , %

 

 

3. 관계 연산자

두 피 연산자 간의 대소관계를 비교하기 위해서 사용합니다.

true (참) false(거짓)으로 결과를 볼 수 있습니다.

a>b a가 b보다 크면 참
a<b a가 b보다 작으면 참
a>=b a가 b보다 크거나 같으면 참
a<=b a가 b보다 작거나 같으면 참
a==b a와 b가 같으면 참
a!=b a와 b가 같지 않으면 참

 

4. 논리 연산자

참과 거짓을 판별하는 연산자입니다! 

 

논리연산자 사용 예 의미
|| a>b || a a가 b보다 크거나 a가 c보다 작으면 참
&& a>b && a a가 b보다 크고 a가 c보다 작으면 참
! !(a>b) a가 b보다 크면 거짓

 

A B ||(OR, +, 합집합) &&(AND, *, 교집합)
false false false false
false true true false
true false true false
true true true true

 

5. 증감 연산자

피연산자를 1씩 증가 혹은 감소시키는 연산자를 의미합니다.

증감연산자 사용 예 의 미
++ ++a 값을 1만큼 증가 후 연산
++ a++ 연산 후 값을 1만큼 증가
-- --a 값을 1만큼 감소 후 연산
-- a-- 연산 후 값을 1만큼 감소

 

 

전치와 후치에 따른 연산자 비교

전치 : ++a로 표기하며 a=a+1을 먼저 처리한다

후치 : a++로 표기하며 a의 데이터를 사용한 후 a=a+1을 처리한다.

 

위 경우에 단일로 쓰일 때와 다른 연산자와 함께 쓰일때가 다름을 주의해야 합니다.

단일로 쓰이는 경우 만일 a에 5라는 값을 대입해두었을때 a++ 과  ++a 는 똑같은 6의 값을 가지게 됩니다.

 

 

6. 삼항 조건 연산자

삼항 조건 연산자는 말그대로 세갱의 피연산자를 사용할 수 있는 연산자를 뜻합니다.

쉽게 말하면 하나의 값을 기준으로 2개의 실행문의 결과를 낼 수 있습니다.

 

조건식 ? 실행문1 : 실행문2 ;

조건식이 참일 경우 실행문 1을 실행하고 거짓일 경우 실행문 2를 실행하는 형태를 가지고 있습니다.

 

 

7. 비트 연산자

비트연산자는 다른 연산자의 비해 사용도가 매우 적은 연산자입니다.

데이터를 bit단위로 바꾸어서 연산을 수행합니다. 하지만, 0과 1로 이루어진 비트연산자는

다른 연산자보다 더욱 빠르게 수행됩니다. 

 

각 연산자들을 2진수로 변환하여 각 자리수를 연산하면 되는 것 입니다.

 

a & b a와 b가 모두 1일때 1
a | b a와 b 둘 중 하나라도 1이면 1
a ^ b a와 b가 같지않으면 1

 

 

8. 시프트 연산자

시프트 연산자도 비트단위의 연산자입니다. 시프트는 Shift란 영어단어에서 나온 연산자입니다!

간단하게말해서 0과 1로 이루어진 이진수에서 왼쪽 또는 오른쪽으로 자릿수를 이동시키는 연산자를 말합니다.

 

x=1 이다는 가정

<1을 2진수로 변환>

0 0 0 0 0 0 0 1
2의7승 2의6승 2의5승 2의4승 2의3승 2의2승 2의1승 2의0승

 

x << 2     x의 값을 왼쪽으로 2칸 보냄

0 0 0 0 0 1 0 0
2의7승 2의6승 2의5승 2의4승 2의3승 2의2승 2의1승 2의0승

x=1이였던 값을 왼쪽으로 시프트연산 2를 실행할 경우 위와 같이  2의2승 부분인 값 4가 된걸 볼 수 가 있습니다.

쉽게말해 쉬프트 연산에서의 쉿자는 제곱의 수를 뜻한다고 생각하시면 이해가 쉬울 것 입니다!

 

x=4인 값을 만약

x >>2    오른쪽으로 2칸 보낸다면 ???

생각하시는 그대로 x에 값이 1로 변하게 될 것입니다!

 

왼쪽가면 제곱만큼 더해지고, 오른쪽으로 가면 제곱만큼 줄어듭니다!

 

 

 

지금까지 java 연산자에 대한 설명이였습니다! 감사합니다 😍


 

'java > 기본 문법' 카테고리의 다른 글

Java_기본문법 - (switch 문)  (0) 2021.05.05
Java_기본문법 - (if - if else- else if)  (0) 2021.05.03
Java_기본문법 - 자료형  (0) 2021.05.01
Java_기본문법 - 주석처리  (0) 2021.04.30
Java_기본문법 - 출력,입력  (0) 2021.04.30