본문 바로가기
에밀리쌤의 기초교실/JAVA 프로그래밍

[에밀리쌤의 JAVA 기초] 여러가지 연산자(2)

by 에밀리쌤 2024. 4. 26.

자바교육에서 사용되는 자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다.

이전에 여러 가지 연산자(1)에 이어 연산자를 추가로 더 설명합니다.

 

[에밀리쌤의 JAVA 기초] 여러가지 연산자(1)

자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다.이전에 형 변환(Type Conversion) 이어 자바의 여러 가지 연산자에 대해 설명합니다.  [에밀리쌤의 JAVA 기초] 형 변환자바 기초 프로그

classroom.emilylecture.com

 

앞에서 산술연산을 기본으로 하는 연산자를 프로그래밍에서 처리하는 걸 살펴보았습니다.

이어서 프로그래밍에서 사용하는 다양하는 연산자에 대해 이야기해 보도록 하겠습니다.

 

1씩 늘리고 줄이는 연산은 프로그래밍 할 때 많이 사용하는 연산자 중의 하나입니다.

변수의 앞에 있느냐 뒤에 있느냐에 따라 연산이 먼저 진행되고 변수에 대입되느냐 값을 대입하고 연산을 진행하느냐가 결정됩니다. 위에 있는 연산 예에 있는 초록색 글자가 그 부분을 잘 설명해주고 있습니다. 어차피 더하고 빼는 거 먼저 하든 나중에 하든 무슨 상관이 있을까? 하고 생각하실 수도 있겠지만, 프로그램의 흐름에 따라 연산을 먼저하느냐 나중에 하느냐가 결과에 영향을 미칠 수도 있습니다. 그래서 증가감소 연산자가 어디 있는지에 따라 실행되는 순서가 달라지니 연산되는 결과는 같다 하더라도 처리되는 순서가 다르다는 것 꼭 기억해 두세요. 그래서 코드를 읽을 때도 순서가 다르다는 것 기억해 두고 읽으셔야 합니다.

 

 

프로그래밍할 때 정말 많이 사용하는 관계(비교) 연산자입니다. 두 값을 비교한 그 결과를 돌려주는데요, 아직 설명하지 않은 다음 포스팅의 주제가 되는 조건문이나 반복문을 제어할 때 사용하게 됩니다. 조건문과 반복문은 프로그래밍의 전부라고 해도 과언이 아닌데, 여기에서 비교연산자를 주로 사용한다 하니, 얼마나 많이 사용되는지 느낌 오시나요? 😉

프로그래밍 처음하시는 분들은 그냥 외우시라고 말씀드립니다. 자주 쓰이기도 하고, 순간 헷갈릴 때도 생기거든요. 

 

 

그런데 특이한 부분은 같다는 표현입니다. 전에 = 는 값을 할당할 때 쓰는 기호라고 이야기했었습니다.

비교하기 위해서는 같은지 다른지를 비교할 수 있어야 할 텐데요. 그때 쓰는 연산자가 == 입니다. 

다른지 비교하는 연산자는 != 입니다. 

위 그림의 비교연산은 어떤 결과를 리턴할까요? true 일까요 false 일까요?

 

 

비교연산과 함께 많이 쓰는 건 논리연산입니다. 프로그래밍에서 논리 연산 또한 자주 사용합니다.

앞에서 살펴봤던 비교연산자와 함께 쓰이는 게 일반적입니다.

비교연산자가 관계연산자보다 연산 우선순위가 더 높아서 비교연산자의 결과가 참이냐 거짓이냐를 가지고 다시 논리연산자로 참인지 거짓인지를 리턴해주게 됩니다.

 

비교연산자도 논리연산자도 다양한 연습을 해야지만이 익숙해질 수 있습니다.

눈으로 읽고 머리로만 계산하는 게 아니라 직접 프로그래밍해서 결과 나오는 걸 많이 연습하셔야 합니다.

그렇게 익숙해져야 하는 연산자입니다.

 

알고리즘(코딩테스트) 문제를 풀 때 정말 다양한 방법으로 비교연산자와 논리연산자를 활용하게 됩니다. 처음 하는 분들은 어려우실 수 있지만, 관련 문제를 풀다 보면 다양한 연습을 통해 연산자 활용을 하실 수 있게 됩니다. 😅

 

 

