반응형
배열
var a = arrayOf(1,2,3)
var b = arrayListOf(1,2,3,4)
var c = arrayOf<String>("aaa","bbb","ccc")
var d = IntArray(3)
d[0] = 1234
d[1] = 4321
println("${a[0]} ${b[0]} ${c[0]} ${d[2]}")
함수
fun main() {
show("has")
var returnValue = getString()
println(returnValue)
}
fun show(message: String){
println(message)
}
fun getString(): Any {
return "Return"
}
fun main() {
println("max: ${max(x=3,y=5)}")
log("message")
println(sumAll(3,4))
}
fun max(x: Int, y: Int): Int{
return if (x>y) x else y
}
fun log(message: String, level: Byte = 1){
println("$message, $level")
}
// // Method Overload
fun getNumber(number: Int){
println("Int : $number")
}
fun getNumber(number: Long){
println("Long : $number")
}
// expression body fun
fun sumAll(fst:Int, sec: Int) = fst + sec
Date
// LocalDateTime
var current = LocalDateTime.now()
println("Current Time: ${current}")
// DateTimeFormatter
var formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")
println("Current Time: ${current.format(formatter)}")
// date
println("date: ${LocalDate.now()}")
// add
println("add 3 days: ${current.plusDays(3)}")
println("minus 3 months: ${current.minusMonths(3)}")
Enum
// Enumeration
enum class Priority{
High,
Normal,
Low
}
enum class Animal {
Mouse, Cow, Tiger, Chicken, Dog,Pig
}
fun main(){
var who =Animal.Dog
var result = when(who){
Animal.Dog -> "dog"
Animal.Cow -> "cow"
else->"etc"
}
}
Class
class MyClass {
fun myMethod(){
println("hi")
}
}
import kotlin.random.Random
data class Customer(val id: Int, val name: String, val city: String)
fun main(args: Array<String>) {
val mycls = MyClass()
val customer1 = Customer(id = 1, name="홍길동", city="Seoul")
mycls.myMethod()
println("${customer1.id}, ${customer1.name}, ${customer1.city}")
println(Random.nextInt(0,1))
}
String
fun main(args: Array<String>) {
var s = " String,aa,bb "
s = s.trimIndent()
var ss = s.split(",") // 문자열 split
for(e in ss){
println(e) // split
}
println(ss.joinToString())
s = s.replace("aa","cc") // 변경
println(s)
var y: Boolean = s.equals(s.toUpperCase(),ignoreCase=true)
if(y) println("y") // 대소문자 무시 문자열 비교
var sb = StringBuilder()
sb.append("hello")
println(sb.toString())
sb.clear()
}
try, catch, finally
fun main(args: Array<String>) {
try{
throw Exception("err")
}catch(e:Exception){
println("error ${e.message}")
}finally{
println("finally")
}
}
nullable, elvis, !!
var hello: String? = null; // Nullable Type //Type?
println(hello)
// elvis 연산
var a = null
var number = a?.toString() ?: 1234 // not null -> toString, null -> 1234
println(number)
// !! - must not null
var b: String? = "a"
println(b!!.toUpperCase())
'coding' 카테고리의 다른 글
GUI tkinter Label, Button (0) | 2021.05.13 |
---|---|
Kotlin 기초1 정리 (0) | 2021.03.18 |
git 기능~버전관리 (0) | 2021.02.09 |