1.1 연산자와 피연산자
연산자 - 연산을 수행하는 기호(+,-,*,/등)
피연산자 - 연산자의 작업 대상 (변수,상수,리터럴,수식)
1.3 연산자의 종류
종류 | 연산자 | 설명 |
산술 연산자 | + - * / % << >> | 사칙연산과 나머지연산 |
비교연산자 | > < >= <= == != | 크고 작음과 같고 다름을 비교 |
논리연산자 | && || ! & | ^ ~ | 그리고(AND)와 또는(OR)으로 조건연결 |
대입연산자 | = | 우변의 값을 좌변에 저장 |
기타 | (type) ? : inmstanceof | 형변환연산자,삼항연산자,instaneceof연산자 |
연산자의 결합규칙
1. 산술> 비교 > 논리 >대입. 대입은 제일 마지막에 수행됨
2.단항(1) >이항(2) > 삼항 (3) . 단항 연산자의 우선순위가 이항 연산자보다 높음.
3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽임.
1.5 산술 변환
이항 연산자는 두 피연산자의 타입이 일치해야 연산이 가능.
대부분의 경우 두 피연산자의 타입중에서 더 큰타입으로 일치시키는데,
그이유는 작은 타입으로 형변환하면 원래의 값이 손실될 가능성이 있음.
작은타입에서 큰타입으로는 자동형변환되서 형변환연산자 생략가능
2 단항 연산자
2.1 증감연산자 ++ --
증감연산자(++) 피연산자의 값을 1 증가시킨다
감소 연산자(--) 피연산자의 값을 1 감소 시킨다
피연산자의 왼쪽에 위치하면 '전위형(prefix)', // j = ++i; 값이 참조되기 전에 증가
오른쪽에 위치하면 '후위형(postfix)'라 한다 // j = i++; 값이 참조된 후에 증가
3 나머지 연산자 %
나머지 연산자는 왼쪽의 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값을 결과로 반환하는 연산자 이다
4 비교 연산자
4.1 대소비교 연산자 (두 피연산자의 값의 크기를 비교하는 연산자)
비교연산자 | 연산결과 |
> | 좌변 값이 크면 true,아니면 false |
< | 좌변 값이 작으면 true,아니면 false |
>= | 좌변 값이 크거나 같으면 true, 아니면 false |
<= | 좌변 값이 작거나 같으면 true, 아니면 false |
4.2 등가비교 연산자 (두 피연사의 값이 같은지 또는 다른지를 비교하는 연산자)
비교연산자 | 연산결과 |
== | 두 값이 같으면 true, 아니면 false |
!= | 두 값이 다르면 true, 아니면 false |
문자열의 비교
- 두 문자열을 비교할때는 , 비교연산자 '=='대신 equals() 라는 메서드를 사용해야함.
5 논리연산자
5.1 논리연산자 - && , || , !
&& - 그리고(AND)에 해당하며 두 피연산자가 모두 true 일때만 true
|| - 또는(OR)에 해당하며, 두 피연산자중 어느 한쪽만 ture이어도 true
*효율적인 연산
논리 연산자의 또 다른 특징은 효율적인 연산을 한다.
OR연산'||'의 경우 두 피연산자 중 어느 한쪽만 '참'이어도 전체결과가 '참'이므로
좌측 피연산자가 'true(참)'이면 우측 피연산자의 값은 평가 하지않음
AND 연산'&&'의 경우도 마찬가지로 좌측이 '거짓'이면 우측 피연산자값 평가 안함
6 그 외의 연산자
삼항연산자 // 조건식 ? 식1: 식2: 조건식이 true 라면 식1이 ,false라면 식2의 연산결과가 됨
'읽은 책 정리 > 자바의정석 3판' 카테고리의 다른 글
[Java] Chapter07 객체지향 프로그래밍 (0) | 2021.03.22 |
---|---|
[Java] Chapter06 객체지향언어 (0) | 2021.03.22 |
[Java] Chapter05 배열 (0) | 2021.03.21 |
[Java] Chapter04 조건문과 반복문 (0) | 2020.12.11 |
[Java] Chapter 02 변수 (0) | 2020.12.06 |