반응형

- 클래스 선언

fun main() {

  var car = Car(speed = 12)
  print("name: ${car.name}, age: ${car.speed}")
}

class Car(var name: String = "Benz", var speed: Int)

 

- 조건문

// 캐스트 조건
if(num is Int){
	 println(num)
}

// 기본 조건문
if (input  < 0)
  println("음수")
else if (input > 0)
  println("양수")
else
  println(0)

 

- 연산

==는 내부적으로 equals를 호출한다. 따라서 참조 타입인 두 개의 String을 ==연산으로 비교하면 주소값이 아닌 값(동등성)비교를 한다.

val a: String = "hi"
val b: String = "hi"

println(a == b) // true

출처: https://wooooooak.github.io/kotlin/2019/02/24/kotiln_%EB%8F%99%EB%93%B1%EC%84%B1%EC%97%B0%EC%82%B0/

- 반복문

01 package six_two_one
02
03 fun main(args: Array<String>) {
04   var sum: Int = 0
05   for(i in 1..10) {
06     sum += i
07   }
08   println(sum)
09 }
출처: https://kkangsnote.tistory.com/65 [깡샘의 토마토:티스토리]


01 val list = listOf("Hello", "World", "!")
02 val sb=StringBuffer()
03 for(str in list) {
04   sb.append(str)
05 }
06 println(sb)
출처: https://kkangsnote.tistory.com/65 [깡샘의 토마토:티스토리]

 

 

- 함수

a+b을 반환하는 함수,

특징 1. 앞에 fun을 적어줘야함.

특징 2. 변수명이 앞에옴 (a: Init)

특징 3. 반환타입은 제일 뒤에옴

fun sum(a: Int, b: Int): Int {
  return a + b
}

 

 

- NULL 체크

var a: Int = 10
a = null // 불가능, 문법상 오류 발생

var b: Int? = null
b = null // 가능

 

 

- 기타 정보

val: 불변(Immutable) 변수로, 값의 읽기만 허용되는 변수. 값(Value)의 약자.
var: 가변(Mutable) 변수로, 값의 읽기와 쓰기가 모두 허용되는 변수. 변수(Variable)의 약자.

 

- 생성자

주 생성자에 어노테이션이나 가시성 변경자(visibility modifiers)가 없다면 생성자 키워드는 생략할 수 있음.

// constructor 키워드 사용
class Person constructor(firstName: String) {/*...*/}

// constructor 키워드 생략
class Person(firstName: String) {/*...*/}


    var user = User("eeun")

 

 

- !!

https://hororolol.tistory.com/572

NULL이 될 수 있는 타입

  • 코틀린의 모든 타입은 기본적으로 널이 될 수 없는 타입이다.
  • 코틀린은 널이 될 수 있는 타입을 명시적으로 지원한다.
    • 타입 옆에 물음표(?)를 표시한다.
  • NULL이 될 수 있는 타입의 변수이지만, 현재 NULL이 아님을 주장할 수 있다.
    • 느낌표 2개(!!)를 변수 뒤에 붙인다.
    • 이 표시를 통해 null이 될 수 없는 변수에 null이 될 수 있는 타입을 주입할 수 있다.
  • 널이 될 수 있는 타입인 변수에 대해 메서드를 호출하면 NPE가 발생할 수 있으므로, 코틀린은 그런 메서드 호출을 금지함으로써 NTE 발생을 예방한다.

 

 

 

 

 

 

https://medium.com/@sket8993/kotlin-%EC%83%9D%EC%84%B1%EC%9E%90-%EC%B4%88%EA%B0%84%EB%8B%A8-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-b8a61df6fe6

 

https://shinjekim.github.io/kotlin/2019/09/02/Kotlin-%EC%BD%94%ED%8B%80%EB%A6%B0%EC%9D%98-%EC%83%9D%EC%84%B1%EC%9E%90(Constructor)/

 

foreach문

https://ddolcat.tistory.com/561

 

반응형