연산자

By | 2009년 3월 3일

연산자는 수학적 또는 논리적 연산을 수행하는데 사용되는 기호를 의미한다. 다음과 같은 변수의 선언

int a = 10 ;

에서 “=”는 int 형 변수 a메 초기값 10을 저장하라는 의미를 가지는 대입연산자 입니다. 이와 같은 연산자 중 자주 사용되는 연산자로는 크게 산술연산자, 대입연산자, 증감연산자, 비교연산자, 논리연산자 등이 있다.

산술연산자

산술연산자는 일반적인 수학계산을 위해 사용되는 연산자로 연산을 위해 두 개의 값이 필요한 이항연산자이다.

+ 더하기 10 + 2  10
– 빼기 10 – 2  8
* 곱하기 10 * 2  20
/ 나누기 10 / 2  5
% 나머지 10 % 2  0

다음은 사칙연사자를 사용한 “arithmetic_op.jsp” 프로그램의 예와 그 결과를 보여주고 있다.


<%@ page language=”java” contentType=”text/html; charset=EUC-KR”
    pageEncoding=”EUC-KR”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-KR”>
<title>Insert title here</title>
</head>
<body>
<%
int a = 10, b = 2, c;
c = a + b;
%>
초기값 : a = 10, b = 2<br>
a + b = 10 + 2 =<%= c %><br>
<% c = a – b; %>
a – b = 10 – 2 = <%= c %><br>
<% c = a * b; %>
a * b = 10 * 2 = <%= c %><br>
<% c = a / b; %>
a / b = 10 / 2 = <%= c %><br>
<% c = a % b; %>
a % b = 10 % 2 = <%= c %><br>
</body>
</html>


사용자 삽입 이미지

arithmetic_op.jsp 실행결과



대입연산자

대입 연산자는 연산자를 기준으로 우변의 결과를 좌변의 변수에 저장하라는 의미를 가지며 지정연산자라고도 불린다. 대입연산자는 우변의 결과를 저장해야 하므로 좌변은 반드시 변수 또는 배열이 와야 한다. 지정연산자 역시 좌변과 우변이 필요한 이항연산자이다.

=   a = b + c   b + c 를 더한 결과를 a 에 저장
+=  a += b   a = a + b 
-=  a -= b   a = a – b
*=  a *= b   a = a * b
/=  a /= b   a = a / b
%=  a %= b  a = a % b

다음 프로그램 “assign_op.jsp”는 다양한 대입연산자를 사용한 예를 보여주고 있다. 이 예에서 대입산자의 우변이 또 다른 수식일 경우 우변을 먼저 계산한 후 그 결과를 가지고 좌변의 변수에 저장된 값과 대입연산자와 연관된 계산을 수행해야 한다. 결과에 그 과정도 함께 나타내고 있다. 이 프로그램에서 대입연산자에 의해 변수 c의 값이 계속 변한다는 점을 유의하자.


<%@ page language=”java” contentType=”text/html; charset=EUC-KR”
    pageEncoding=”EUC-KR”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-KR”>
<title>Insert title here</title>
</head>
<body>
<%
int a = 3, b = 2, c = 0;
%>
초기값 : a = 10, b = 2<br>
c+=a+b => c=c+(a+b) => c=<%=c%>+(<%=a%>+<%=b%>) => c =
<% c += a + b; %><%= c %><br>
c-=a-b => c=c-(a-b) => c=<%=c%>-(<%=a%>-<%=b%>) => c =
<% c-= a – b; %><%= c %><br>
c*=a+b => c=c*(a+b) => c=<%=c%>*(<%=a%>+<%=b%>) => c =
<% c *= a + b; %><%= c %><br>
c/=a+b => c=c/(a+b) => c=<%=c%>/(<%=a%>+<%=b%>) => c =
<% c /= a + b; %><%= c %><br>
c%=a+b => c=c%(a+b) => c=<%=c%>%(<%=a%>+<%=b%>) => c =
<% c %= a + b; %><%= c %><br>
</body>
</html>


사용자 삽입 이미지

assign_op.jsp 실행결과



증감연산자

