Skip to content

Instantly share code, notes, and snippets.

@Kernelzero
Created September 3, 2024 10:04
Show Gist options
  • Save Kernelzero/a250c57cff1e58e2283801f5745def8b to your computer and use it in GitHub Desktop.
Save Kernelzero/a250c57cff1e58e2283801f5745def8b to your computer and use it in GitHub Desktop.
fun main() {
println("11. 연산자의 개요 및 단항, 산술 연산자 사용하기")
// 산술연산자 +-*/
// 이미 다 아는 것들이죠?
var value: Int = 0
value = 8
println(value)
value = -8
value = -value
println(value) // 8 단항연산자
// 캐스팅
println("===== 캐스팅 ====")
var pi = 3.14
println(pi)
var pi_int = pi.toInt()
println(pi_int)
var days = 29
println("2월달은 " + days + "일입니다." ) // 암시적
println("2월달은 " + days.toString() + "일입니다." ) // 명시적
println("2월달은 ${days}일입니다." ) // 템플릿 문자열, 문자열 보간법
println("12. 할당연산자와 증감연산자")
// 변수에 형을 지정하지 않으면 알아서 형 지정이 됨
var name = "Kotlin"
var version = 1.4
println("${name} ${version}")
var i = 100
var j = 200
println("초기 값: ${i}, ${j}")
// 스왑
var temp = i
i = j
j = temp
println("변경후 값: ${i}, ${j}")
// 증감연산자
var num = 100
// 증감 +=, -=
num += 2
println(num)
num -= 3
println(num)
// incrementOperator
--num // == (num = num -1)
println(num)
num--
println(num)
// prefix, postfix
// 선행연산자는 대입(할당) 보다 순위가 높음.
println("13. 관계형 연산자, 논리 연산자")
// <, <=, == , != 등
// ||, && , !
var num_a = 3
var num_b = 5
println(num_a > num_b) // 3 > 5
println(true && false)
println(true || false)
println(!false)
println("===============14. 비트연산자===============")
var x: Int = 0b1010 // 2진수 , 10진수 10
var y: Int = 0b1100 // 12
println(x)
println(y)
var zz = x and y
var zz2 = x or y
var zz3 = x xor y // 서로 다를때만 1
println(zz) // 0b1000 == 8
println(zz2) // 0b1110 == 14
println(zz3) // 0b0110 == 6
var inv = x.inv()
println(inv) // 1111_0101 ==> -11
println("shift")
// shift
var sh1 = 0b0000_0010
println(sh1 shl 1)
println(sh1 shr 1)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment