1. 연산자(Operator)
연산자 : 연산을 수행하는 기호. such as (+, -, *, / etc)
1.1 연산자(operator)와 피연산자(operand)
operator : 연산을 수행하는 기호 ( + - * / )
operand : 연산자의 작업 대상 ( variable, constant, literal, equation)
ex ) x + 3 : x, 3 은 operand, +는 operator
1.2 식( expression), 대입연산자( = )
expression : 연산자와 피연산자를 조합하여 계산하고자 하는 바를 표현한 것.
evaluation : 식을 계산하여 결과를 얻는 것.
1.3 연산자의 종류
p87 표 3-1, 자바의 정석

1.4 연산자의 우선순위와 결합규칙
skip
1.5 산술 변환 ( usual arithmetic conversion )
우측이 타입이 다르다면 형 변환 연산자로 타입을 일치시켜야 한다.
ex) int i =10; float f = 20.0f float result = f + (float)i;
두 연산자의 타입 중 더 큰 타입으로 일치시키는데, 작은 타입에서 큰 타입으로 형변환하는 경우, 자동적으로 형변환되므로 연산자를 생략할 수 있다.
float result = f + i ; (but, 나는 생략을 그다지 좋아하지 않는다)
산술변환의 규칙 (p92)
a. 두 연산자의 타입을 같게 일치시킨다 (보다 큰 타입으로 일치)
long + int -> long + long -> long
float + int -> float + float -> float
double + float -> double + double -> double
b. 피연산자의 타입이 int보다 작은 타입이면 자동으로 int로 변환된다.
byte + short -> int + int -> int
char + short -> int + int -> int
char + char -> int + int -> int
2. 단항 연산자
2.1 증감연산자 ++ --
++i : 값이 참조(실행)되기 전에 증가시킨다.
i++ : 값이 참조(실행)된 후에 증가시킨다.
eclipse 예제. 참조.
2.2 부호 연산자 + -
3. 산술 연산자 + - * / %
3.1 사칙연산자
3.2 나머지 연산자
4. 비교연산자
4.1 대소비교 연산자 < > <= >= : 참이면 true 거짓이면 false를 반환한다. 기본형중에서 boolean을 제외한 나머지 자료형에 다 사용할 수 있지만 참조형에 사용할 수 없다.
4.2 등가비교 연산자 == != : 참이면 true, 아니면 false
기본형, 참조형 모든 자료형에 사용 가능. 자료형의 경우 값이 같은지 확인 가능.
다만, 참조형의 경우 주소값을 가리킨다(같은 객체인지를 알 수 있다.)
= 하나만 사용하지 않는 이유? 이미 = 는 대입연산자로 사용하고 있기 때문이다.
문자열의 비교 // equals(), 두 문자열의 내용이 같으면 true, 다르면 false.
equalsIgnoreCase();
5. 논리연산자
: 두 개의 조건이 결합된 경우를 표현할 때, AND, OR로 연결하여 하나의 식으로 표현할 수 있게 해준다.
5.1 논리연산자 : left side 로, boolean형 또는 boolean형 값을 결과로 하는 조건식만을 허용한다.
효율적인 연산 : OR 를 사용할 때 left side || right side에서 left side가 이미 true 면 right side를 실행시키지 않는다.
AND를 사용할 때 left side && right side 에서 leftside가 이미 false면 right side를 실행시키지 않는다.
논리부정연산자 : !true 는 false를 반환 !false면 true를 반환
5.2 비트연산자 & | ^ ~ << >>
: 비트단위로 논리연산


5.3 비트 연산자 : | (OR연산자), &(AND연산자), ^(XOR연산자) : 다르면 1 같으면 0
비트 전환 연산자 ~ : 0은 1로 , 1은 0으로
쉬프트 연산자 << >>
6. 그 외 연산자.
6.1 조건 연산자 ? :
조건식 ? 식1 : 식2
조건식이 참일 때 식1 실행, 조건식이 거짓일 때 식2 입력.
ex) result = (x>y)? x : y ;
if(x >y)
result =x;
esle
result = y;
6.2 대입 연산자 = op=
lvalue and rvalue
X=3;
left Value, right Value.
복합대입 연산자
i +=3; i = i+3;
i -=3; i = i-3;
i *= 3; i= i*3;
i/=3; i = i/3;
i%=3; i = i%3;
i<<=3; i = i<<3;
i>>=3;
i&=3;
i^=3;
i |=3;
i *= 10 + j; i = i*(10+j);
'Java(k)' 카테고리의 다른 글
Chapter 05. 배열 array (0) | 2022.02.12 |
---|---|
Chapter 04. 조건문과 반복문 if, switch, for, while statement (0) | 2022.02.10 |
Chapter 02. 변수 variable (0) | 2022.02.10 |