시작하며
여러분 안녕하세요!
DreamHanks의254cm입니다.
오늘은 연산자에 대해서 알아보도록 하겠습니다.
Java의 전제 기사는여기를 클릭해 주세요.
이전 기사는【Java개발】제1회 변수를 클릭해 주세요.
연산자
Java는 여러 연산을 대응하기 위해 다양한 연산자를 제공하고 있습니다.
Java가 제공하는 연산자는 아래에 적어 놓은 것들이 있습니다.
- 증감 연산자
- 산술 연산자
- 시프트 연산자
- 비트 연산자
- 비교 연산자
- 논리 연산자
- 조건 연산자
- 대입 연산자
- instanceof연산자
각 연산자에 대해서 알아보도록 합시다.
※연산은 식을 계산해서 결과를 내는 정도를 연산이라고 말합니다.
연산자의 종류
・증감 연산자
증감 연산자는 연산된 변수의 값에 1을 더하거나 빼는 연산입니다.
다만、연산자가 붙어있는 위치에 따라서 증감되는 타이밍이 바뀝니다.
・산술연산자
수학의 사칙연산처럼 나머지 연산이라고 하는 것이 하나 더 있습니다.
※나머지 연산이란?
대상의 값을 나눈 나머지를 구하는 연산입니다.
예)8 % 3 = 2
8 % 10 = 8
・시프트 연산자
시프트 연산자는 연산된 값을 2진수의 비트 단위로 전개해서 그 2진수의 비트 자릿수를 이동시키는 연산자 입니다.
비트에 관한 내용은 2진수를 다루는 기사에서 더 자세하게 알아보도록 하겠습니다.
예)
1 2 3 |
int value = 13; value = value << 1; System.out.println(value); // 26 |
2번째줄에서 value의 값을 왼쪽으로 1자리 이동시킵니다.
그 동작을 2진수로 생각 해 보면
13은2진수로 전개하면
1101
입니다.
이 2진수의 자릿수를 왼쪽으로 이동시키면
11010
이 되어서 value의 값은26이 됩니다.
・비트 연산자
비트 연산자는 대상이 되는 값을 2진수로 전개해서 각 자릿수를 비교한 결과를 구하는 연산자입니다.
각 연산자의 설명은 아래처럼 됩니다.
- &연산
대응되는 두 비트가 모두 1일 때만 1을 반환하며, 다른 경우는 모두 0을 반환합니다.
그래서 계산 결과를 보면 1번째와 5번째의 자리에는 1이 반환됩니다.
- |연산
대응되는 두 비트 중 하나라도 1이면 1을 반환하며, 두 비트가 모두 0일 때만 0을 반환합니다.
그래서 1번째 2번째 3번째 5번째의 자리에 1이 반환됩니다.
- ^연산
대응되는 두 비트가 서로 다르면 1을 반환하고, 서로 같으면 0을 반환합니다.
그래서 2번째 3번째의 자리에 1이 반환됩니다.
- ~연산
해당 비트가 1이면 0을 반환하고, 0이면 1을 반환합니다.
그래서 모든 자리의 수가 반전이 되어서 결과는 -20이 됩니다.
・비교 연산자
비교 연산자는 2개의 식 또는 값을 비교해서 그 결과로서 true 또는 false를 반환하는 연산자입니다.
・논리 연산자
논리 연산자는 두 개의 true/false 값으로 새로운 true/false을 반환하는 연산자 입니다.
AND 연산자(&&
)는 모두 true인경우 true, 나머지는 모두 false를 반환합니다.
OR 연산자(||
)는 둘 중 하나라도 true이면 true, 아니라면 false를 반환합니다.
NOT 연산자(!
)는 값을 반대로 바꿔줍니다.
・조건 연산자(삼항 연산)
조건 연산자는 조건식의 결과에 따라 처리가 달라지는 연산자입니다.
- 쓰는 법
1 |
조건식 ? 처리1 : 처리2 |
위 조건식의 결과가 true의 경우,처리1이 실행되고 false이 경우 처리2가 실행됩니다.
・대입 연산자
대입 연산자는 변수에 값을 대입시키는 연산자입니다.
대입 연산자는 산술 연산자,비트 연산자, 시프트 연산자와 함께 쓰입니다.
끝으로
여기까지 기사를 마치겠습니다.
다음은 Java의 조건분기에 대해서 알아보도록 하겠습니다.
감사합니다.
コメント