CH05 변수, 연산자, 수식
03. 연산자
+ 연산자(operator)는 특정한 연산을 나타내는 기호
+ 피연산자(operand)는 연산의 대상
+ 예 ) a + b
a, b - 피 연산자
+ - 연산자
★ 연산자
▲ 자바에서 지원하는 연산자, 출처: 교재 84쪽
+ 연산자들 사이에는 우선순위가 존재한다.
+ 위 스샷에서 위에 있을 수록 우선 순위가 높다.
+ 우선 순위가 높을 수록 연산시 먼저 실행된다.
+ 우선 순위가 같은 연산자는 대입 연산자를 제외하고 왼쪽에서 오른쪽으로 계산한다.
+ 대입 연산자는 오른쪽에서 왼쪽으로 계산한다.
04. 대입, 산술, 단항 연산자
★ 대입 연산자
+ 대입 연산자(=)는 왼쪽에 있는 변수에 오른쪽에 있는 수식의 값을 계산하여 대입한다.
+ 왼쪽은 반드시 변수이어야 한다.
★ 산술 연산자
▲ 산술 연산자의 종류, 교재 87쪽
▲ 산술 연산자를 이클립스로 돌려본 스크립트
+ 사칙연산은 비교적 익숙할것
+ 나누기(/)의 경우 소수점 이하는 버리고 몫만 나옴
+ 나머지(%)의 경우 몫은 버리고 나머지만 나옴
★ 단항 연산자
▲ 단항 연산자의 종류, 교재 88 쪽
+ 증감 연산자는 ++ 기호나 -- 기호를 사용하여 변수의 값을 증가시키거나 감소시키는 연산자
+ 증감 연산자가 피연산자의 앞에 붙냐 뒤에 붙냐에 따라 해석이 다름
+ 앞에 붙으면 전치수식 이라하여, 먼저 증감한 뒤에 변수를 사용함
+ 뒤에 붙으면 후치수식 이라하여, 먼저 변수를 사용하고 그 후에 증감을 실행함
+ 10번줄: 'n' 은 i 값이 먼저 대입 된 다음에 ++ 한다. 그래서 n = 1
+ 11번줄: 'i' 는 n을 계산하는 과정에서 ++ 되었다. 그래서 i = 2
+ 12번줄: 'j' 도 m을 계산하는 과정에서 ++ 되었다. 그래서 j = 2
+ 13번줄: 'm' 은 ++한 j 값이 대입되었다. 그래서 m = 2
★ 복합 대입 연산자
▲복합 대입 연산자의 종류와 의미
+ 대입 연산자(=)와 산술 연산자를 합쳐 놓은 연산자
+ 소스를 간결하게 만들기 위해 사용
★ 관계 연산자
▲ 관계 연산자의 종류와 의미, 출처: 교재 89쪽
+ 두개의 피 연산자를 비교하기 위해 사용
+ 그 결과는 참(true)과 거짓(false)으로 나온다.
★ 논리 연산자
▲ 논리 연산자, 출처: 교재 90쪽
★ 삼항 연산자
+ 논리연산자의 확장판 같은 것
+ 첫번째 항의 연산결과가 참이면 두번째 항을, 거짓이면 세번째 항을 결과값으로 가진다.
+ 방법 : 조건식 ? 참 : 거짓
→ 세미콜론(;)이 아니라 콜론(:) 임을 주의해야 함.
05. 형변환
+ 형변환(cast)은 어떤 자료형의 값을 다른 자료형의 값으로 바꾸어 주는 연산
+ 방법
→ (새로운 자료형) 수식;
예) y = (double) x;
→ int형인 x를 위와 같이 double형으로 형변환하여 y에 대입할 수 있다.
★ 자동적인 형변환
+ 자바는 자동으로 형변환을 한다.
+ 수식에 서로 다른 자료형이 등장하면 그 중 가장 큰 타입으로 변환한다.
예) double d = 1 + 1.1;
→ 1은 정수지만 실수인 1.0으로 변환된 후에 1.1과 더해져 2.1이 된다.
★ 축소 변환(narrowing conversion)
+ 더 작은 크기의 타입으로 형변환
+ 정밀한 숫자나 큰 숫자를 나타내는 정보를 잃을 가능성이 있다.
예) int i = (int) 1.1;
→ 1.1은 실수지만 정수형으로 형변환 하였기 때문에 i 에는 1만 저장된다.
★ 확대 변환(widening conversion)
+ 더 큰 크기의 타입으로 형변환
예) double d = (double) 1;
→ 정수 1이 실수 1.0으로 형변환 되어 저장
→ 정수 10을 실수 3.0으로 나눈 결과 실수3.3333333333333 이 나옴
'Java > Java 공부' 카테고리의 다른 글
반복문 (0) | 2016.07.18 |
---|---|
조건문 (0) | 2016.07.18 |
변수 (variable) (0) | 2016.07.18 |
Java Programming basic (0) | 2016.07.18 |
이클립스 (Eclipse) 설치 (1) | 2016.07.18 |