연산자란?
연산자는 프로그램에서 데이터를 처리하기 위해 사용하는 기호입니다. 예를 들어, 덧셈을 할 때 사용하는 '+' 기호가 연산자입니다.
주요 연산자 종류
종류 | 설명 |
산술 연산자 | +, -, *, /, % (덧셈, 뺄셈, 곱셈, 나눗셈, 나머지) 예: int result = 5 + 3; // result는 8 |
비교 연산자 | ==, !=, <, >, <=, >= 예: boolean isEqual = (5 == 5); // isEqual은 true |
논리 연산자 | && (AND), || (OR), ! (NOT) 예: boolean result = (true && false); // result는 false |
대입 연산자 | =, +=, -=, *=, /= 예: int x = 5; x += 3; // x는 8 |
증감 연산자 | ++, -- 예: int count = 0; count++; // count는 1 |
연산자 우선순위
수학에서처럼 자바에도 연산자 우선순위가 있습니다. 괄호 ()를 사용하면 우선순위를 변경할 수 있습니다.
주의사항
0으로 나누기는 오류를 발생시킵니다.
정수 나눗셈의 결과는 정수입니다. (예: 5 / 2 = 2)
산술 연산자
기호 | 설명 |
+ (덧셈) | 두 피연산자를 더합니다. |
- (뺄셈) | 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다. |
* (곱셈) | 두 피연산자를 곱합니다. |
/ (나눗셈) | 첫 번째 피연산자를 두 번째 피연산자로 나눕니다. |
% (나머지) | 첫 번째 피연산자를 두 번째 피연산자로 나눈 후의 나머지를 반환합니다. |
산술 연산자 사용 시 주의할 점
정수 나눗셈에서는 결과가 정수로 반환되며, 소수점 이하는 버려집니다1.
0으로 나누기를 시도하면 오류가 발생합니다.
연산자 우선순위는 일반적인 수학 규칙을 따릅니다 (곱셈과 나눗셈이 덧셈과 뺄셈보다 우선)
예제
int a = 5;
int b = 2;
System.out.println("a + b = " + (a + b)); // 출력: a + b = 7
System.out.println("a - b = " + (a - b)); // 출력: a - b = 3
System.out.println("a * b = " + (a * b)); // 출력: a * b = 10
System.out.println("a / b = " + (a / b)); // 출력: a / b = 2
System.out.println("a % b = " + (a % b)); // 출력: a % b = 1
산술 연산자는 boolean 타입을 제외한 모든 기본 타입에 사용 가능합니다
비교 연산자 (부등호 종류와 의미)
부등호 | 설명 | 예시 | 결과 |
> | 왼쪽 값이 오른쪽 값보다 크다 | 10 > 5 | true |
< | 왼쪽 값이 오른쪽 값보다 작다 | 10 < 5 | false |
>= | 왼쪽 값이 오른쪽 값보다 크거나 같다 | 10 >= 10 | true |
<= | 왼쪽 값이 오른쪽 값보다 작거나 같다 | 5 <= 10 | true |
! = | 두 값이 같지 않다 | 10 != 5 | true |
= = | 두 값이 같다 | 5 == 5 | true |
자바에서 부등호는 두 값을 비교하는 데 사용되는 연산자로, 비교 연산자의 일부입니다.
부등호의 종류와 의미는 다음과 같습니다
특징
결과값 : 부등호 연산자는 항상 논리값(true 또는 false)을 반환합니다.
사용 범위 : 숫자, 문자, 변수 등 비교 가능한 모든 데이터 타입에 사용할 수 있습니다.
주의사항
등가 비교(==)와 대입 연산자(=)를 혼동하지 않아야 합니다.
문자열 비교 시에는 .equals() 메서드를 사용하는 것이 일반적입니다.
논리 연산자
AND (&&): 두 피연산자가 모두 true일 때만 true를 반환합니다.
예: (a > 5) && (a < 10)
OR (||): 두 피연산자 중 하나라도 true이면 true를 반환합니다.
예: (a < 0) || (a > 100)
NOT (!): 피연산자의 논리값을 반대로 바꿉니다.
예: !(a == 0)
XOR (^): 두 피연산자의 값이 서로 다를 때 true를 반환합니다.
예: (a > 0) ^ (b > 0)
논리연산자 표
A | B | A and B | A or B | Not A |
A | B | A && B | A || B | ! A |
true (참) | true (참) | true (참) | true (참) | false(거짓) |
true (참) | false(거짓) | false(거짓) | true (참) | false(거짓) |
false(거짓) | true (참) | false(거짓) | true (참) | true(참) |
false(거짓) | false(거짓) | false(거짓) | false(거짓) | true(참) |
예제 코드
public class ComparisonExample {
public static void main(String[] args) {
int a = 10;
int b = 20;
// 부등식 연산
//
// 통상적으로 = 표시로 생각 할 수 있겠지만 = 표시는 저장이기때문에 사용이 아니다.
// 부등호 사용 예제
System.out.println(a > b); // true (a 는 20보다 크냐?)
System.out.println(a < b); // false (a는 20보다 작냐?)
System.out.println(a >= b); // true (a는 10보다 크거냐 같냐?)
System.out.println(a <= b); // false
System.out.println(a != b); // true (a는 10과 같나? a랑 10이랑 다르냐?)
System.out.println(a == b); // false (a와 b는 같습니까?)
System.out.println(a>5 & a<20); // (a는 5보다 크고 20보다 작냐?)
// 문자 비교 (ASCII 값 기준)
char x = 'A'; // ASCII: 65
char y = 'B'; // ASCII: 66
System.out.println(x < y); // true (65 < 66)
int score= 50;
점수가 80점 이상이면 A 학점 이라고 출력 하고
그렇지 않으면 B 학점 이라고 출력한다.
if (score >=80){ // **라면 → 조건
System.out.println("A학점"); // ~ 해라 → 액션
System.out.println("훌륭합니다");
} else //← 그렇지 않으면
{System.out.println("B학점");
System.out.println("노력하세요"); // ← 런걸 로직 이라고 한다
// 이런 구조를 "조건문"이라고 한다.
/ 컴퓨터에게 일 시킬 때 사용한다.
}
}
대입 연산자
대입 연산자는 변수에 값을 할당하는 데 사용되는 자바의 기본적인 연산자입니다.
기본 대입 연산자
'=' 기호를 사용합니다.
예: int x = 10;
복합 대입 연산자
대입 연산자와 다른 연산자를 결합한 형태입니다.
주요 복합 대입 연산자
부호 | 설명 |
+= | 더하기와 대입 |
-= | 빼기와 대입 |
*= | 곱하기와 대입 |
/= | 나누기와 대입 |
%= | 나머지와 대입 |
주의사항
복합 대입 연산자에서 연산자의 순서가 중요합니다.
예 : a =- 3은 a에 -3을 대입하는 것이며, a -= 3과는 다릅니다
증감 연산자
증감 연산자는 변수의 값을 1만큼 증가시키거나 감소시키는 자바의 연산자입니다. 주요 특징은 다음과 같습니다
사용 방법
전위 연산자: ++i 또는 --i
후위 연산자: i++ 또는 i--
전위와 후위 연산자의 차이:
전위 연산자: 변수의 값을 먼저 증가/감소시킨 후 연산에 사용합니다.
후위 연산자: 연산에 먼저 사용한 후 변수의 값을 증가/감소시킵니다.
예시
int i = 5;
System.out.println(++i); // 출력: 6
System.out.println(i++); // 출력: 6 (i는 7이 됨)
System.out.println(i); // 출력: 7
주의사항
증감 연산자는 변수에만 사용할 수 있습니다.
다른 연산과 함께 사용할 때는 전위와 후위의 차이에 주의해야 합니다.
'☕Java' 카테고리의 다른 글
Java 반복문 마스터하기: 초보자도 쉽게 이해하는 for, while, do-while (0) | 2024.12.08 |
---|---|
Java 조건문 마스터하기 : if, else, switch 완벽 가이드 (0) | 2024.12.08 |
Java 변수란 무엇일까? (0) | 2024.12.06 |
Java 문법 시작하기 (0) | 2024.12.06 |
Java 란 무엇인가? (0) | 2024.12.05 |