기본 문법 & 변수와 자료형

Leechaeyeon·2023년 5월 14일
0
post-thumbnail

기본 문법

주석

Java와 동일하다.

// : 한줄 주석
/* */ : 여러 줄 주석

출력문

print : 값을 출력하고 밑으로 내리지 않는다.
prinln : 값을 출력하고 \n 밑으로 내린다.

  • 값을 같이 출력할 때는 ${값}을 사용한다.
    fun main() {
        var test = 0;
        println("test = ${test}")
        println("test = "+ test)
    }

세미콜론 ;

  • 명령문 마지막의 세미콜론(;)은 선택사항
  • 한 줄에 여러 명령문을 작성할때는 세미콜론을 붙여줘야한다.
    fun main() {
        var test = 0;
        println("첫줄") ; println("두번째 줄")
    }

변수와 자료형

리터럴 literal

변수에 넣는 변하지 않는 데이터

  1. 정수 리터럴 ( Integer Literal ) : 정수값 표현

    • 100, 100L, 1_100_000
    val num1 : Int = 123 
    val num2 : Long = 123L 
  2. 실수 리터럴 : 실수값 표현

    • 11.11 , 22.22F
    val pi : Double = 3.14 
    val piF : Float = 3.14F
  3. 문자 리터럴 : 단일 문자 표현

    • ‘a’ , ‘B’
    val a : Char = 'a'
  4. 문자열 리터럴 : 문자열 표현

    • “문자열”
    val a : String = "문자열"
    • Raw string → 한번에 문자열 출력할 때 사용 , 코드상에서 줄바꿈도 적용됨 , ‘ ’이나 “ ”도 사용가능
    println("동해물과 백두산이\n마르고 닳도록\n하느님이 보우하사\n우리나라 만세")
    
        println("""동해물과 백두산이
            |마르고 닳도록
            |하느님이 보우하사
            |우리나라 만세
        """.trimMargin())
  5. 부울 리터럴 : 논리값 표현

    • true, false ( 대문자 X )
    val bool_test : Boolean = true
  6. Nothing : 함수가 정상적으로 끝나지 않는다를 의미

  7. Unit : void를 의미

변수 선언 var val

var : 선언 이후 값을 다시 저장 가능
val : 선언 이후 값을 다시 저장 불가능

var/val 변수명 : 타입 = 값

  • 타입을 생략시 저장하는 값에 따라 자료형이 자동으로 결정됨

null 허용 변수

변수를 선언할 때 null 허용 여부를 설정가능 ( java 불가능 )

var/val 변수명 : 자료형 = 값 → null 허용 안함
var/val 변수명 : 자료형 = 값? → null 허용

  • 참조 변수에 객체의 ID가 있다면 그 객체에 접근할 수 있지만 null이 있다면 접근 불가능 ⇒ null이 있는 상태에서 접근하는 코드를 작성해 실행하면 NullPointerException이 발생
  • 그래서 코틀린에서는 변수에 아에 null을 저장하지 못하게 하여 반드시 변수에 객체의 ID를 담도록 강제한다.

→ ? 을 붙여야지만 null값 담을 수 있다.

!! : null을 허용하는 타입을 null을 허용하지 않는 타입으로 변환

var a6:Int? = null

var a7:Int = a6!!
    println("a7 : $a7")

    if(a6 != null){
        var a8:Int = a6
        println("a8 : $a8")
    }

0개의 댓글