2021.05.16 - [Study/Java Study] - 자바스터디 1주차 (3)
연산자 : 연산을 수행하는 기호 (+,-,*,/ 등)
피연산자 : 연산자의 작업 대상 (변수, 상수, 리터럴, 수식)
연산자의 종류
연산자의 우선순위
- 산술 > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행된다.
- 단항(1) > 이항(2) > 삼항(3). 단항 연산자의 우선순위가 이항 연산자보다 높다.
- 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
산술변환이란?
연산 수행 직전에 발생하는 피연산자의 자동 형변환
- 두 피연산자의 타입을 같게 일치시킨다.(보다 큰 타입으로 일치).
- 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
산술연산자란?
산술연산자는 흔히 알고있는 사칙연산 (+, -, *, / ) 그리고 나머지 연산자 (%)가 있다.
비트 연산자란?
비트 연산자는 데이터를 비트단위로 계산하는 연산자이다. 계산방법은 다음과 같다.
- 10진수를 2진수로 변경
- 2진수를 연산자 수식에 맞게 계산
- 2진수를 10진수로 변환 및 출력
증감연산자
증가 연산자(++) 피연산자의 값을 1 증가시킨다.
감소 연산자(--) 피연산자의 값을 1 감소시킨다.
타입 | 설명 | 사용예 |
전위형 | 값이 참조되기 전에 증가시킨다. | j = ++i; |
후위형 | 값이 참조된 후에 증가시킨다. | j = i++; |
전위형
j = ++i;
++i; // 증가후에
j = i; // 참조하여 대입
후위형
j = i++;
j = i; // 참조하여 대입후에
i++; // 증가
관계 연산자
이항 연산자로 피연산자의 크기를 비교하는 연산자이다. 연산의 결과는 true 또는 false이다.
<, >, <=, >= 두 피연산자의 크기를 비교 (boolean형의 값을 제외한 나머지 자료형 사용가능)
==, != : 두 피연산자의 값이 같은지 비교
==과 equals()의 차이점 |
==연산자는 비교하고자 하는 대상의 주소값을 비교 |
equals()메서드는 비교하고자 하는 대상의 내용 자체를 비교 |
논리 연산자
논리연산자 &&는 우리말로 그리고and에 해당하며, 두 피연산자가 모두 true일 때만 true를 결과로 얻는다.
||는 또는or에 해당하며, 두 피연산자 중 어느 한쪽만 true여도 true를 결과로 얻는다. 논리연산자는 피연산자로 boolean형 또는 boolean형 값을 결과로 하는 조건식만을 허용한다.
논리연산자의 피연산자가 true인 경우와 false인 경우의 연산결과를 표로 나타내면 다음과 같다.
x | y | x||y | x&&y |
true | true | true | true |
true | false | true | false |
false | true | true | false |
false | false | false | false |
논리 부정 연산자 !
피연산자가 true이면 false를, false이면 true를 결과로 반환한다.
x | !x |
true | false |
false | true |
3항 연산자
조건식 ? 식1 : 식2
int a = (5 < 4) ? 50 : 40; // 조건문 (5 < 4)가 참일때 50, 거짓일때 40이 된다.
조건식의 결과에 따라 조건식이 true이면 식1, false면 식2가 결과가 된다.
if문 대신 간결하게 사용할수있다. 하지만 3항연산자의 중복사용은 가독성이 떨어질 수 있으므로 if/else를 사용한다.
assignment(=) operator (대입 연산자)
대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.
instanceof 연산자
- 참조변수가 참조하는 인스턴스의 실제 타입을 체크하는데 사용
- 이항연산자이며 피연산자는 참조형 변수와 타입, 연산결과는 true, false
- instanceof의 연산결과가 true이면, 해당 타입으로 형변환이 가능
화살표(->) 연산자
java에서 화살표 연산자는 '람다표현식'이라고 불린다. 람다표현식의 경우 메소드를 하나의 식으로 표현함으로써 클래스를 작성하거나 객체를 생성하지 않아도 메소드를 사용할 수 있게 만들어준다. java8버전부터 새로 나온 표현식이다.
(optional) Java 13. switch 연산자
기존의 switch문에서의 :(콜론)을 ->(화살표)로 변경하여 사용할 수 있고 break문을 생략할 수 있다.
출처,
남궁성 - 자바의정석
백기선 - 라이브 자바
http://tcpschool.com/java/java_operator_assignment
https://dlsdn73.tistory.com/332
https://kimseungki94.tistory.com/12
'Study > Java Study' 카테고리의 다른 글
자바스터디 3주차 (1) (0) | 2021.05.24 |
---|---|
자바스터디 2주차 (2) (0) | 2021.05.23 |
자바스터디 1주차 (3) (0) | 2021.05.16 |
자바스터디 1주차 (2) (0) | 2021.05.16 |
자바스터디 1주차 (1) (0) | 2021.05.12 |
댓글