CODING/강의노트-부스트코스-코틀린

[부스트코스]📱코틀린 2-4 연산자를 조합해 다양한 식 만들기 (1) 기본연산자

codingTrip 2021. 1. 29. 21:49

안녕하세요? codingTrip입니다.

오늘은 "코틀린 프로그래밍  1/2(함수편)"

1단원 코틀린의 기본을 익혀요!

2장. 변수와 자료형, 연산자

2-4 연산자를 조합해 다양한 식 만들기 (1) 기본연산자

시작하겠습니다!

 

 

🔑 기본 연산자

▷ 종류

- 산술, 대입, 증가, 감소, 비교, 논리 연산자 등

기본 연산자의 종류는 이렇게 다양하게 있습니다.

그럼 하나씩 살펴볼까요?

 

▷ 수식의 구조

[출처] 부스트코스 코틀린 강의자료

할당문을 위해서 대입 이항 연산자 =를 사용합니다.

먼저 =을 기준으로 왼쪽부터 보겠습니다.

변수를 선언하기 위해 val, var을 사용하죠?

val불변변수 var가변변수를 선언할 때 사용합니다.

result라는 변수명을 정해줍니다.

 

이제 =을 기준으로 오른쪽을 보겠습니다.

오른쪽에는 이렇게 표현식이 들어갑니다.

각종 연산자를 이용해서 이 경우에는 덧셈이죠.

왼쪽 항과 오른쪽 항을 더해서 결과를 result에 담는 겁니다.

 

연산자는 종류가 많습니다.

이 항을 몇 개 가지느냐에 따라서 달라질 수 있습니다.

기본은 두 개인데, 경우에 따라서 하나를 가질 수도 있습니다.

 

 

▷ 산술 연산자

[출처] 부스트코스 코틀린 강의자료

먼저 우리가 자주 쓰고 있는 산술 연산자는

+ 더하기

- 빼기

* 곱하기

/ 나누기

이 사칙연산은 여러분도 잘 아시죠?

아마 여러분들은 %라는 연산자가 생소하실텐데요.

% 모듈러스라고 하는 것은 나머지 연산을 한답니다.

예를 들어, 3%23을 2로 나눈 나머지를 구합니다.

 

[출처] 부스트코스 코틀린 강의자료

이 나머지 연산은 홀수, 짝수를 구할 때 유용합니다.

나머지가 1인지 0인지에 따라 홀수, 짝수로 나눌 수 있습니다.

예를 들어,

9는 홀수입니다. 9를 2로 나눈 나머지는 1입니다.

6은 짝수입니다. 6을 2로 나눈 나머지는 0입니다.

이제 어떻게 사용하시는지 이해가 가시나요?

% 연산자는 다양하게 사용할 수 있습니다.

특히 알고리즘 분야에서 잘 알아둘 필요가 있다고 하시네요.

 

 

▷ 대입 연산자

[출처] 부스트코스 코틀린 강의자료

우리가 그동안 기본적으로 변수에 특정 초기값을 할당하기 위해서 =을 사용했었죠?

이 =가 바로 대입 연산자였답니다.

 

[출처] 부스트코스 코틀린 강의자료

num=num+2 이것을 좀 더 단순화 시킬 수 있는 방법이 있는데요.

num += 2 두 항을 더하고 왼쪽 항에 대입하기 위해서 쓰는 식을 이렇게 줄일 수 있습니다.

 

이 항에 똑같이 반복될 경우에만 사용하는 거고

num에 3+1 이런 식으로 항을 사용하지 않는 다른 수식이 들어가면

그럴 경우에는 사용할 수 없습니다.

 

이 이외에도 뺄셈, 곱셈, 나눗셈 등 다양하게 사용할 수 있어요.

코드가 간결해서 보기도 좋답니다.

 

 

▷ 증가 연산자와 감소 연산자

 

[출처] 부스트코스 코틀린 강의자료

증감 연산자인데요. 이름 그대로 증가하고 감소하는 연산자입니다.

에 붙였느냐와 에 붙였느냐에 따라 결과가 다릅니다.

에 붙은 것은 증감 연산자를 먼저 수행하고요.

