티스토리 뷰
1. 숫자
const val decValue: Int = 100 // 10진수 표기
const val hexValue: Int = 0x100 // 16진수 표기
const val binaryValue: Int = 0b100 // 2진수 표기
const val longValue: Long = 100L // Long 타입
const val doubleValue: Double = 100.1 // Double 타입
const val floatValue: Float = 100.0f // Float 타입
const val andValue: Int = (6 and 5) // 비트 연산 AND(논리곱)
const val orValue: Int = (6 or 5) // 비트 연산 OR(논리합)
const val xorValue: Int = (6 xor 5) // 비트 연산 XOR(상호배제)
const val invValue: Int = 6.inv() // 비트 연산 NOT(부정)
const val shiftLeftValue: Int = 178 shl 2 // 왼쪽으로 시프트(부호 비트 유지)
const val shiftRightValue1: Int = 178 shr 2 // 오른쪽으로 시프트(부호 비트 유지)
const val shiftRightValue2: Int = 178 ushr 2 // 오른쪽으로 시프트(부호 비트 무시)
fun main(args: Array<String>) {
println(decValue)
println(hexValue)
println(binaryValue)
println(longValue)
println(doubleValue)
println(floatValue)
// 6&5 : 6은 이진수로 110, 5는 이진수로 101이므로 6&5의 연산은 이진수 100, 10진수 4입니다.
println("AND(논리곱) 연산 = $andValue")
// 6|5 : 6은 이진수로 110, 5는 이진수로 101이므로 6&5의 연산은 이진수 111, 10진수 7입니다.
println("OR 연산 = $orValue")
// 6^5 : 둘이 같은 값이면 거짓이고, 다른 값이면 참입니다. 6^5의 연산은 이진수 011, 10진수 3입니다.
println("XOR 연산 = $xorValue")
// 6~ : 단항연산으로 0인 자리는 1로, 1인 자리는 0으로 바꿉니다. 6의 1진보수로 취한 값으로 10진수 -7을 의미합니다.
println("NOT 연산 = $invValue")
println("왼쪽 시프트 연산 = $shiftLeftValue")
println("오른쪽 시프트 연산 = $shiftRightValue1")
println("오른쪽 시프트 연산(부호 비트 무시) = $shiftRightValue2")
}
2. 문자
const val charVal : Char = 'A' // Char 자료형
const val ascVal : Int = 65 // 문자 'A'의 아스키 코드 값
const val ascCharVal : Char = ascVal.toChar() // ascVal에 해당하는 문자를 할당
fun main(args: Array<String>) {
println(charVal)
println(ascCharVal)
}
3. 논리
const val boolVal1 : Boolean = true
const val boolVal2 : Boolean = false
fun main(args: Array<String>) {
if (boolVal1 || boolVal2) {
println("논리연산 OR")
}
if (boolVal1 && boolVal2) {
println("논리연산 AND")
}
if (!boolVal2) {
println("boolVal2가 false일 경우")
}
}
4. 문자열
val str : String = "Hello Kotlin"
val ch1 : Char = str.get(4) // ch1에 인덱스가 4인 문자 'o' 할당
val ch2 : Char = str[6] // ch2에 인덱스가 6인 문자 'K' 할당
val length : Int = 3000
val lengthText1 : String = String.format("Length: %d meters", length) // 'Length: 3000 meters'
val lengthText2 : String = "Length: $length meters" // 'Length: 3000 meters'
val strLength : String = "str TextLength : ${str.length}" // str 문자열의 길이 할당
val price : Int = 1000
val priceText : String = "Price: ${'$'}$price" // 'Price $1000 할당'
fun main(args: Array<String>) {
println(ch1)
println(ch2)
println(lengthText1)
println(lengthText2)
println(strLength)
println(priceText)
}
5. 배열
val strArray : Array<String> = arrayOf("Apple", "Banana", "Kiwi", "Strawberry") // 문자열 배열 생성
val intArray1 : IntArray = intArrayOf(1, 2, 3, 4, 5) // Int형 배열 생성(원시)
val intArray2 : Array<Int> = arrayOf(1, 2, 3, 4, 5) // Int형 배열 생성(래퍼)
fun printIntArray(arr: Array<Int>) {
for(i in arr) {
print("$i ")
}
println()
}
fun printVarArgArray(vararg args : String) {
// vararg(가변 인자) : 자바의 String... 과 같이 가변인자를 vararg 키워드를 통해 처리할 수 있다.
for(i in args){
print("$i ")
}
println()
}
fun main(args: Array<String>) {
printIntArray(intArray2) // 배열에 바로 인자를 대입하여 함수 호출
printVarArgArray(*strArray) // 스프레드 연산자를 이용하여 함수 호출
}
출처
https://kotlinlang.org/docs/reference/
'프로그래밍 > Kotlin' 카테고리의 다른 글
[Kotlin] Kotlin Coding Convention (0) | 2019.08.03 |
---|---|
[Kotlin] 컬렉션(Collection) (0) | 2018.12.30 |
[Kotlin] 기본 자료형 1 (0) | 2018.12.17 |
[Kotlin] 클래스 / 인터페이스(작성중) (0) | 2018.12.11 |
[Kotlin] 기본 문법 (함수, 변수, 문자열 템플릿, 조건문, 제어문, Nullable, 자동타입 반환) (0) | 2018.12.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- kotlin
- 조세퍼스 문제
- 10827
- constraintlayout
- 최대공약수와 최소공배수
- 문자열
- a^b
- 1158
- #kotlin
- OpenCV
- mssql
- algorihtm
- 영상처리
- 자동타입
- 10828
- javacv
- 2743
- 1237
- Eclipse
- 10826
- 단어 길이 재기
- 큰 수 A+B
- 1260
- 10757
- 피보나치 수 4
- 함수형사고 Kotlin Java
- #android #motionlayout
- GCD 합
- algorithm
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함