Kotiln 기초

베짱이·2022년 6월 27일
0

Kotiln

목록 보기
1/4

Kotiln이란?

자바가 사용되고 있는 모든 용도에 적합하면서도 간결하고, 생산적이며 안전한 대체 언어를 제공
장점
간결하고 실용적
자바 코드와의 상호운용
대부분의 자바 프로젝트에서 코틀린 사용 가능(안드로이드, 서버 개발)
자바와 비슷한 성능
안전성(null체크, 타입 검사와 캐스트)

코틀린 기본 문법

변수 선언 방법

1.즉시 대입(타입 선언)

val a:Int = 1

2.즉시 대입(타입 체크)

val a = 1
  1. 선언 후 초기화
val a:Int 
a = 1

선언 후 나중에 초기화해야 할 때에는 타입을 static하게 정해놓고 사용해야 한다.

함수 선언 방법

  1. 기본 함수 선언
fun sum1(a : Int, b: Int) : Int// 리턴 타입 {
	return a+b //리턴 값
}
  1. 괄호, return type, return 생략
fun sum2(a : Int, b: Int) = a+b
  1. 아무 리턴값을 반환 하지 않는다는 표현은 :Unit 으로 함수 리턴타입을 붙일 수도 있고, 생략이 가능하다
fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}")
}

fun printSumNoUnit(a: Int, b: Int) {
    println("sum of $a and $b is ${a + b}")
}

문자열 템플릿

fun string_template() {
    var a = 1
    val s1 = "a is $a"
    println(s1) //a is 1

    a = 2
    val s2 = "${s1.replace("is", "was")}, but now is $a" 
    println(s2) //a was 1, but now is 2
}

변수 a는 문자열안에서 $기호를 붙여 값을 대입하여 사용할 수 있다. 또한 ${} 안에서 문자열 s1는 자신의 인스턴스 메소드를 사용할 수 있다.

조건식

  1. 기본 조건식
fun maxOf(a: Int, b: Int): Int {
    if (a > b) {
        return a
    } else {
        return b
    }
}
  1. return문 생략 조건식
fun maxf2(a: Int, b: Int) = if(a>b) a else b

if(a>b) return a
else return b

null값과 null체크

엘비스 연산자 ?:

class Elvis{
  var na : String? = null
  
  fun elvis(){
  	var name1 : String = na ?: "NA"
    //na는 현재 null 이기 때문에 name1에는 NA가 들어간다.
    var name2 : String = na ?: return
    //na는 현재 null 이기 때문에 함수 자체를 return 시킨다.
    var name3 : String = na ?: throw NullPointerException()
    //na는 현재 null 이기 때문에 NullPointerException 예외가 발생한다.

var 변수 이름 : 변수 타입 = true ?: false

${str?.length ?: -1}
str이 null이라면 -1 반환 아니라면 length 반환
if(str != null) str.length else -1
와 똑같은 문장이다

profile
하루는 개발만 하기에는 너무 길다.

0개의 댓글