2024. 10. 11. 11:24ㆍjava
산술연산자(Arithmetic):
이항 연산자, 우선순위가 일반 수학과 동일함.
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / : 나눗셈
- %: 모듈러(Modular) → 나눗셈에서의 나머지를 구함
| 우선순위 | 연산자 |
| 1 | * , / , % |
| 2 | + , - |
만약, 연산 우선순위를 지정하고 싶다면 () 괄호를 이용해서 묶어주어야만 의도한 결과를 출력 가능
증감연산자(InDecrease):
단항연산자로 한 번에 1씩 증가(더하거나) / 감소(빼거나)하는 연산을 함
먼저 증감을 할건지, 나중에 증감을 할지에 따라서 연산자의 위치가 달라짐
[표현법]
- ++ : 값을 1증가 시키는 연산자
- -- : 값을 1감소 시키는 연산자
[연산자의 위치]
- 전위연산: ++값, --값 → 먼저 값을 증가하고 작업을 처리 ex) ++i
- 후위연산: 값++, 값-- → 먼저 값을 처리하고 나서 증가하거나 감소 ex) i++
// 전위연산
public void method1() {
int a = 10;
int b = ++a;
System.out.println("a: " + a); // 11
System.out.println("b: " + a); // 11
int num = 20;
int result = ++num * 3;
System.out.println(num); // 21
System.out.println(result); // 63
}
// 후위 연산
public void method2() {
int a = 10;
int b = a++; // 변수선언
System.out.println("a: " + a); // 11
System.out.println("b: " + b); // 10
int c = 20;
int d = c--;
System.out.println("c: " + c); // 19
System.out.println("d: " + d); // 20
int num = 20;
int result = num++ * 3;
System.out.println(num); // 21
System.out.println(result); // 60
}
복합대입연산자(Cmpound):
: 다른 산술연산자와 대입연산자가 결합한 것
자기 자신의 값과 해당 산술연산을 한 후 그 결과를 자기 자신에게 다시 대입하는 용도
[표현법]
- +=
- -+
- *=
- /=
- %=
비교연산자(Comparison):
- 두 개의 값을 가지고 비교하는 이항 연산자
- 비교연산을 한 결과 → 참인 경우 true / 거짓일 경우 false
- 특정 조건을 제시할 수 있는 조건문에서 조건식으로 사용 됨
[종류]
- 동등비교: 일치함을 비교
a == b: a와 b가 일치합니까?
a != b: a와 b가 일치하지 않습니까? - 대소비교: 크고 작음을 비교
a < b: a가 b보다 작습니까?
a > b: a가 b보다 큽니까?
a <= b: a가 b보다 작거나 같습니까?
a >= b: a가 b보다 크거나 같습니까?
→ 결과값은 true / false
public void method1() {
int a = 10;
int b = 25;
System.out.println("a < b: " + (a < b)); // true
System.out.println("a == b: " + (a == b)); // false
boolean result = a != b;
System.out.println(result); // true
// 무슨 값이 필요해? a
// 무슨 연산 해야해? -> 비교연산
// a를 2로 나눴을 때 나머지가 0인가?
System.out.println("a가 짝수입니까? :" + (a % 2 == 0)); // true
// 무슨 값이 필요해? b
// // 무슨 연산 해야해? -> 비교연산 b를 2로 나눠서 나머지를 비교
System.out.println("b가 홀수가 아닙니까? :" + (b % 2 != 1)); // false
논리연산자(Logical): && ||
두 개의 논리값을 연산하는 연산자
- AND(&&) : 논리값 && 논리값
- 두 개의 조건이 모두 true일 경우 true
| A | B | A and B |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | FALSE |
- or(||) : 논리값 ㅣㅣ 논리값
- 두 개의 조건 중 하나가 true일 경우 true
| A | B | A and B |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
삼항연산자 (Triple):
피 연산자가 3개 -> 값 3개와 연산자 1개로 이루어짐(조건문 형식으로 쓰임)
조건문: 값에 따라 연산을 처리하는 방식
결과 값이 true 일 경우 첫 번째 문장을 처리
결과 값이 false 일 경우 두 번째 문장을 처리
[ 표현식 ]
조건식 ? 실행문1 : 실행문2
char oddEven = (num % 2 != 0) ? '홀' : '짝';
public void method2() {
// 사용자에게 값을 입력받아 입력받은 정수가 홀 / 짝 판별해서 출력
Scanner sc = new Scanner(System.in);
System.out.println("숫자를 입력해주세요 > ");
int num = sc.nextInt();
// num % 2 != 0 처리 결과에 따라 변수에 다른 값을 대입하고 싶음 '홀' : '짝'
// num % 2 == 1
// num % 2 == 0
char oddEven = (num % 2 != 0) ? '홀' : '짝';
System.out.println(num + "은(는) " + oddEven + "수 입니다.");
}
'java' 카테고리의 다른 글
| 배열(array), 인덱스 (index) (3) | 2024.10.18 |
|---|---|
| 반복문_for문, while문, do-while문, break, continue (3) | 2024.10.18 |
| 조건문 _ if, if-else, switch, (1) | 2024.10.18 |
| 자료형 변환(Type Casting) (0) | 2024.10.11 |
| 변수(variable)선언 & 초기화 & 명명규칙 & 변수의 자료 (2) | 2024.10.01 |