-
CHAPTER 3. (2) 연산자의 종류 (형변환 포함) ★java/ㄴ CHAPTER 3. 연산자 2020. 3. 12. 09:06
연산자 종류1
ㄴ 산술 : + - * / % << >> // 사칙 연산과 모듈러 연산(% 나머지)
ㄴ 비교 : > < >= <= == != // 크고 작음과 같고 다름을 비교
ㄴ 논리 : && || ! & | ^ ~ // AND OR 로 조건을 연결
ㄴ 대입 : = // 우변의 값을 좌변에 저장
ㄴ 기타 : (type) 형변환 연산자
?: 조건 연산자 // 특히 조건 연산자는 웹쪽에서 사용하는 경우 있음 (ex. cafe=="music" ? TV:tv)
instanceof instanceof연산자
연산자 특징
- 비교, 논리 연산자는 결과가 true / false로 나옴
- 나눗셈 연산자 사용시 피연산자가 정수형인 경우, 나누는 수로 0을 쓸 수 없음 (사용시 에러)
연산자 종류2
- 단항 : ++ -- // int a =10; a++;
- 이항 : + - * / =
- 삼항 : 값? 값:값
=> 피연산자의 개수로 연산자를 분류하기도 함
왜 연산자 종류가 두개?
ㄴ ex.
+는 산술 연산자이면서 이항 연산자이기도 함
?: 는 조건 연산자이면서 삼항 연산자이기도 함
왜 분류?
ㄴ 기능별, 개수별로 분류하는 이유 : 연산자마다 우선순위가 다르기 때문
증감 연산자
- 피연산자에 저장된 값을 1 증가 혹은 감소시킴
타입
- 전위형 : 값이 참조되기 전에 증가 (ex.++i;)
- 후위형 : 값이 참조된 후에 증가 (ex. i++;)
★ 주의
j = i++; // j=i 후에 i++
j = ++i; // ++i 후에 j=i
ㄴ System.out.println으로 출력시 결과가 다를 수 있음
System.out.println(i++); // 5
System.out.println(++i); // 6
형변환
- 변수 또는 상수의 타입을 다른 타입으로 변환
ex.
double d = 85.4;
int score = (int)d;
=> score 값은 85
★ 주의
- 형변환 연산자는 그저 피연산자의 값을 읽어서 지정된 타입으로 형변환하고, 그 결과를 반환할 뿐
=> 즉, 피연산자인 변수 d의 값은 형변환 후에도 변화가 없음
비교 연산자
- 두 피연산자를 비교하는 데 사용되는 연산자
- 주로 조건문, 반복문에서 사용
- 연산결과는 오직 true와 false
비교 연산자 종류
ㄴ 대소비교 연산 (ex. > < >= <= )
ㄴ 등가비교 연산
== 두 값이 같으면 true, 아니면 false
!= 두 값이 다르면 true, 아니면 false
★ 비교연산자==와 equals() 의 차이
System.out.println(a == b);
= false 비교연산자는 객체의 주소값을 비교한다 (두 문자열이 완전히 같은지, 주소까지 같은지 비교)
System.out.println(a.equals(b));
= true String객체의 equals(다른문자열)은 문자열 값을 비교한다 (문자열 내용이 같은지만 비교)
=> 내용이 같은지 비교할 땐 equals(), 두 문자열이 완전히 같은지 비교할 땐 ==
논리연산자
- 둘 이상의 조건을 연결하여 하나의 식으로 표현하게 해줌 // &&(AND)나 ||(OR)을 이용
종류
ㄴ && : 피연산자 양쪽 모두 true여야 결과가 true
ㄴ || : 피연산자 중 한쪽만 true여도 결과가 true
특징
- 대상도 논리여야 함
ex. year > 5 || dis > 50000
ㄴ year > 5의 결과값도 boolean
ㄴ dis > 50000의 결과값도 boolean
ㄴ ||의 값도 boolean
비교 연산자 &&와 & 차이?
ㄴ &&는 첫 항이 false면 뒤의 항 연산을 수행하지 않음
&는 뒤 연산가지 수행함
=> &&가 &보다 효율이 좋다 (|| 연산자 역시 | 보다 효율이 좋음)
조건 연산자
- 삼항 연산자로 삼항 연산자는 조건 연산자 하나 뿐
= 첫 번째 피연산자인 조건식의 평가에 따라 다른 결과 반환
ex. result = (x > y) ? x : y;
ㄴ x가 y보다 클 경우 x 반환, 아니면 y 반환해서 result에 대입
복합 대입 연산자
- 대입 연산자는 다른 연산자와 결합하여 사용될 수 있음ex. i = i + 3;은 i += 3; 로 축약 가능
'java > ㄴ CHAPTER 3. 연산자' 카테고리의 다른 글
CHAPTER 3. (1) 연산자와 피연산자란? (0) 2020.03.12