[패캠 안드로이드] Part1 Ch1.2 코틀린 문법 1

0
post-thumbnail
post-custom-banner

Part1 Ch1.2 코틀린 문법 1

fun main(args : Array <String>){
	print("Hello World")
}

함수 정의

  • 구문식
fun 함수명(매개변수명 : 매개변수 타입) : 함수 반환 타입{ 
	함수 내용
}
//함수 반환값 void일 경우 - 함수 반환 타입 생략 가능
fun sum(a : Int, b : Int) : Int {
	return a + b
}
  • 표현식 (expression)
    코틀린의 가장 큰 특징
fun sum(a : Int, b: Int) = a + b
fun max( a:Int, b : Int)  = if(a>b) a else b

상수 val (value) & 변수 var (variable)

val a : Int = 1

//타입 추론을 통해 자료형 명시하지 않아도 자동으로 결정됨
val b = 2 
val c = 3.14

val d : String //d = null
d = "첫번째 초기화" 
//코틀린 - 널안정성 (null safety) 
//null 가능한 타입과 불가능한 타입으로 나뉨
//String 타입 - null불가능, 초기화 하지 않으면 에러

//d = "두번째 초기화"
//val은 상수, 값 변경 불가능

var e : String
e = "첫번째 초기화"
e = "두번째 초기화"
//var은 값 변경 가능

자료형 (자바 자료형과 1:1 호환됨)

  • 정수 Byte, Short, Int, Long
  • 실수 Float, Double
  • 문자 Char
  • 문자열 String
  • 부울 Boolean
var str String = "abcd"
str = "abcd" + 1 //append
str = "abcd" + "efg"
  • 자료형? : null이 될 수 있는 자료형
  • 자료형! : 절대로 null이 될 수 없는 자료형
val myTrue : Boolean = true
val myFalse : Boolean = false
val myNull : Boolean? = null 

반복문 - for

for(i in 1..5){ //1~5, 증가하는 범위 .. 사용
    println(i)
}
//1 2 3 4 5
for(i in 1 until 5){ //1~4
    println(i)
}
//1 2 3 4
for(i in 1..5 step 3){ //step n-> 범위 n칸씩 건너뜀
    println(i)
}
//1 4
for(i in 6 downTo 0 step 2){ //감소하는 범위 downTo 사용
    println(i)
}
//6 4 2 0

val numberlist = listOf(100, 200, 300) 
for(num in numberlist){ //list 사용
    println(num)
}
//100 200 300
//다른 컬렉션(ex. map, set, ...)도 for문에 사용될 수 있음

반복문 - while

var x = 5
while (x > 0){
    println(x)
    x--
}
//5 4 3 2 1
x = 0
while (x > 0){
    println(x)
    x--
}
//출력 없음

var y = 0
do{
    println(y)
    y--
}while (y > 0)
//0
profile
Be able to be vulnerable, in search of truth
post-custom-banner

0개의 댓글