반응형
산술연산자
- 연산에 필요한 값이나 변수가 두 개인 이항 연산자
- 우선 순위에 따라 연산되어 결과가 산출 됨
- 기본적인 피연산자들의 연산 방향은 왼쪽에서 오른쪽
- %는 나누기를 하고 난 나머지가 구해지는 연산
복합 대입 연산자
- 다른 연산자와 대입 연산자가 결합한 것
- 자기 자신의 값과 연산 후 연산 결과를 자기 자신에게 누적 대입
◎ 증감 연산과 비슷해 보이지만 증감연산자(++,==)는 1씩 증가
대입 연산자는 원하는 값을 증가시키고 그 변수에 저장 가능!
int num = 12;
◎ 3 증가
num += 3;
System.out.println("num : " + num);
◎ 5 감소
num -= 5;
System.out.println("num : " + num);
◎ 2배 증가
num *= 2;
System.out.println("num : " + num);
◎ 2배 감소
num /= 2;
System.out.println("num : " + num);
=== 실행 값 ====
num : 15
num : 10
num : 20
num : 10
◎ 산술 복합 대입연산자의 작성 순서에 주의하기
num =- 5;
System.out.println("num : " +num);
num : -5
산술 대입 연산자가 아닌 -5를 num에 대입한 것이 됨.
증감 연산자
- 피연산자의 값에 1을 더하거나 빼는 연산자로 위치에 따라 결과 값이 다르게 나타남
- ++ : 1 증가의 의미
- -- : 1감소의 의미
전위연산 | 후위연산 |
int a = 10; int b = ++a; 먼저 전위 연산 후 다른 연산 실행 |
int a = 10; int b = a++; 다른 연산 우선 실행 후 후위 연산 |
비교 연산자
- 데이터가 같은지, 다른지, 혹은 대소 비교를 할 때 사용
- 항상 논리 값(true false)이 결과 값
- ' == '과 ' != '은 모든 자료형에 사용 가능
- 비교 연산자( >, >=, <, <= )는 기본형 boolean과 참조형 String을 제외하고 나머지 자료형에 모두 사용 가능
- 문자열도' ==' 과 ' !=' 은 비교 가능하지만 대소비교는 불가능하다.
논리 연산자
1. 논리 값(true, false)를 취급하는 연산자
- && : 두 피연산자가 모두 true일 때 true 반환 (AND)
- || : 두 피연산자 중 하나만 true여도 true 반환 (OR)
- && 연산자가 || 연산자보다 우선순위가 높다.
- 변수 >= 1 && 변수 <= 100 사용, <= 변수 <= 100 이렇게는 사용 불가!
a | b | a&&b | a||b |
true | true | true | true b 값 추정 불필요 |
true | false | false | true b 값 추정 불필요 |
false | false | false b 값 추정 불필요 |
true |
false | false | false b 값 추정 불필요 |
false |
● 1부터 100 사이의 값인지 확인
int num1 = 30;
System.out.println("1부터 100사이인지 확인 : " + (num1 >= 1 && num1 <= 100));
● 영어 대문자인지 확인
char ch1 = 'W';
System.out.println("영어 대문자인지 확인 : " + (ch1 >= 'A' && ch1 <= 'Z'));
● 대소문자 상관 없이 영문자 y인지 확인
char ch2 = 'y';
System.out.println("영문자 y인지 확인 : " + (ch2 == 'y' || ch2 == 'Y'));
● 영문자인지 확인
char ch3 = 'f';
ystem.out.println("영문자인지 확인 : " +
((ch3 >= 'A' && ch3 <= 'Z') || (ch3 >= 'a' && ch3 <= 'z')));
A : 65, Z : 90, a : 97, z : 122 (중간의 91 ~ 96은 영문자가 아님)
연산자 우선순위를 고려한다면 and 연산이 먼저 수행되기 때문에 괄호는 묶지 않아도 되지만
논리적으로 먼저 실행하는 내용을 괄호로 묶어주면 코드를 읽기에 좋다.
2. 논리 부정 연산자
- ! : 논리 값을 부정하여 반대 값으로 변경, 제어문을 활용할 때 많이 쓰임
ex) boolean bool1 = true;
boolean bool2 = ! bool1;
삼항 연산자
- 자바에서 유일하게 피연산자 항목이 3개인 연산자이다.
- 조건식 ? 식 1 : 식 2 ; (조건식 ? 참일 때 사용할 값 1 : 거짓일 때 사용할 값 2)
ex ) int result1 = a > b ? a++ : b--;
int result2 = a < b ? a++ : (b == 0 ? a== : b++);
(삼항 연산자 안에 삼항 연산자를 중첩하여 쓰는 것도 가능)
연산자 종류와 우선 순위
반응형
'프로그래밍 > java' 카테고리의 다른 글
[자바JAVA] 메소드 (method)_ retrurn, static 메소드 호출 (0) | 2022.07.04 |
---|---|
[자바JAVA] 메소드(method) _ 전달인자와 매개변수를 이용한 호출 (0) | 2022.07.02 |
[자바 JAVA] 오버플로우/ 언더플로우 / 자동형변환 / 강제형변환 (0) | 2022.06.27 |
[자바JAVA] 변수와 상수 (선언하기 , 초기화하기, 규칙) (0) | 2022.06.26 |
[자바JAVA] 리터럴의 종류와 형태값 출력 및 연산방법 (0) | 2022.06.26 |