연산자(Operator) - 연산에 사용되는 표시나 기호
피연산자(Operand) - 연산자와 함께 연산되는 데이터
연산식(Expression) - 연산자와 피연산자를 사용하여 기술한 식
자바에서 연산이 복합적으로 구성되어 있다면, 우선순위에 따라 수행된다.
- 단항 - 이항 - 삼항
- 산술 - 비교 - 논리 - 대입
순이다.
우선순위가 같으면 왼쪽에서 오른쪽으로 수행된다.
다만, 대입연산자는 반대로 오른쪽에서 왼쪽으로 수행된다.
우선순위 순으로 나열한 리스트(위가 높음) :
- 증감(++ --), 보호(+ -), 논리(!)
- 산술(* / %)
- 산술(+ -)
- 비교(< > < = > = instanceof)
- 비교(== !=)
- 논리(&)
- 논리(^)
- 논리(|)
- 논리(&&)
- 논리(||)
- 조건(? :)
- 대입(= += -= *= /= %=)
증감연산자
++혹은 --가 변수의 앞이나 뒤에 붙여 사용되는 연산자.
앞에 붙으면 실행 전에 증감이 나타나고,
뒤에 붙으면 실행 후에 증감이 나타난다.
public class IncreaseDecreaseOperatorExample {
public static void main(String[] args) {
int x = 2;
int y = 15;
int z;
x++;
++x;
System.out.println("x= " + x);
y--;
--y;
System.out.println("y= " + y);
z = x++;
System.out.println("z= " + z);
System.out.println("x= " + x);
z = ++x;
System.out.println("z= " + z);
System.out.println("x= " + x);
z = ++x + y++;
System.out.println("z= " + z);
System.out.println("x= " + x);
System.out.println("y= " + y);
}
}
논리 부정 연산자 (!)
true를 false로, false를 true로.
부정 값. (토글toggle 기능)
boolean타입에서만 사용.
public class DenyLogicOperatorExample {
public static void main(String[] args) {
boolean exclamation_mark = true;
System.out.println(exclamation_mark);
exclamation_mark = !exclamation_mark;
System.out.println(exclamation_mark);
exclamation_mark = !exclamation_mark;
System.out.println(exclamation_mark);
}
}
산술연산자
+, -, *, /, %
피연산자가 byte, short, char 타입이면 int타입으로 변환 후 사용됨
피연산자가 정수 타입이고, long 타입이 포함되면, 모두 long 타입으로 변환됨
피연산자 중 실수 타입이 있으면, 허용범위가 큰 실수 타입으로 변환됨.
비교연산자
==, !=, >, >=, <, <=
피연산자의 크고 작음을 비교하여 true 혹은 false를 산출 (왼쪽 피연산자가 기준이됨)
동등 비교 연산자(==과 !=)는 모든 타입에서 사용된다.
그 외 비교연산자는 boolean외 모든 기본 타입에서 사용된다.
논리연산자
- AND(논리곱) : 피연산자가 모두 true일 경우에만 연산 결과가 true
- OR(논리합) : 피연산자 중 하나만 true이면 연산 결과가 true
- XOR(배타적 논리합) : 피 연산자 하나는 true, 다른 하나는 false이면 연산 결과가 true
- NOT(논리 부정) : 피 연산자의 논리 값을 바꿈(단항)
대입연산자
단순 대입 연산자 = : 오른쪽의 피연산자 값을 왼쪽 변수에 저장
복합대입 연산자
- += : 변수=변수+피연산자
- -= : 변수=변수-피연산자
- *= : 변수=변수*피연산자
- /= : 변수=변수/피연산자
- %= : 변수=변수%피연산자
- &= : 변수=변수&피연산자
- |= : 변수=변수|피연산자
- ^= : 변수=변수^피연산자
삼항연산자
3개의 피연산자를 사용하는 연산
? 앞의 조건식에 따라 콜론 앞뒤의 피연산자를 선택하여 사용
첫 연산식이 true일 시 : 앞 연산식 수행 / false일 시 : 뒤 연산식 수행
조건식 ? 값 또는 연산식(true일때) : 값 또는 연산식(false일때)
public class ConditionalOperationExample {
public static void main(String[] args) {
int samHang = 10;
String result = (samHang < 20) ? "small" : "big";
System.out.println(samHang + "은 20보다 작은가? " + result );
}
}
출처 : 혼자 공부하는 자바 (신용권)
'Java' 카테고리의 다른 글
자바 #005_참조 (0) | 2022.12.12 |
---|---|
자바 #004_조건문, 반복문 (0) | 2022.12.12 |
자바 #002_변수, 리터럴 (0) | 2022.12.08 |
자바 #001_자바 시작하기 (0) | 2022.12.06 |
Java 내가 보려고 작성한 기본 기초 문법, 용어 정리 (0) | 2022.12.05 |
댓글