연산자와 피연산자

2023. 1. 24. 21:12Java Study Note

반응형

연산자: '연산을 수행하는 기호'를 말한다. 어떠한 기능을 수행하는 기호(+,-,*,/ )

 

피연산자: 연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야 하는데, 이것을 '피연산자(operand)'라고 한다.

                 연산자의 작업 대상(변수,상수,리터럴,수식)

 

연산자의 종류

나머지 연산자는 왼쪽의 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값을 결과로 반환한다. 
비교연산자는 두 피연산자를 비교하는 데 사용되는 연산자다. 주로 조건문과 반복문의 조건식에 사용되며, 연산결과는 오직 true와 flase둘 중의 하나이다. 
등가비교 연산자는 두 피연산자의 값이 같은지 또는 다른지를 비교하는 연산자이다. 
비교연산자 연산결과
== 두 값이 같으면, true 아니면 false
!= 두 값이 다르면, true 아니면 false
논리연산자   
&&(AND결합) : 피연산자 중 어느 한 쪽이 true이면 true를 결과로 얻는다.
||(OR결합)      : 피연산자 양쪽 모두 true이어야 true를 결과로 얻는다. 

 

피연산자의 개수로 연산자를 분류하기도 한다. 

피연산자의 개수 연산자 명칭
1 단항 연산자
2 이항 연산자
3 삼항 연산자

연산자의 결합규칙

1. 산술 > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행된다.
2. 단항(1) > 이항(2) >삼항(3).단항 연산자의 우선순위가 이항 연산자보다 높다.
3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다. 

증감 연산자

증가 연산자(++)  피연산자의 값을 1 증가시킨다.
감소 연산자(--)    피연산자의 값을 1 감소시킨다.
타입 설명 사용예
전위형 값이 참조되기 전에 증가시킨다 j =++i
후위형 값이 참조된 후에 증가시킨다 j = i++
class Ex3_2 {
	public static void main(String args[]) {
		int i=5, j=0;

		j = i++;
		System.out.println("j=i++; 실행 후, i=" + i +", j="+ j);

		i=5;        // 결과를 비교하기 위해, i와 j의 값을 다시 5와 0으로 변경
		j=0;

		j = ++i;
		System.out.println("j=++i; 실행 후, i=" + i +", j="+ j);
	}
}
// 결과:j=i++; 실행 수, i = 6, i = 5
        j=++i; 실행 수, i = 6, i = 6

부호연산자(+,-)와 논리부정연산자(!)

부호연산자(+,-) :  ‘+’는 피연산자에  1을 곱하고,    ‘-’는 피연산자에 -1을 곱한다.
논리부정연산자(!) : true는 false로, false는 true로 피연산자가 boolean일 때만 사용가능

형변환 연산자

형변환이란, 변수 또는 상수의 타입을 다른 타입으로 변환하는 것

// (타입)피연산자 
// 괄호()는 '캐스트 연산자' 또는 '현변환 연산자' 라고 하며, 형변환을 '캐스팅(casting)'이라고도 한다. 
double d = 85.4;
int score = (int)d;

// 결과 int score =85;

형변환의 다양한 예시:

변환 수식 결과
int -> char (char)65 'A'
char -> int (int) 'A' 65
float -> int (int)1.6f 1
int -> float (float)10 10.0f

자동 형변환

기존의 값을 최대한 보존할 수 있는 타입으로 자동 형병환된다.

사칙 연산자

개념:  산수의 기본이 되는 덧셈뺄셈곱셈나눗셈의 4가지 연산을 일컫는다. 뺄셈과 나눗셈을 빼고 그 자리에 지수와 괄호(또는 등호)를 넣기도 한다.

산술 변환

1. 두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치)
2. 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.

Math.round()로 반올림하기

long result = Math.round(4.52); // result에 5가 저장된다. 
class Ex3_11 {
	public static void main(String args[]) { 
		double pi = 3.141592; 
		double shortPi = Math.round(pi * 1000) / 1000.0;
		System.out.println(shortPi);
	}
} // 결과: 3.142

조건 연산자

result = (x > y) ? x : y ; //괄호 생략 가능, x>y 참일 경우, result = x   거짓이면  result = y

대입연산자

x = 3 ; // 대입 연산자의 왼쪽 피연산자를 'Ivalue(left value)'이라고 하고, 오른쪽 피연산자를 'rvalue(right value)'라고 한다. 

복합 대입 연산자

계속하여 조건문과 반복문 Math.random()

반응형

'Java Study Note' 카테고리의 다른 글

Spring 시작 Day1  (0) 2023.02.04
2진법, 10진법, 16진법, bit  (0) 2023.02.01
객체지향 프로그래밍 1  (0) 2023.01.23
배열(Array)  (0) 2023.01.23
변수  (0) 2023.01.18