오늘은 expressions와 statements에 대해 정리해보려고 한다. Java Tutorials를 참고하여 공부한 내용이다.
1. expressions(식)
- 식은 변수, 연산자, 메서드 호출로 구성된 구문으로, 언어의 구문에 따라 하나의 값으로 평가되는 구조체이다.
int cadence = 0;
anArray[0] = 100;
System.out.println("Element 1 at index 0: " + anArray[0]);
int result = 1 + 2;
if (value1 == value2)
System.out.println("value1 == value2");
- 식에서 반환되는 값의 데이터 유형은 식에 사용된 요소에 따라 달라진다.
위 코드에서 candence = 0 식은 정수를 반환한다.
- Java 프로그래밍 언어에서는 식의 한 부분에 필요한 데이터 유형이 다른 부분의 데이터 유형과 일치하기만 하면 다양한 작은 식으로 복합 표현식을 구성할 수 있다.
- 복합 표현식의 예시 :
1 * 2 * 3
- 이 예시에서는 곱셈의 결과가 순서와 무관하므로 식이 평가되는 순서는 중요하지 않으며, 곱셈을 어떤 순서로 적용하든 결과는 항상 동일하다. 그러나 모든 식에 해당하는 것은 아니다.
x + y / 100 // 모호함.
- 위의 식은 덧셈 연산을 먼저 수행하느냐 나눗셈 연산을 먼저 수행하느냐에 따라 결과가 달라진다.
- 괄호를 사용하여 식이 평가되는 방식을 정확하게 지정할 수 있다. 예를 들어, 이전 식을 모호하지 않게 만드려면 다음과 같이 작성할 수 있다.
(x + y) / 100 // 모호하지 않음. -> 이런 표현을 권장함.
- 수행될 연산 순서를 명시적으로 지정하지 않으면 식 내에서 사용 중인 연산자에 할당된 우선순위에 따라 순서가 결정된다. 우선 순위가 더 높은 연산자가 먼저 평가된다. 예를 들어 나누기 연산자는 더하기 연산자보다 우선 순위가 높다. 따라서 다음 두 문은 동일하다.
x + y / 100
x + (y / 100)
- 복합 표현식을 작성할 때는 괄호 안에 어떤 연산자를 먼저 평가해야 하는지 명시하고 괄호로 표시하자. 이렇게 하면 코드를 더 쉽게 읽고 유지 관리할 수 있게 된다.
2. statements(문)
- 문은 자연어의 문장과 거의 동일하다.
- 문은 완전한 실행 단위를 형성한다.
- 다음 유형의 식은 세미콜론(;)으로 식을 종결하여 문으로 만들 수 있다.
Assignment expressions : 할당 표현식
Any use of ++ or -- : ++ 또는 --의 모든 사용
Method invocations : 메서드 호출
Object creation expressions : 객체 생성 표현식
aValue = 8933.234;
aValue++;
System.out.println("Hello World!");
Bicycle myBike = new Bicycle();
double aValue = 8933.234;
- 제어문 : 문이 실행되는 순서를 조절한다.
소스 파일 내의 문은 일반적으로 나타나는 순서대로 위에서 아래로 실행된다. 그러나 제어문은 의사 결정, 루핑 및 분기를 사용하여 실행 흐름을 분할하여 프로그램에서 특정 코드 블록을 조건부로 실행할 수 있도록 한다.