복합대입연산자는 어떻게 보면 요즘의 줄임말처럼 연산자를 줄여 쓰는 방법입니다. 

num1 += 2 를 풀어서 표현하면 num1 = num1 + 2 입니다.  

 

 

아니 그럼 어떤 걸 써야 하지?라고 고민을 하게 되실 거예요. 줄여 쓰는 복합 대입 연산자가 있으니, 풀어서 쓰면 안 되는 걸까.라고 생각하실 수 있을 텐데요. 

위 그림의 1번, 2번 모두 결과는 같습니다. 써야 하는 상황이 따로 있는 것도 아니랍니다.

복합 대입 연산자는 우리가 풀어쓰는 표현이 익숙해지고 난 다음에 써도 괜찮습니다!

이미지에서 2번의 표현을 먼저 많이 연습하고 난 뒤에 복합 대입 연산자를 사용해 보시는 걸 권장합니다.

물론 처음부터 복합 대입 연산자를 써서는 안 된다는 것은 아닙니다~! 일단 풀어쓰는 일반 산술식에 익숙해지고 난 다음에 복합 대입 연산자를 활용하는 것을  추천드려요.

 

그럼 천천히 복합 대입 연산자를 봐도 될 텐데, 왜 여기에서 이렇게 언급하느냐.

프로그래밍 코드를 잘 짜는 것도 중요하지만, 다른 사람이 짠 코드를 잘 읽는 것도 중요합니다.

선배 혹은 사수가 짠 코드, 다른 사람들이 짠 코드를 봐야 할 일이 생기는데요, 그때 이런 복합 대입 연산자를 봤을 때 당황하지 말고 잘 읽어내서 코드의 흐름을 이해할 수 있어야 하기 때문에, 연산자 설명드릴 때 함께 합니다.

 

 

앞에서 언급했던 조건식의 결과에 따라 각각 다른 값을 리턴해주는 조건 연산자입니다.

예시로 주어진 식을 함께 볼까요

int num = (5>3)?10:20;

 

정수형 변수 num 에는 어떤 값이 할당되었을까요?

5 > 3 이라는 조건식을 먼저 살펴보겠습니다. 이 조건식의 결과는 true 입니다. 그렇다면 true가 반환될 텐데요, 이때 선택되는 값은 10이 됩니다. 따라서 정수형 변수 num에는 10이 할당됩니다.

 

이 조건 연산자를 이용한 코드는 우리는 아직 살펴보진 않았지만, 아래와 같은 if 문으로 변경할 수 있습니다.

int num = 0;
if (5 > 3) {
	num = 10;
} else {
	num = 20;
}

 

이후에 살펴볼 내용이지만, 여기에서 살짝 맛보기로 보여드립니다.

정수형 변수 num을 선언하고, 5가 3보다 크다면  num에 10을 할당하고, 그렇지 않다면 20을 할당합니다.라고 코드로 구현해 놓은 것입니다. 

교안의 조건연산자와 같은 표현입니다.

 

프로그램은 이렇게 같은 표현을 다양하게 풀어낼 수 있답니다.

정답은 없습니다. 일단 익숙한 방법으로 프로그래밍하시면 됩니다.

 


 

여기까지는 프로그래밍을 하는데 필요한 기본 개념들에 대한 정리입니다.

기본적인 내용이지만 잘 알고 있어야만 하는 필요한 내용들입니다.

기초가 잘 다듬어져야 다음의 내용도 모두 내 것으로 만들어낼 수 있답니다.

여기까지의 내용들은 가급적 기억하고 이해해 두셔야 다음 내용들이 차곡차곡 쌓으실 수 있습니다!

 

 

이 내용들을 바탕으로 본격적인 프로그래밍을 위한 문법을 이후 포스팅에서 살펴보도록 하겠습니다. 🤓

 

 

[에밀리쌤의 JAVA 기초] 조건문과 반복문(1)

자바교육에서 사용되는 자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다.이전에 여러 가지 연산자(2)에 이어 조건문과 반복문을 진행합니다.  [에밀리쌤의 JAVA 기초] 여러가지 연

classroom.emilylecture.com

 

 

반응형

댓글