티스토리 뷰

728x90

 


연산자

1. 산술 연산자

• 기본적인 사칙 연산을 하기 위한 연산자.

• +, -, *, /, %

     - %는 나머지를 반환하는 연산자이다.

          ex) 5%2 -> 1 반환

println(1 + 10) // 11 출력
println(2 - 10) // -8 출력
println(2 * 40) // 80 출력
println(40 / 2) // 20 출력
println(45 % 7) // 3 출력

 

2. 대입 연산자

• =

• A=B : B가 A에 할당된다.

• X=2 : 2가 X에 할당된다.

• 우변에 있는 것이 좌변에 할당(대입)된다.

var number1: Int = 22 // 우변에 있는 22가 number1에 할당된다.
println(number1) // 22 출력
number1 = 100 // 우변에 있는 100이 number1에 할당된다.
println(number1) // 100

number1 = 1 + 10 // 우변에 있는 1 + 10이 연산되어 11이 된 후 number1에 할당된다.
println(number1) // 11 출력

 

3. 복합 대입 연산자

• 산술 연산자와 대입 연산자를 한 번에 나타낸 것

• A = A + B 를 줄여서 A += B 의 형태로 나타낼 수 있다.

var number2: Int = 12
number2 += 8 // 20
number2 -= 10 // 10
number2 *= 2 // 20
number2 /= 5 // 4
println(number2) // 4 출력

 

4. 증감 연산자

• 1씩 증가하거나 감소하는 연산자

• ++, --

     - A++, B-- : 값을 먼저 반환하고 증감한다.

     - ++A, --B : 증감을 먼저하고 값을 반환한다.

var number3: Int = 10
println(number3++) // 10 출력 : number3에 들어있던 10을 먼저 반환하고 그 다음 1 증가
println(number3) // 11 출력
println(++number3) // 12 출력 : 11에서 1을 먼저 증가하고 그 다음 값을 반환
println(number3) // 12 출력

 

5. 비교 연산자

• >, >=, <, <=, ==, !=, ===, !==

• 크다, 크거나 같다, 작다, 작거나 같다, 같다, 다르다, 객체가 같다, 객체가 다르다.

• 비교 연산자의 결과는 항상 Boolean으로 나온다.

• ==, !=는 값을 비교하고, ===, !==는 주소값을 비교한다.

val NUMBER4: Int = 1
val NUMBER5: Int = 2
val RESULT: Boolean = NUMBER4 > NUMBER5
println(RESULT) // false 출력 : 1이 2보다 크다는 거짓
val RESULT2: Boolean = NUMBER4 <= NUMBER5
println(RESULT2) // true 출력 : 1이 2보다 작거나 같다는 참
val RESULT3: Boolean = NUMBER4 == NUMBER5
println(RESULT3) // false 출력 : 1과 2가 같다는 거짓
val RESULT4: Boolean = NUMBER4 != NUMBER5
println(RESULT4) // true 출력 : 1과 2가 다르나는 참

 

6. 논리 연산자

• 논리 연산자는 Boolean을 대상으로만 연산할 수 있다.
• &&, ||, !

     - && : and 연산. 좌변 그리고 우변이 모두 true면 true 반환. 나머지는 false.

     - || : or 연산. 좌변 또는 우변 중 하나라도 true면 true 반환. 나머지는 false .

     - ! : not 연산. true면 false, false면 true를 반환.

val BOOLEAN1: Boolean = true
val BOOLEAN2: Boolean = false
val RESULT5: Boolean = BOOLEAN1 && BOOLEAN2
val RESULT6: Boolean = BOOLEAN1 || BOOLEAN2
val RESULT7: Boolean = !BOOLEAN1
println(RESULT5) // false 출력 : BOOLEAN1 그리고 BOOLEAN2가 둘 다 true여야 true, BOOLEAN2가 false이므로 false 반환.
println(RESULT6) // true 출력 : BOOLEAN1 또는 BOOLEAN2 중 하나라도 true면 true. BOOLEAN1이 true므로 true 반환.
println(RESULT7) // false 출력 : BOOLEAN1이 true이므로 false 반환.

 

연산자 우선 순위

• num1 = 5 + 3

     - =도 연산자, +도 연산자인데 어떻게 5 + 3이 먼저 연산이 되어서 8이라는 값이 num1에 들어갈까?

     -> = 연산자보다 +연산자의 연산 우선 순위가 더 높기 때문!

     -> 연산자마다 우선 순위가 정해져 있다.

• 수학에서 더하기, 빼기보다 곱하기, 나누기를 먼저 계산하고, 괄호 안을 먼저 계산하고 하듯이 코틀린에서도 연산의 순서가 정해져있다.

• 코틀린의 연산자 우선 순위 : https://kotlinlang.org/docs/reference/grammar.html#expressions

 

Kotlin Programming Language

 

kotlinlang.org

• 연산자 우선 순위를 일일이 외우기도 어렵고, 지키기도 힘듦.

     -> 괄호를 적극 활용

     ex) 6 / 5 + 3 * 2 보다는 (6 / 5) + (3 * 2)가 훨씬 직관적이다.

 

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90

'📱 Android > 💻 Kotlin' 카테고리의 다른 글

[Android/Kotlin] 6. 흐름 제어  (1) 2022.10.04
[Android/Kotlin] 5. 함수  (0) 2022.10.04
[Android/Kotlin] 3. Null  (1) 2022.09.30
[Android/Kotlin] 2. 자료형  (2) 2022.09.30
[Android/Kotlin] 1. 변수  (0) 2022.09.29
댓글
공지사항