증감연산자는 주어진 변수의 값을 1 증가 또는 1 감소 시키는 연산자이다. 증감연산자는 연산자를 중심으로 좌변 또는 우변 중 하나의 변에만 변수가 올 수 있는 단항연산자이다.

++   ++a 또는 a++  변수 a의 값을 1 증가
—   –a 또는 a–  변수 a의 값을 1 감소

위 예에서와 같이 연산자가 앞에 또는 뒤에 올 수 있는데 다른 식과 함께 쓰일 경우 그 결과가 달라질 수 있음에 주의하자.

다음 프로그램 “incdec_op.jsp”는 증감연산자가 변수 앞에 사용될 때와 변수 뒤에 사용될 때의 차이점을 보여주고 있다. 증감연산자가 변수 앞에 사용되면 변수의 값을 먼저 증가 또는 감소 시킨후 나머지 작업을 처리하고, 뒤에 사용되면 다른 작업을 처리한 후 변수의 값을 후에 증가 또는 감소 시킨다.


<%@ page language=”java” contentType=”text/html; charset=EUC-KR”
    pageEncoding=”EUC-KR”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-KR”>
<title>Insert title here</title>
</head>
<body>
<% int a = 10; %>
a : <%= a %><br>
a++ : 출력 후 1 증가 : <%= a++ %><br>
a : <%= a %><br>
++a : 1 증가 후 출력 : <%= ++a %><br>
a : <%= a %><br>
a– : 출력 후 1 감소 : <%= a– %><br>
a : <%= a %><br>
–a : 1 감소 후 출력 : <%= –a %><br>
a : <%= a %><br>
</body>
</html>


사용자 삽입 이미지

incdec_op.jsp 실행결과



비교연산자

비교연산자는 양 변의 값의 크기를 비교하는데 사용되는 연산자로 이항연산자이다. 이 연산자를 이용한 연산결과는 true(참), false(거짓)의 불린형으로 반환된다.

==  양 변 값의 크기가 같으면 true(참)
<   우변 값의 크기가 좌변 값의 크기보다 크면 true(참)
<=  우변 값의 크기가 좌변 값의 크기와 같거나 큰면 true(참)
>    우변 값의 크기가 좌변 값의 크기보다 작으면 true(참)
>=   우변 값의 크기가 좌변 값의 크기와 같거나 작으면 true(참)
!= 양 변 값의 크기가 다르면 true(참)’

다음 프로그램 “compare_op.jsp”는 비교연산자의 예를 보여주고 있다.


<%@ page language=”java” contentType=”text/html; charset=EUC-KR”
    pageEncoding=”EUC-KR”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-KR”>
<title>Insert title here</title>
</head>
<body>
3 == 3L : <%= 3 == 3L %><br>
3 < 3L : <%= 3 < 3L %><br>
3 <= 3L : <%= 3 <= 3L %><br>
3 > 3.0 : <%= 3 > 3.0 %><br>
3 >= 3.0 : <%= 3 >= 3.0 %><br>
3.0 != 3.0F : <%= 3.0 != 3.0F %><br>
</body>
</html>


사용자 삽입 이미지

compare_op.jsp 실행결과



논리연산자

논리연산자는 놀리곱(and), 논리합(or), 부정(not)과 같은 논리연산을 위한 연산자로, 결과값으로 true(참), false(거짓)를 반환한다.

&&  논리곱   양변 모두가 true(참)인 경우에만 true(참)
||   논리합   양변 중 하나면 true(참)이면 true(참)
!  부정  true(참)은 false(거짓), false(거짓)는 true(참)

다음 프로그램 “logical_op.jsp”는 논리연산자의 사용 예를 보여주고 있다.


<%@ page language=”java” contentType=”text/html; charset=EUC-KR”
    pageEncoding=”EUC-KR”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-KR”>
<title>Insert title here</title>
</head>
<body>
! true : <%= ! true %><br>
! false : <%= ! false %><br>
<br>
true && true : <%= true && true %><br>
true && false : <%= true && false %><br>
false && true : <%= false && true %><br>
false && false : <%= false && false %><br>
<br>
true || true : <%= true || true %><br>
true || false : <%= true || false %><br>
false || true : <%= false || true %><br>
false || false : <%= false || false %><br>
</body>
</html>


사용자 삽입 이미지
 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.