겸쨔

[java] 연산자 본문

lang/java

[java] 연산자

겸쨔 2024. 7. 19. 22:49
반응형

기본중에 기본인 연산자들의 종류를 다룰 것이다..

항은 연산에 사용되는 값을 의미한다.

1. 대입 연산자

첫번째는 대입 연산자이다.

수학에서 흔히 사용하는 '='는 좌항과 우항이 같다는 의미로 사용된다.

하지만 자바에서는 우항을 좌항에 대입한다는 의미로 사용된다.

그래서 자바에서는 ' = ' 을 대입 연산자라고 부른다.

그리고 우항을 우리는 리터럴 값이라고 부른다.

2. 부호 연산자

두 번째는 부호 연산자이다.

부호 연산자란 우리가 흔히 아는 숫자 앞에 +와 - 즉, 양수와 음수를 가려주는 연산자를 뜻한다.

자바에서도 숫자 앞에 부호를 붙일 수 있다.

하지만 위 코드와 같이 변수 앞에 부호를 붙여주면 출력 값은 아래와 같다.

3. 산술 연산자

세번째는 산술 연산자이다.

산술 연산자란 수학에서 사용하는 사칙연산이라고 보면 된다.

'+'는 덧셈, '-'는 뺄셈, '*'는 곱셈, '%'는 나눗셈의 몫, '/'는 나눗셈의 나머지를 연산한다.

위와 같이 number들을 출력 해보면 값은 아래와 같다.

산술 연산자를 활용하여 다음 문제를 풀어보자.

1. (12 + 3) / 3의 값을 출력하고 값이 맞는지 검증해 보세요.

2. (25 % 2) 의 값을 화면에 출력해 보세요.

4. 복합 대입 연산자

네번째는 복합 대입 연산자이다.

위 설명과 같이 산술 연산자와 대입 연산자를 함께 사용 하는 것이다.

숫자 10을 변수 num에 덧셈을 할 때 위와 같이 코드가 길어진다.

하지만 복합 대입 연산자를 사용하면 아래와 같이 짧아진 것을 확인할 수 있다.

이와 같이 num = num + 10; 에서 리터러 변수 num을 빼고 바로 숫자를 넣고

첫번째 코드는 변수와 수 사이 대입 연산자 앞에 + 를 붙여줬고

두번째 코드는 변수와 수 사이 대엽 연산자 앞에 - 를 붙여줬다.

그랬더니 출력 값은 아래와 같다.

'+'와 '-'외에도 '*','%', '/'를 쓸 수 있다.

위 코드들을 출력해보면 다음와 같다.

이렇게 잘만 쓰면 편리한 기능들이 많은 것 같다. ㅎㅎ

5. 증감 연산자, 감소 연산자

다음은 증감/감소 연산자이다.

변수 앞에 붙여주고 변수에 직접적인 영향을 줄 수 있다.

우선 표기법은 아래와 같다.

정수형 데이터 타입 int로 변수명 num1을 선언과 동시에 정수 1로 초기화 해줬다.

두번째 라인 num1뒤에 '++'가 붙어있는걸 확인할 수 있다.

그리고 6번째 라인 num2 뒤에는 '--'가 붙어있는걸 확인할 수 있을 것이다.

num1과 num2를 출력해보고 출력값을 확인 해보자.

순서대로 2와 0이 출력된 것을 확인할 수 있다.

num1 뒤에 '++'은 num1에 +1을 한 것이다.

num2 뒤에 '--'은 num2에 -1을 한 것이다.

증감과 감소 연산자에는 두 종류로 나뉜다.

위 코드들을 보면 정수형 데이터 타입 int로 변수 number3을 선언해줌과 동시에 정수 10으로 초기화 했다.

그 뒤 '++'를 number3 앞에, 그리고 number3 뒤에 붙여줬다.

첫번째 ++number3는 선증가라고 한다. 두번째 number3++은 후증가라고 한다.

자바는 위에서 밑으로, 왼쪽에서 오른쪽으로 읽기 때문에 증가가 먼저 읽히고 변수가 온다면 변수에

+1을 해주는 것이고, 변수를 지나고 +1이 온다면 다음 나타나는 number3에 +1을 해준다.

