목록2021/11/01 (5)
낭만 프로그래머
Array 1. Array 선언 형식 var 변수명: Array = Array(배열크기, 초기값 함수) var array1 = Array(2, {0}) //초기값을 0으로 하는 사이즈 2인 1차원 배열 var array2 = Array(2, { Array(2, {0}) }) //초기값을 0으로 하는 2x2인 2차원 배열 // 다양한 배열 선언 var stringArray = Array(2, {""}) // String 배열 var intArray = IntArray(2) // Int 배열 var charArray = CharArray(2, {'a'}) // Char 배열 var floatArray = FloatArray(2, {1.0f}) // Float 배열 var doubleArray = Double..
제어문 1. 자바의 if ~ else 문법과 동일하다. 다만 코틀린에서는 if문을 표현식으로 사용할 수 있다는 점이 있다 var value: Int = 0 var i: Int = 100 if (i > 0) { value = 1 } else if (i == 0) { value = 2 } else { value = 3 } var i: Int = 100 var value: Int = if (i > 0) { 1 } else if (i == 0) { 2 } else { 3 } 2. 자바의 Switch/Case 대신에 코틀린에서는 When을 사용한다. var value: Any = "A" when(value) { is String -> println("타입이 String인 경우") 10 -> println("10인..
함수 1. 함수 선언 fun 함수명(매개변수명: 타입): 반환타입 { ... } 2. 반환 값이 없는 함수 fun test(arg1: Int, arg2: Int) { println("hello") } fun test2(arg1: Int, arg2: Int): Unit { println("hello") } 3. 반환 값이 있는 함수 fun test(arg1: Int, arg2: Int): Int { return arg1+arg2 } 4. 매개변수를 초기화 하여 입력 값을 생략 할 수도 있다 fun test(arg1: Int, arg2: Int = 1004): Int { return arg1+arg2 } /* 사용 */ test(1) // 두번째 매개변수로 1004가 초기값으로 들어감 test(1, 1002..
변수 1. 자바에서는 변수를 선언하는 키워드가 기본적으로 없으나 코틀린에서는 var, val 을 사용한다 이중에서 val은 상수를 의미하여 초기값 할당 후에는 변경할 수 없다. 자바의 final을 사용하는 것과 같다. 또한 타입이 추론 가능시에는 타입을 생략해도 된다. var(또는 val) 변수명: 타입 = 값 2. 자바와 다르게 코틀린은 최상위 또는 클래스의 멤버변수는 선언과 동시에 초기화 해야 한다. 만일 원시타입이 아닌 경우 명시적으로 초기화를 나중에 하기 위해서는 lateinit 키워드를 사용할 수도 있다. var stringValue: String = "1004" // 정상 lateinit var stringValue: String // 정상 var stringValue: String // 오류..
기본구조 1. 자바에서는 기본적으로 Class 내부에 변수 또는 함수 넣는 것을 기본으로 하지만 코틀린은 변수와 Class가 꼭 내부에 있지는 않다. 파일이름을 Test.kt로 했을 경우 컴파일시에 자바클래스로 코틀린은 Test.class 와 TestKt.class가 만들어 진다. /* Test.kt 파일 */ // TestKt.class로 컴파일 var testValue: String = "Test" fun testPrint(testValue: String) { println(testValue) } // Test.class로 컴파일 class Test { var classTestValue : String = "Class Test" fun classTestPrint(classTestValue: Strin..