-
// 연산자_1
/*
1. 연산자와 피연산자
연산자: 연산을 수행하는 기호 (+, -, *, /)
피연산자: 연잔자의 연산 수행 대상 (x, 1, 2 등)
* 모든 연산자는 연산 결과를 반환한다.
** 연산결과를 반환하면 연산자가 아니다 (예: 괄호)
2. 연산자의 종류
1) 산술 연산자: + - * / %
2) 비교 연산자: > < >= <= == !=
3) 논리 연산자: (&&그리고 ||또는 !아님) & | ^ ~
4) 대입 연산자: =
5) 기타: (type)형변환, ?: 3항연산자,
3. 연산자의 우선순위
: 하나의 식(expression)에 연산자가 둘 이상 있을 때,
어떤 연산을 먼저 수행할지를 자동 결정하는 것 <=> 수동결정, 괄호 ()
** 연산자의 우선순위와 결합규칙 표 외우기!
연산자의 결합규칙
- 우선순위가 같은 연산자가 있을 때 ?
대입과 단항 연산자: 오른쪽 -> 왼쪽으로 연산이 진행된다.
나머지 모두: 왼쪽에서 -> 오른쪽으로 연산이 진행된다.
* 산술 > 비교 > 논리 대입 -> 대입은 제일 마지막에 수행
** 단항(피연산자1) > 이항(피연산자2) > 삼항(피연산자3)
*** 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
4. 증(++)감(--) 연산자
1) 증가 연산자: 피연산자의 값을 1 증가시킨다.
- 전위형(앞): 값이 참조되기 '전'에 증가 ==> j = ++j;
- 후위형(뒤): 값이 참조된 '후'에 증가시킨다 ==> j = j++;
* 증감 연산자가 '독립적'으로 사용된 경우, 전위형과 후위형의 차이가 없다.
2) 감소 연산자: 피연산자의 값을 1 감소시킨다.
5. 부호 연산자: '-'는 피연산자의 부호를 반대로 변경
*/
public class JAVA7 {
public static void main(String[] args) {
int i=5, j=0;
// j = i++; 후위형
j = i; // 후위형 분리, i의 값 5가 j에게 참조됨 ==> 6
i++; // i 1증가 ==>5
System.out.println("j=i++; 실행 후, i=" + i + ", j=" + j);
i=5; j=0;
// j= ++i; 전위형
++i; // 전위형 분리, i의 값 1증가 ==> 6
j = i; // 증가 후 j에게 i값 참조 ==> 6
System.out.println("j=++i; 실행 후, i=" + i + ", j="+ j);
int a = -10;
a = -10;
a = -a; // -로 인해서 -10이 10으로 출력
System.out.println(a); // 10
}
}'[JAVA]' 카테고리의 다른 글
9. 조건문/반복문_1 (0) 2023.05.11 8. 연산자_2 (0) 2023.05.10 6. 정수형의 오버플로우, 타입간변환방법 (0) 2023.05.08 5. 화면에서 입력 받기 - Scanner (0) 2023.05.08 4. printf 출력 (0) 2023.05.06