-
kotlin 문법 정리 (1)kotlin 2023. 6. 17. 16:40반응형
특징
자바를 대체 하기 위한 개발 언어
자바의 몇몇 약점들을 개선
자바 가상머신과 호환 되도록 제작
클래스 이름의 표기법은 파스칼 표기법
ClassName
함수 변수 이름 카멜 표기법
functionName
코틀린으느 두가지 방식으로 변수를 선언
var
일반 적인 변수
언제든지 읽기 쓰기 가능
val
런타입 변수로 한번 실행되면 수정 되지 않음
- 클래스에 선언된 변수
- Property
- 이외에 Scope 내에 선언된 변수
- Local Variable(로컬 변수)
※ 코틀린은 기본적으로 NUll을 허용하지 않음
fun main() { var a : Int println(a) // Variable 'a' must be initialized // 에러 발생 } fun main() { var a : Int = 123 println(a) // 123 }
만약 null을 허용하고 싶다면 아래럼 null을 허용 해줄수 있음
※ 꼭 필요한 경우에만 사용해주자!
var a:Int? = null
코틀린 기본자료형 (자바와 동일)
정수형
Byte = 8bits
Short = 16bits
int = 32bits
Long = 64bits
var intValue:Int = 123 var LongValue:Long = 123L // 뒤에 L 표기 var intValueByHex:Int = 0x1af // 16 진수의 경우 앞에 0x 붙여줘야함 var intValueByBin:Int = 0b10110110 // 2진수의 경우 0b 를 앞에 붙여 준다 //코틀린은 8진수의 표기는 지원하지 않음
실수형
Float 32bits
Double 64bits
var intValue:Double = 123.5 var LongValueWithExp:Double = 123.5e10 // 지수 표기법 추가 var floatValue:Float = 123.5f // 뒤에 소문자 또는 대문자 F를 붙여주면 됨
형변환
// 형 변환 함수 toByte() toShort() toInt() toLong() toFloat() toDouble() toChar() ex) var a:Int = 123 var b:Long = a.toLong()
※ 코틀린은 명시적 형변환 만 지원함
다른 언어들이지원하는 암시적 형변환은 지원하지 않음
- 명시적 형변환 : 변환될 자료형을 개발자가 직접 지정함
- 암시적 형변환 : 변수를 할당할 당시 자료형을 지정하지 않아도 자동으로 형 변환 됨
배열
// 배열에 값 지정 var intArr = arrayOf(1,2,3,4,5) // 비어있는 배열을 선언하고 싶으면 var nullArr = arrayOfNulls<Int>(5) // 자바와 마찬가지로 intArr[2] = 8 // println(intArr[4]) // 특정 배열 위치에 값을 할당, 쓰기가 가능
타입 추론
val StringValue:String = "test" val StringValue = "test"
함수
fun main() { println(add(5,6,7)) // 18 출력 } // 뒤에 return 타입 지정 // void 와 같이 리턴 타입 없으면 return 타입 안적어 줘도 됨 fun add(a: Int, b: Int, c: Int): Int { return a + b + c }
단일 표현식 함수 (반환형의 타입 추론 가능 함)
fun main() { println(add(5,6,7)) // 18 출력 } fun add(a: Int, b: Int, c: Int) = a + b + c
조건문 (다른 언어들과 같음)
- if 문
fun main() { var a = 7 if (a > 10) { println("a가 10보다 크다") } else { println("a가 10보다 작다") } }
- when 문 (switch문 개념)
fun main() { doWhen(1) doWhen(12L) doWhen(3.233) } fun doWhen(a: Any) { when(a) { 1 -> println("정수 1입니다") is Long -> println("Long 타입입닌다") !is String -> println("String 타입이 아닙니다") } }
반복문
- while 문
fun main() { var a = 0 while(a < 5) { println(a) a++ } } 0 1 2 3 4
- for 문
fun main() { for(i in 0..4) { // 0에서 4까지 println(i) } } 0 1 2 3 4 // 증가 값을 1이 아닌 다른값으로 하고 싶다면 //step 사용 fun main() { for(i in 0..9 step 3) { println(i) } } 0 3 6 9 // 감소 연산자 사용 fun main() { for(i in 0..9 step 3) { // 0에서 9까지 println(i) } } 4 3 2 1 0 //char 형으로도 반복문 사용가능 fun main() { for(i in 'a'..'e') { println(i) } } a b c d e
반응형'kotlin' 카테고리의 다른 글
kotlin 문법 정리 (2) (0) 2023.07.08