본문 바로가기

JAVA/혼자공부하는자바

[JAVA기초] 연산자의 종류(이항 연산)

728x90

2 이항 연산(Binary operator)

단항 연산자는 피연산자가 1개라면 이항 연산자는 피연산자가 2개인 연산자를 뜻한다.

 

연산식 설명
피연산자 + 피연산자 덧셈 연산
피연산자 - 피연산자 뺄셈 연산
피연산자 * 피연산자 곱셈 연산
피연산자 / 피연산자 왼쪽 피 연산자를 오른쪽 피 연산자에 나눗셈 연산
피연산자 % 피연산자 왼쪽 피 연산자를 오른쪽 피 연산자에 나눈 나머지를 구하는 연산

package sec02.exam04;

public class ArithmeticOperatorExample {

	public static void main(String[] args) {
		int v1 = 5;
		int v2 = 2;
		
		int result1 = v1 + v2;
		System.out.println("result1=" + result1);
		
		int result2 = v1 - v2;
		System.out.println("result2=" + result2);
		
		int result3 = v1 * v2;
		System.out.println("result3=" + result3);
		
		int result4 = v1 / v2;
		System.out.println("result4=" + result4);
		
		int result5 = v1 % v2;
		System.out.println("result5=" + result5);
		
		double result6 = 	(double) v1 / v2;
		System.out.println("result6=" + result6);

	}

}

피연산자 타입이 동일하지 않을 경우 아래 규칙에 따라 일치시켜 연산 수행

  • 피연산자가 byte, short, char 타입일 경우에 모두 int 타입으로 변환
  • 피연산자 모두 정수 타입이고 long 타입 포함될 경우 모두 long 타입으로 변환
    • 피연산자 중 실수 타입이 있을 경우 허용 범위 큰 실수 타입으로 변환

 

문자(Char) 데이터 형식의 연산

c1과 같이 리터럴에 직접 연산을 하게 될 시 A의 값 65와 +1을 인식하여 66으로 컴파일이 된다.

하지만 c3와 같이 변수를 이용해 산술 연산을 하게 되면 변수를 사용하는 과정에 int타입으로 변환이 되기 때문에 컴파일 에러가 발생한다.

 

char타입보다 int타입의 허용범위가 더 크기 때문에 위와 같이 int타입으로 저장해주어야 한다.

 

 

문자열 결합 연산자 (String Concatenation operator)

 

+연산자의 피연산자 중 한 쪽이 문자열인 경우

String str1 = "JDK" + 6.0;    // 6.0 -> 문자열로 전환
String str2 = str1 + "특징";  // str2에 "JDK6.0 특징"이란 값이 저장됨
"JDK" + 3 + 3.0;  //   "JDK33.0" 산출
3 + 3.0 + "JDK";  //   "6.0JDK" 산출