본문 바로가기

Java SE Tutorials/Expressions

Expressions in Java

Java 프로그래밍, Java 표현식 ( Expressions )


표현식(Expressions)

표현식은 컴퓨터에 의해 한개의 값을 산출하는 부분으로 문장(Statements)의 핵심적인 부분이다

표현식은 변수, 상수, 연산자, 메소드 호출로 구성되며 자바 문법에 따라 작성되어야 한다

표현식이 모여 문장을 구성하고, 문장이 모여 블럭(Blocks)을 구성한다


표현식의 예

int num = 0;  // 한개의 표현식이 한개의 문장을 구성한 경우

System.out.println(100>10);  // 100>10 은 한개의 true 값을 표현하는 표현식이다

int count = 10 + 20;  // 10 + 20 은 30이라는 한개의 값을 의미하는 표현식이다


한개의 표현식이 산출하는 값의 자료형은 표현식을 구성하는 요소들에 의해 달라진다

int sum = 10 + 20;  // 숫자 + 숫자 형의 표현식은 숫자를 산출한다

String str  = "Hello " + "World";  // 문자열 + 문자열 형의 표현식은 문자열을 산출한다


복합 표현식(Compound Expression)

다수개의 표현식으로 구성되어 한개의 값을 산출하는 표현식

int res = 2*3*4;  // 2*3 이 표현식1이라면, 표현식1은 6이라는 값을 산출하며, 6*4는 표현식2이다

복합표현식에서 문제가 될 수 있는 점은, 어떤 표현식을 먼저 실행할 것인지 지정하지 않으면 자바 언어의 연산자 우선순위에 따라서 연산이 이루어지므로 작성자의 의도와 다른 계산결과가 나올 수 있다는 점이다

예를 들어, 작성자는 아래의 표현식으로부터 3이라는 값이 산출될 것으로 기대하고 작성했지만 결과는 13이다

int res = 12+6/6;  // 2개의 표현식은 연산자 우선순위에 따라서 실행되므로 13이 산출된다