위 코드를 출력해보자.

이처럼 '++'가 지나가지 못 한 첫번째 number3는 출력 값이 10이 된 것을 확인할 수 있다.

그리고 '++'가 두개를 그대로 맞은 두번째 number3는 출력 값이 12가 된 것을 확인할 수 있다.

'--'도 마찬가지다.

6. 관계 연산자

관계 연산자는 '>', '<', '==', '!=', '>=' ,'<='가 있다.

기본적으로 논리형 데이터 타입 boolean으로 변수를 선언해준다.

연산의 결과가 true, false로 값이 반한 된다. 비교 연산자라고도 부른다.

조건문과 반복문의 조건식으로 많이 사용된다.

아래 코드들을 보면 논리형 데이터 타입 boolean으로 변수 result1, 2, 3, 4를 선언함과 동시에

각각의 관계 연산자들을 이용하여 초기화 했다. 이제 저 변수들을 출력해보자.

아주 잘 나왔다. 보는 바와 같이 관계 연산자에 따라 값이 참이면 'ture' 값이 거짓이면 'false'를

출력한다.

7. 논리 연산자

논리 연산자는 '&&', '||', '!' 등이 있다.

이 아이는 결과 값을 'true'와 'false'를 변수에 반환하기 때문에 변수를 선언할 때

논리형 데이터 타입 'boolean' 을 사용한다.

첫번째로 논리곱 '&&'를 먼저 살펴보자.

아래 코드들을 보면 변수 flag1을 논리형 데이터 타입 boolean으로 선언해준 것을 알 수 있다.

우선 '&&' - 논리곱은 num1 > 0 && num2 > 0; 에서 num1 > 0 과 num2 > 0 둘 항 중 하나라도

거짓이 있으면 연산의 결과는 false이다. flag1을 출력해보자.

flag1을 출력해보자.

첫번째 flag1은 두항이 다 참이기 때문에 true라는 결과 값이 나왔다.

두번째 flag1은 num1 > 0은 참이지만, num2 < 0은 거짓이기 때문에

false라는 결과 값이 출력 됐다.

두번째로는 '||'를 살펴보자.

이것도 마찬가지로 변수 flag2를 논리형 데이터 타입 boolean으로 선언해준 것을 알 수 있다.

우선 '||' - 논리곱은 num1 > 0 || num2 > 0; 에서 num1 > 0 과 num2 > 0 둘 항 중 하나라도

참이 있으면 연산의 결과는 true이다. flag2를 출력해보자.

아래 코드들을 보면 변수 flag1을 문자형 데이터 타입 boolean으로 선언해준 것을 알 수 있다.

우선 '&&' - 논리곱은 num1 > 0 && num2 > 0; 에서 num1 > 0 과 num2 > 0 두 항 중 하나라도

거짓이 있으면 연산의 결과는 false이다. flag1을 출력해보자.

★★★★★논리 연산에서 모든 항이 실행되지 않는 경우★★★★★

(shirt sircuit evaluation)

논리 곱은 두 항의 결과 가 모두 true일 때만 결과가 true이기 때문에

앞의 항의 결과 값이 false이면 굳이 뒤 항의 결과를 평가하지 않는다. 마찬가지로

논리합은 두 항의 결과가 모두 false일 때만 결과가 false이기 때문에

앞의 항의 결과가 ture이면 뒤 항의 결과를 평가하지 않는다.

8. 삼항 연산자

조건식의 결과 값이 ture인 경우와 false인 경우에 따라 다른 결과가 수행됨

if(조건문)을 간단히 표현할 때 사용 할 수 있다.

if (5 > 1)의 결과 값이 ture이면 10이 출력 되고 false면 20이 출력 된다.

연산자에는 우선순위가 있다.

가장 낮은 순위의 연산자는 대입 연산자이고

가장 높은 순위의 연산자는 ()와 [] 등이 있다.

반응형

'lang > java' 카테고리의 다른 글

[java] if, if else, if else if 조건문  (0) 2024.07.20
[java] 2중 for 반복문  (0) 2024.07.19
[java] for 반복문  (0) 2024.07.19
[java] 변수  (0) 2024.07.19
[java] data type  (1) 2024.07.18