표현식
Java에서 표현식(Expressions)은 변수, 연산자, 메서드 호출 등을 언어의 문법에 따라 구성하여 단일 값을 평가하는 코드 조각입니다. 표현식은 프로그램의 핵심 요소이며, 다양한 형태와 복잡도로 나타날 수 있습니다.
표현식의 기본 구조
표현식은 다음과 같은 요소들로 구성됩니다:
- 변수: 이미 선언된 변수를 참조합니다.
- 리터럴: 직접적인 값(예: 숫자, 문자열, 불리언 값) 사용합니다.
- 연산자: 산술, 비교, 논리 등의 작업을 수행합니다.
- 메서드 호출: 함수나 메서드를 실행합니다.
표현식의 예시
다음은 다양한 유형의 표현식 예시입니다:
public class ExpressionExamples {
public static void main(String[] args) {
// 변수와 리터럴의 조합
int x = 5;
int y = 3;
int sum = x + y;
System.out.println("Sum: " + sum);
// 메서드 호출
String greeting = "Hello";
int length = greeting.length();
System.out.println("Greeting length: " + length);
// 산술 연산
double pi = Math.PI;
double area = pi * 5 * 5;
System.out.println("Circle area: " + area);
// 비교 연산
boolean isEqual = 5 == 5;
System.out.println("Is 5 equal to 5? " + isEqual);
// 논리 연산
boolean isGreater = 10 > 5;
boolean isEven = 10 % 2 == 0;
boolean result = isGreater && isEven;
System.out.println("Is 10 greater than 5 and even? " + result);
// 문자열 연결
String name = "Alice";
int age = 30;
String description = name + " is " + age + " years old.";
System.out.println(description);
// 배열 요소 접근
int[] scores = {90, 85, 95};
int average = (scores[0] + scores[1] + scores[2]) / 3;
System.out.println("Average score: " + average);
// 조건부 연산자
int max = (x > y) ? x : y;
System.out.println("Max of " + x + " and " + y + ": " + max);
}
}
출력 결과는 다음과 같습니다:
Sum: 8
Greeting length: 5
Circle area: 78.53981633974483
Is 5 equal to 5? true
Is 10 greater than 5 and even? true
Alice is 30 years old.
Average score: 90
Max of 5 and 3: 5
표현식의 데이터 타입
표현식의 결과 데이터 타입은 사용된 요소들에 따라 결정됩니다.
- 할당 연산(
cadence = 0
) 은 왼쪽 피연산자의 타입(int)을 반환합니다. - 산술 연산(
1 + 2
)은 int를 반환합니다. - 비교 연산(
value1 == value2
)은 boolean을 반환합니다. - 문자열 연결(
"Element 1 at index 0: " + anArray[0]
)은 String을 반환합니다.
복합 표현식
Java는 여러 작은 표현식을 조합하여 복합 표현식을 만들 수 있습니다. 단, 각 부분의 데이터 타입이 일치해야 합니다. 예를 들어:
int product = 1 * 2 * 3; // 복합 산술 연산
boolean isValid = age > 18 && age < 65; // 복합 논리 연산
연산자 우선순위와 평가 순서
복잡한 표현식에서는 연산자의 우선순위가 중요합니다:
- 괄호를 사용하여 명시적으로 평가 순서를 지정할 수 있습니다.
- 명시적이지 않은 경우, Java의 연산자 우선순위 규칙에 따라 평가됩니다.
예를 들어:
x + y / 100 // 모호함 (ambiguous)
(x + y) / 100 // 명확함 (unambiguous)
x + (y / 100) // 명확함 (unambiguous)
코드 가독성과 유지보수성 향상을 위한 팁
- 복잡한 표현식에서는 항상 괄호를 사용하여 의도를 명확히 합니다.
2긴 표현식을 여러 줄로 나누어 작성하면 가독성이 향상됩니다. - 변수나 메서드 이름을 의미 있게 지어 표현식의 목적을 명확히 합니다.
- 부작용(side effects)을 가진 연산이나 메서드를 사용할 때는 주의합니다.
- 타입 변환 시 주의가 필요하며, 필요한 경우 명시적인 캐스팅을 사용합니다.
- 복잡한 표현식은 디버깅이 어려울 수 있으므로 적절히 분해하는 것이 좋습니다.
편히 모아진 글 보시려면 아래 위키독스 링크 >>
https://wikidocs.net/book/17111
'JAVA' 카테고리의 다른 글
JAVA 표현식 - 명령문 (코딩백과 with JAVA] (0) | 2024.12.21 |
---|---|
JAVA 부동소수점 연산 [코딩백과 with JAVA] (1) | 2024.12.21 |
JAVA 비트 연산자, 시프트 연산자 [코딩백과 with JAVA] (0) | 2024.12.21 |
JAVA instanceof 연산자 [코딩백과 with JAVA] (0) | 2024.12.21 |
JAVA 조건 연산자 [코딩백과 with JAVA] (0) | 2024.12.21 |