1. 사칙연산
1) 기본적인 연산
int a = 10;
int b = 3;
// 기본 사칙연산
int sum = a + b;
System.out.println("sum = " + sum);
int sub = a - b;
System.out.println("sub = " + sub);
int mul = a * b;
System.out.println("mul = " + mul);
int div = a / b;
System.out.println("div = " + div); // ⚠️ 3 (소수점 버려짐)
double div2 = a / 3.0;
System.out.println("div2 = " + div2); // ✅ 3.333... (소수점 유지)
- 정수끼리 나누게 되면 소수점이 버려집니다.
- 소수점을 유지하려면 소수점과 연산을 시켜야 합니다.
2) 모듈러 연산 / 몫 계산하기
- 시간을 연산할시 좋음.
int mod = 10 % 3;
System.out.println("mod = " + mod); // 나머지: 1
int mod2 = 15 % 4;
System.out.println("mod2 = " + mod2); // 나머지: 3
int mod3 = 20 % 7;
System.out.println("mod3 = " + mod3); // 나머지: 6
2. 대입 연산자
1) 대입연산자
- 대입연산자(
=
) 는 변수에 값을 할당하는데 사용됩니다.
- 연산자 중에 제일 마지막에 수행됩니다.
int num = 5;
System.out.println("변수 num의 값: " + num); // 10
2) 복합 대입 연산자(+=
,-=
, *=
, /=
, %=
)
- 복합대입연산자는 누적 값을 구할 때 자주 활용
int num = 5;
num += 3; // num = num + 3;
System.out.println("+= 결과: " + num); // 8
num -= 2; // num = num - 2;
System.out.println("-= 결과: " + num); // 6
num *= 2; // num = num * 2;
System.out.println("*= 결과: " + num); // 12
num /= 3; // num = num / 3;
System.out.println("/= 결과: " + num); // 4
num %= 3; // num = num % 3;
System.out.println("%= 결과: " + num); // 1
3. 증감 연산자
1) 증감연산자 활용
- 증감 연산자는 변수를 1 증가 (++) 또는 1 감소 (--) 시킬 때 사용
int a = 5;
System.out.println("++a: " + (++a)); // 6 (먼저 증가 후 출력)
System.out.println("현재 a 값: " + a); // 6
2) 전위연산과 후위연산
- 증감 연산자는 변수 앞(
++i
)에 위치하는지 뒤(i++
)에 위치하는 지에 따라 실행 순서가 달라집니다.
// 1. 전위연산
int a = 5;
System.out.println("++a: " + (++a)); // 6 (먼저 증가 후 출력)
System.out.println("현재 a 값: " + a); // 6
// 2. 후위연산
int b = 5;
System.out.println("b++: " + (b++)); // 5 (출력 후 증가)
System.out.println("현재 b 값: " + b); // 6
4. 비교연산자
1) 같음 연산자
- 두 값이 같으면
true
, 다르면 false
를 반환 합니다.
System.out.println("10 == 10: " + (10 == 10)); // true
2) 다름 연산자
- 두 값이 다르면
true
, 같으면 false
를 반환합니다.
System.out.println("10 != 5: " + (10 != 5)); // true
3) 크기 비교 연산자
- 양쪽의 값을 비교했을때 논리에 맞으면
true
를 반환
- 논리에 어긋나면
false
를 반환합니다.
System.out.println("10 < 5: " + (10 < 5)); // false
System.out.println("10 >= 10: " + (10 >= 10)); // true
System.out.println("10 <= 5: " + (10 <= 5)); // false
연산자 |
설명 |
예제 |
결과 |
== |
두 값이 같으면 true |
10 == 10 |
true |
!= |
두 값이 다르면 true |
10 != 5 |
true |
> |
왼쪽 값이 크면 true |
10 > 5 |
true |
< |
왼쪽 값이 작으면 true |
10 < 5 |
false |
>= |
왼쪽 값이 크거나 같으면 true |
10 >= 10 |
true |
<= |
왼쪽 값이 작거나 같으면 true |
10 <= 5 |
false |
5. 논리연산자
1) AND 연산자(&&
) 는 두 조건이 모두 참일 때 true
를 반환합니다.
2) OR 연산자(||
) 둘 중 하나라도 참이면 true
를 반환합니다.
- OR연산자는 일반적인 키보드에서
Enter
키 위에 위치해있습니다.
Shift
+ \
를 누르면 |
을 입력할 수 있습니다.
3) NOT 연산자(!
) true
일때 false
로, false
일때 true
로 변경합니다.
true
→ false
false
→ true
연산자 |
설명 |
예제 |
결과 |
&& (AND) |
두 조건이 모두 참일 때만 true |
true && true |
true |
|
|
true && false |
false |
|
|
false && true |
false |
|
|
(OR) |
하나라도 참이면 true |
|
|
true |
|
|
|
false |
|
|
|
false |
|
! (NOT) |
참이면 거짓, 거짓이면 참으로 변경 |
!true |
false |
|
|
!false |
true |
6. 연산자 우선순위
1) 산술연산자 우선순위
2) 기본 연산자 우선순위
boolean flag = 10 + 5 > 12 && true;
System.out.println(flag);
// 실행 순서: (10 + 5) > 12 && true : 산술
// → 15 > 12 && true : 비교
// → true && true : 논리
// → flag = true 대입
3) 비교 연산자와 산술연산자의 우선순위
4) 논리 연산자 우선순위 ( !
→ &&
→ ||
)
!
가 제일 먼저 연산 → 두 번째로 &&
→ 마지막으로 ||
7. 문자열 비교
- 문자열 비교는 항상
.equals()
를 활용하세요.(동등성/동일성 문제)
==
는 문자열 값을 비교하는 것이 아니라 메모리 주소를 비교하는 방식
String text1 = "Hello";
String text2 = "Hello";
boolean isEqual = text1.equals(text2);
System.out.println("text1과 text2가 같은가? " + isEqual);