Java 연산자 기초와 사용법
Java에서 연산자는 변수나 상수 등을 조작하거나 두 개 이상의 값을 비교하는 데 사용되는 중요한 도구입니다. 이 문서에서는 연산자의 기본 개념을 이해하고, 예제를 통해 연산자 사용법을 익히는 데 초점을 맞추겠습니다. 초보자들이 쉽게 이해하고 실습할 수 있도록 실습 예제를 중심으로 설명합니다.
1. Java main() 메서드
Java 프로그램의 시작점은 main() 메서드입니다. main() 메서드는 Java Virtual Machine(JVM)이 프로그램을 실행할 때 가장 먼저 호출하는 메서드로, 모든 Java 프로그램은 이 메서드를 포함해야 실행 가능합니다.
public class ExampleClass {
public static void main(String[] args) {
System.out.println("전달받은 매개변수의 개수: " + args.length);
for (String arg : args) {
System.out.println("매개변수: " + arg);
}
}
}
위 코드에서는 명령행 인수로 전달된 값을 출력하는 방법을 보여줍니다. 예를 들어, 터미널에서 다음과 같은 명령어를 실행하면,
java ExampleClass arg1 arg2 arg3
이 코드는 다음과 같은 결과를 출력합니다.
전달받은 매개변수의 개수: 3
매개변수: arg1
매개변수: arg2
매개변수: arg3
main() 메서드의 특징
- public 접근 제어자를 사용하여 어디서든 접근할 수 있습니다.
- static 메서드로, 클래스의 인스턴스를 생성하지 않고도 호출 가능합니다.
- 반환값이 없습니다(void).
- 매개변수로 String[] args를 받아 명령행 인수를 처리합니다.
2. Java 연산자의 종류
Java에서 연산자는 다양한 종류가 있으며, 주로 산술, 비교, 논리 등의 연산을 수행하는 데 사용됩니다.
2.1 산술 연산자
산술 연산자는 기본적인 수학 연산을 수행하는 연산자입니다. 자주 사용하는 산술 연산자는 다음과 같습니다:
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / : 나눗셈
- % : 나머지
package example;
public class ExampleClass {
public static void arithmeticOP() {
int i = 9, j = 4;
int sum = i + j; // 13
System.out.println("Sum : i + j = " + sum);
int difference = i - j; // 5
System.out.println("Difference : i - j = " + difference);
int product = i * j; // 36
System.out.println("Product : i * j = " + product);
int quotient = i / j; // 2
System.out.println("Quotient : i / j = " + quotient);
int remainder = i % j; // 1
System.out.println("Remainder : i % j = " + remainder);
}
public static void main(String[] args) {
ExampleClass.arithmeticOP(); // 정적 메서드 호출
ExampleClass exCls = new ExampleClass(); // 객체 생성 후 메서드 호출
exCls.arithmeticOP();
}
}
위 코드에서 산술 연산을 이용한 다양한 결과를 확인할 수 있습니다. 실습을 통해 각각의 연산자가 어떻게 동작하는지 이해하는 것이 중요합니다.
2.2 비교 연산자
비교 연산자는 두 피연산자 간의 관계를 비교하여 true 또는 false 값을 반환합니다. 자주 사용하는 비교 연산자는 다음과 같습니다:
- == : 두 값이 같으면 참
- != : 두 값이 다르면 참
- > : 왼쪽 값이 크면 참
- < : 오른쪽 값이 크면 참
- >= : 왼쪽 값이 크거나 같으면 참
- <= : 오른쪽 값이 크거나 같으면 참
public static void comparisonOP() {
int i = 10, j = 20;
System.out.println("i == j: " + (i == j)); // false
System.out.println("i != j: " + (i != j)); // true
System.out.println("i > j: " + (i > j)); // false
System.out.println("i < j: " + (i < j)); // true
System.out.println("i >= j: " + (i >= j)); // false
System.out.println("i <= j: " + (i <= j)); // true
}
위의 비교 연산자 예제를 실행해보고 결과를 확인하세요. 실습을 통해 비교 연산자들이 조건문에서 어떻게 동작하는지 이해할 수 있습니다.
2.3 논리 연산자
논리 연산자는 논리적인 조건을 조합하여 복잡한 조건식을 만들 때 사용합니다. 자주 사용하는 논리 연산자는 다음과 같습니다:
- && (AND) : 두 조건이 모두 참일 때만 참을 반환
- || (OR) : 두 조건 중 하나라도 참이면 참을 반환
- ! (NOT) : 조건의 반대를 반환
public static void logicalOP() {
boolean state1 = true, state2 = false;
System.out.println("state1 && state2: " + (state1 && state2)); // false
System.out.println("state1 || state2: " + (state1 || state2)); // true
System.out.println("!state1: " + (!state1)); // false
}
위 예제는 간단한 논리 연산자를 사용하는 방법을 보여줍니다. 논리 연산자를 활용하여 조건을 결합하는 다양한 방법을 실습해보세요.
2.4 증감 연산자
증감 연산자는 변수의 값을 1씩 증가시키거나 감소시킵니다. 전위와 후위에 따라 값이 변경되는 시점이 달라집니다.
- ++i : 값을 먼저 증가시키고 연산
- --i : 값을 먼저 감소시키고 연산
- i++ : 현재 값을 먼저 사용하고 나서 증가
- i-- : 현재 값을 먼저 사용하고 나서 감소
public static void incrementOP() {
int i = 5;
System.out.println("++i = " + (++i)); // 6
System.out.println("--i = " + (--i)); // 5
System.out.println("i++ = " + (i++)); // 5
System.out.println("i = " + i); // 6
System.out.println("i-- = " + (i--)); // 6
System.out.println("i = " + i); // 5
}
2.5 삼항 연산자
삼항 연산자는 조건에 따라 다른 값을 반환하는 연산자입니다. 기본 구문은 다음과 같습니다.
(조건식) ? 참일 때 반환 값 : 거짓일 때 반환 값
public static void ternaryOP() {
int i = 30, j = 40;
int bigger = (i > j) ? i : j;
System.out.println("bigger: " + bigger); // 40
boolean condition = (i > j) ? true : false;
System.out.println("condition: " + condition); // false
}
삼항 연산자는 조건문을 단순하게 표현할 때 유용합니다. 여러 조건을 결합하여 실습해보세요.
2.6 비트 연산자
비트 연산자는 데이터를 비트 단위로 조작하는 연산자입니다. 자주 사용하는 비트 연산자는 다음과 같습니다:
- & : AND 연산
- | : OR 연산
- ^ : XOR 연산
- ~ : NOT 연산
- << : 왼쪽 시프트
- >> : 오른쪽 시프트
- >>> : 부호 없는 오른쪽 시프트비트 연산자는 성능 최적화나 하드웨어와 가까운 작업에서 유용하게 사용됩니다.
public static void bitwiseOP() { int i = 5; // 0000 0101 int j = 3; // 0000 0011 System.out.println("i & j: " + (i & j)); // 1 : 0000 0001 System.out.println("i | j: " + (i | j)); // 7 : 0000 0111 System.out.println("i ^ j: " + (i ^ j)); // 6 : 0000 0110 System.out.println("~i: " + (~i)); // -6 : 1111 1010 System.out.println("i << 1: " + (i << 1)); // 10 : 0000 1010 System.out.println("i >> 1: " + (i >> 1)); // 2 : 0000 0010 System.out.println("i >>> 1: " + (i >>> 1)); // 2 : 0000 0010 }
3. 결론
이번 챕터에서는 Java에서 제공하는 다양한 연산자들에 대해 다루었습니다. 각 연산자를 활용해 코드를 작성하는 방법과 그 결과를 예제 코드로 살펴보았습니다.
연산자는 Java 프로그래밍에서 기본적인 역할을 담당하며, 코드의 효율성을 높이는 데 큰 기여를 합니다. 특히 조건문, 반복문과 함께 자주 사용되며, 산술 연산자와 비교 연산자, 논리 연산자는 개발 과정에서 매우 빈번하게 사용됩니다. 따라서 이러한 연산자의 특성을 정확히 이해하고 자주 실습하는 것이 중요합니다.
연산자들을 활용하여 다양한 조건식과 계산식을 직접 작성해보고, 결과가 예상과 맞는지 확인해 보세요. 이 과정을 통해 연산자에 대한 깊이 있는 이해를 쌓을 수 있습니다.
'JAVA > JAVA 기초' 카테고리의 다른 글
Java 반복문 (0) | 2024.09.27 |
---|---|
Java에서 조건문(if, switch) 다루기 (0) | 2024.09.26 |
Java에서 배열(Array) 사용하기 (0) | 2024.09.24 |
JAVA 자료형 및 변수 (0) | 2024.09.23 |
JAVA 개발 환경 설치하기 (0) | 2024.09.22 |