에 붙은 것은 증감 연산자를 나중에 수행합니다.

이렇게 결과가 달라지기 때문에 주의할 필요가 있습니다.

 

[출처] 부스트코스 코틀린 강의자료

++num1num1의 값이 먼저 증가한 후 result1 대입하는 것입니다.

num2++ 먼저 num2의 값을 result2대입 후(기존의 값 10이 먼저 들어가고) 증가합니다.

그래서 result1, result2를 각각 출력해보면 증가하고, 감소하는 것에 따른 결과물이 달라집니다.

하지만 num1, num2는 앞에서 증가하든 뒤에서 증가하든

증가한 것은 동일하므로 num은 같은 값인 11이 나옵니다.

 

💻 코드 실습하기

실습을 통해 눈으로 확인하는 시간을 가져보겠습니다.

 section03 폴더Alt+Insert을 누르고 Kotlin Class/File을 선택합니다.

파일명IncDecOp로 코틀린 파일을 만듭니다.

 

package chap02.section03

fun main() {
    var a: Int =10
    var b: Int = 10

    var result1 = ++a
    var result2 = b++
    
    println("result1: $result1, result2: $result2")
    println("a: $a, b: $b")    
}

이제 처음 실행 단축키는 Alt+Shift+F10인 거 아시겠죠? 2번을 클릭합니다.

실행을 해보면

result1증가가 먼저 되었기 때문에 11이 나왔습니다.

result2b의 값먼저 할당되고 증가했기 때문에 10이 나옵니다.

 

a, b는 각각 10에서 1이 증가한 11이 나옵니다.

 

손과 눈으로 익히면서 잘 기억하셔야 합니다.

 

 

▷ 비교 연산자

 

[출처] 부스트코스 코틀린 강의자료

비교 연산자if 판단문을 사용할 때 주로 사용합니다.

>은 왼쪽이 크면 true, 작으면 false를 반환합니다.

>=은 왼쪽이 크거나 같을 때 사용합니다.

 

==은 값을 비교해서 같으면 true이고, 아니면 false입니다.

===은 항의 참조가 같으면 true아니면 false입니다.

 

주의할 점자바에서는 ==에서 값과 참조를 같이 비교합니다.

!=는 다를 경우에 true입니다.

참조가 다를경우!== 이렇게 =을 두 개를 넣습니다.

 

 

▷ 논리 연산자

 

[출처] 부스트코스 코틀린 강의자료

논리 연산자두 개의 수식을 검사할 수 있습니다.

이렇게 두 개의 수식이 참이냐 거짓이냐에 따라서 선택할 수 있습니다.

&& 논리곱 둘다 다 true일 경우에만 true이고 아니면 false입니다.

둘 중의 하나라도 false가 되면 false입니다.

||은 둘 중의 하나라도 true이면 true가 됩니다.

! 부정은 뒤집는 겁니다. true는 false로 false를 true로 뒤집는 연산자입니다.

 

논리 연산자를 수식을 두 개를 가지고 판단할 때 사용하기 떄문에 편리한 점이 있습니다.

 

 

오늘은 평소보다 비교적 일찍 끝났네요.

살다보면 이런 날도 있어야겠죠?

그동안 고생한 우리들에게 주는 작은 선물 같았답니다.

그동안 배운 것들을 차분하게 정리해보는 시간을 가지면 어떨까요?

 

저는 개인적으로 모듈러스라고 부르는

% 나머지 연산자가 인상깊었어요.

선생님께서 이 연산자는 홀수, 짝수를  구하는

알고리즘 분야에서 사용한다고 하셨잖아요.

알고리즘 문제를 보면 정말 잘 쓰인답니다.

 

정보처리기사나 알고리즘 문제를 풀어보신 분들은 아실거에요.

증감연산자가 정말 헷갈린답니다.

그래도 이번 시간을 통해

직접 선생님과 실습을 하면서

그 개념을 제대로 배운 것 같아요.

사실 이 부분 실습 안해주셨으면 서운할 뻔했어요

.확실히 결괏값을 입력하면서 눈으로 확인해야

속이 시원하네요.

 

그럼 다음 시간에 만나요.

 

 

부스트코스 서포터즈 3기 codingTrip