목차
산술 연산자
기본 산술 연산자
산술 연산자 | 사용 예 | 설명 | |
+ | 더하기 | a = 5 + 3 | 5와 3을 더한 값을 a에 대입 |
- | 빼기 | a = 5 - 3 | 5와 3을 뺀 값을 a에 대입 |
* | 곱하기 | a = 5 * 3 | 5와 3을 곱한 값을 a에 대입 |
/ | 나누기 | a = 5 / 3 | 5와 3을 나눈 값을 a에 대입 |
% | 나머지 | a = 5 % 3 | 5와 3을 나누고 생긴 나머지 값을 a에 대입 |
산술 연산자의 우선순위
public class Study {
public static void main(String[] args) {
int a = 3, b = 4, c = 5;
System.out.println(a + b - c);
System.out.println(a - c + b);
System.out.println(-c + a + b);
}
}
-------
출력 결과
2
2
2
public class Study {
public static void main(String[] args) {
int a = 3, b = 4, c = 5;
System.out.println(a / b * c);
System.out.println(a * c / b);
System.out.println(c / a * b);
}
}
------
출력 결과
0
3
4
위의 코드들은 우리가 평상시에 계산하면 나오는 과정과 결과가 동일하다. 더하기와 뺄셈이 같이 있고 곱하기와 나누기가 같이 있을 때 그런 결과가 나온다.
이 말은 즉슨 서로 간의 우선순위가 동일하기 때문이다.
그렇다면 더하기 뺄셈 곱셉 나누기 이 연산자들이 섞여 있는 경우에는? 앞에서 차례대로 계산한 것과 다른 결과가 나온다.
이 밖에도 몇가지 연산자가 더 있는데 이 친구들의 우선순위는 밑에서 확인하자.
public class Study {
public static void main(String[] args) {
int a = 3, b = 4, c = 5;
System.out.println(a * b + c);
System.out.println(c + a * b);
}
}
------
출력 결과
17
17
대입 연산자
자바의 가장 기본적인 대입 연산자는 =으로, 이는 오른쪽의 값이나 계산 결과를 왼쪽의 변수에 대입하라는 의미이다.\
public class Study {
public static void main(String[] args) {
int a = 3;
a = 4;
a = 5;
}
}
복합 대입 연산자
복합 대입 연산자 | 사용 예 | 설명 |
+= | num += 3 | num = num + 3과 같다. |
-= | num -= 3 | num = num - 3과 같다. |
*= | num *= 3 | num = num * 3과 같다. |
/+ | num /= 3 | num = num / 3과 같다. |
%= | num %= 3 | num = num % 3과 같다. |
증감 연산자
증감 연산자 | 사용 예 | 설명 |
++ | num++ ++num |
num = num + 1, num += 1과 같다. |
-- | num-- --num |
num = num - 1, num -= 1과 같다. |
public class Study {
public static void main(String[] args) {
int a = 3;
System.out.println(a);
a++;
System.out.println(a);
a += 1;
System.out.println(a);
a--;
System.out.println(a);
}
}
------
출력 결과
3
4
5
4
비교 연산자와 논리 연산자
비교 연산자
비교 연산자는 말 그대로 어떤 것이 큰지, 작은지, 같은지를 비교하는 연산자로, 관계 연산자라고도 불린다.
이러한 비교 연산자는 결과로 참(True), 거짓(False)를 돌려주는데 단독으로 사용하는 경우는 거의 없고 조건문이나 반복문과 함께 사용한다.
100 < 200 | 참(true) |
100 > 200 | 거짓(false) |
식 | 반환 값 |
비교 연산자 | 의미 | 설명 |
== | 같다 | 왼쪽 값과 오른쪽 값이 같다면 참 |
!= | 같지 않다 | 왼쪽 값과 오른쪽 값이 다르면 참 |
> | 크다 | 왼쪽 값이 오른쪽 값보다 크다면 참 |
< | 작다 | 왼쪽 값과 오른쪽 값보다 작다면 참 |
>= | 크거나 같다 | 왼쪽 값이 오른쪽 값보다 크거나 같다면 참 |
<= | 작거나 같다 | 왼쪽 값이 오른쪽 값보다 작거나 같다면 참 |
import java.util.Scanner;
public class Study {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int score = 0;
System.out.print("실기 시험 점수를 입력하세요: ");
score = s.nextInt();
System.out.println(score >= 70);
s.close();
}
}
------
입력 값 : 100
출력 값 : true
논리 연산자
비교 연산자가 여러 번 필요할 때는 논리 연산자를 사용한다.
논리 연산자 | 의미 | 설명 | 사용 예 |
&& | 그리고(and) | 둘 다 참이어야 참 | (a > 10) && (a < 20) |
|| | 또는(or) | 둘 중 하나만 참이어도 참 | (a == 10) && (a == 20) |
! | 부정(not) | 참이면 거짓/ 거짓이면 참 | !(a > 10) |
예를 들어 10보다 크고 20보다 작아야한다는 조건이 필요할 때 (a > 10) && (a < 20)처럼 작성한다.
public class Study {
public static void main(String[] args) {
int num = 99;
System.out.println( (num > 100) && (num < 200) );
System.out.println( (num == 99) || (num == 100) );
System.out.println( !(num == 100) );
}
}
------
출력 결과
false
true
true
연산자의 우선순위
우선 자바라는 언어에는 다양한 연산자가 존재한다. 따라서 코딩을 하다 보면 한 줄에 여려 개의 연산자가 동시에 들어가기도 한다.
이러한 경우 조심해야 하는 것이 연산자들의 우선순위이다. 우리가 + 와 *를 두고 계산할 때 *(곱셈) 먼저 하는 것과 마찬가지이다.
우선순위 | 연산자 | 설명 | 순위가 같을 때 진행 방향 |
1 | () [] | 1차 연산자 | --> |
2 | + - ++ -- ~ ! | 단항 연산자(변수 또는 상수 앞에 붙는다.) | <-- |
3 | * / % | 산술 연산자 | --> |
4 | + - | 산술 연산자 | --> |
5 | << >> >>> | 비트 시프트 연산자 | --> |
6 | < <= > >= instanceof | 비교 연산자 | --> |
7 | == != | 비교 연산자 | --> |
8 | & | 비교 연산자 | --> |
9 | ^ | 비교 연산자 | --> |
10 | | | 비교 연산자 | --> |
11 | && | 논리 연산자 | --> |
12 | || | 논리 연산자 | --> |
13 | ?: | 조건 삼항 연산자 | --> |
14 | = += -= *= /= %= &= ^= I= <<= >>= |
대입 연산자 | <-- |
많기도 하다 하지만 중요하니 꼭 알아두자.
요약
- 대표적인 산술 연산자는 더하기(+), 빼기(-), 곱하기(&), 나누기(/), 나머지(%)이다.
- 정수를 정수로 나눈 결과는 정수이다.
- 더하기와 빼기가 함께 있을 때는 앞에서부터 차례대로(왼쪽부터 오른쪽으로) 계산하며 나누기 연산 역시 순서를 바꿔도 같은 결과가 나오기에 앞에서부터 차례대로 계산하면 된다.
- 더하기, 빼기와 곱하기, 나누기가 함께 있을 때는 곱하기, 나누기가 먼저 계산된다.
- 자바에서는 Math.pow(밑수, 지수) 메서드를 통해 제곱 연산이 가능하다.
- 대입 연산자(=)는 오른쪽의 값이나 계산 결과를 왼쪽의 변수에 대입하라는 의미이다.
- 복합 대입 연산자는+=, -=, *=, /=, %= 등이 있고, 증감 연산자는 ++, --가 있다.
- 비교 연산자(관계 연산자)는 어떤 것이 크며 작고 같은지를 비교하는 연산자이다.
- 비교 연산자에는 ==,!=, >, <, >=, <=등이 있다.
- &&, ||, ! 등의 논리 연산자는 비교 연산자가 여러 개일 때 사용한다.
'JAVA > 자바 공부' 카테고리의 다른 글
데이터형과 문자열(4장) (1) | 2024.06.14 |
---|---|
변수(1장) (0) | 2024.06.12 |