프로그래밍/Kotlin

[코틀린 / Kotlin] 연산자 (산술, 복합, 대입, 인덱스 연산자, in 연산자, .. 연산자 )

pupu91 2022. 10. 19. 16:30
반응형

 

산술 연산자(mathematical operator)

    var sum = 5 + 8
    var sub = 4 - 6
    var mul = 3 * 5

    println("sum : $sum")
    println("sub : $sub")
    println("mul : $mul")

    var div = 6 / 5
    var divDouble = 6.0 / 5.0
    var divDouble2 = 6 / 5.toDouble()

    println("div : $div")
    println("divDouble : $divDouble")
    println("divDouble2 : $divDouble2")

    var mod1 = 6 % 5
    var mod2 = 3 % 3

    println("mod1 : $mod1")
    println("mod2 : $mod2")

    /* 연산 시 오버플로우 주의 */
    var intValue1: Int = 2147483647
    intValue1 = intValue1 + 1
    println("intValue1 : $intValue1")

    /* 연산 시 언더플로우 주의 */
    var intValue2: Int = -2147483648
    intValue2 = intValue2 - 1
    println("intValue2 : $intValue2")
 
출력 결과
sum : 13
sub : -2
mul : 15
div : 1
divDouble : 1.2
divDouble2 : 1.2
mod1 : 1
mod2 : 0

intValue1 : -2147483648
intValue2 : 2147483647

 

 

대입 연산자(assignment operator)

/* 단순 값 대입, 수식의 결과 값 대입, 메소드 호출 결과 값 대입 */
    var value1 = 100
    var value2 = (1 + 3) * (20 / 5)
    var value3 = "   Hello   ".trim()

 

 

 

복합 대입 연산자(augmented assignment operator)

  var w1 = 10
    w1 += 20
    w1 -= 30
    w1 *= 40
    w1 /= 50
    w1 %= 60

 

 

증감 연산자

   /* 증감연산자 */
    var value = 100

    value++
    println("after value++ : " + value)

    value--
    println("after value-- : " + value)

출력 결과
after value++ : 101
after value-- : 100

 

 

 

교 연산자

   var r1 = (1 == 1)
    var r2 = ("Hello" == "Hello")
    var r3 = (2 > 1)

    println("(1 == 1) : $r1")
    println(""""Hello"== "Hello" : $r2""")
    println("(2 > 1) : $r3")

출력 결과    
(1 == 1) : true
"Hello"== "Hello" : true
(2 > 1) : true

 

 

 

논리 연산자(logical operator)

    var r4 = true && true
    var r5 = true && false
    var r6 = false || false
    var r7 = false || true

 

 

부정 연산자

    var r8 = !true
    var r9 = !false

 

반응형

 

인덱스 연산자

    var nums = arrayOf(100, 101, 102)

    println("nums[0] : " + nums[0])
    println("nums[1] : " + nums[1])
    println("nums[2] : " + nums[2])

출력 결과
nums[0] : 100
nums[1] : 101
nums[2] : 102

    var areaCodeMap = mutableMapOf("02" to "서울", "055" to "경남")
    println(areaCodeMap["02"]) //키값 전달 시 벨류 값 반환
    println(areaCodeMap["055"])
    areaCodeMap["051"] = "부산" //키값으로 벨류 추가
    println(areaCodeMap["051"])

출력 결과
서울
경남
부산

 

 

 

in 연산자

(1) 배열, 리스트, 집합 혹은 Range 객체에 특정 원소가 포함 되어 있는지 검사하기 위해 사용
    var arr = arrayOf(1,2,3,4,5)
    println("3 in arr : ${ 3 in arr }")
    println("6 in arr : ${ 6 in arr }")

    var list = listOf('a', 'b', 'c', 'd', 'e')
    println("'a' in list : ${'a' in list}")
    println("'f' in list : ${'f' in list}")

출력 결과
3 in arr : true
6 in arr : false
'a' in list : true
'f' in list : false

 

 

(2) .. 연산자를 이용해서 1부터 10까지 범위 정보를 담고 있는 범위 객체 생성
    println(1 in 1 .. 10)
    var a = 10
    println(a in 1 .. 9)
    println(1 !in 1..10)

출력 결과
true
false
false

 

 

 

(3) 반복문 사용
    for(num in 1..5){
         print("$num")
     }
    println()

    var items = arrayOf('a', 'b','c')
    for (item in items){
        println(item)
    }
    println()

    for((idx, item) in items.withIndex()){
        println("$idx : $item")
    }

출력 결과
12345
a
b
c

0 : a
1 : b
2 : c
반응형