-
[Kotlin] ArrayKotlin 2022. 9. 14. 15:22
// 1. // 코틀린 배열생성은 arrrayOf를 자주 이용함 val array1 = arrayOf(10, 20, 30 , 40, 50) println("1. array1: $array1") // 클래스 이름과 해쉬코드 등이 출력됨 // 2. // 배열의 요소들을 한번에 출력하려면 contentToString 함수 사용 println("2. array1: ${array1.contentToString()}") // 3. // 코틀린의 배열은 일단 자료형의 제약이 없어서 자바의 리스트 등처럼 여러 자료형데이터를 // 자료형 데이터를 하나의 배열에 넣어서 사용할 수 있음. // 다만 그것이 권장할 만한 동작은 아니기에 자료형을 제한하는 코드가 제공되어 사용됨 // 자료형 제약없이 사용 val array2 = arrayOf(100, 11.11, "문자열", true) println("3. array2: ${array2.contentToString()}") // 4. // 하나의 자료로 제한하여 사용 val array3 = intArrayOf(10, 20, 30, 40, 50) // 기본 자료형은 ArrayOf 앞에 자료형을 붙여쓰고 val array4 = doubleArrayOf(11.11, 22.22, 33.33, 44.44, 55.55) val array5 = arrayOf<String>("문자열1", "문자열2", "문자열3") // 객체형 자료는 제네릭 사용함 println("4. array3: ${array3.contentToString()}") println("4. array4: ${array4.contentToString()}") println("4. array5: ${array5.contentToString()}") // 5. // 0 다섯개가 채워진 배열 생성 var array6 = Array( 5, {0}) // 다섯개의 널이 채워진 배열, 코틀린 변수는 널을 허용하지 않는 것이 기본 // 그러므로 이와 같이 ?를 넣어야 널값을 저장 가능 var str = Array<String?>( 5, {null}) println("5. array6: ${array6.contentToString()}") println("5. str: ${str.contentToString()}") // 6. print("6. ") for(item in array1){ // 배열을 이용한 반복실행문 실행 print("$item\t") }
println("첫번째 값: ${array1.first()}") println("마지막 값: ${array1.last()}") println("30의 위치: ${array1.indexOf(30)}") println("평균: ${array1.average()}") println("합: ${array1.sum()}") println("개수: ${array1.count()}") println("개수: ${array1.size}") println("30을 포함하는가: ${array1.contains(30)}") println("1000을 포함하는가: ${array1.contains(1000)}") println("30을 포함하는가: ${30 in array1}") println("1000을 포함하는가: ${1000 in array1}") val array12 = arrayOf(5, 1, 3, 7, 10, 8) val array13 = array12.sortedArray() val array14 = array12.sortedArrayDescending() println("array13: ${array13.contentToString()}") println("array14: ${array14.contentToString()}")
요일 출력fun main(){ print("연도 입력: ") val year: Int = readLine()!!.toInt() print("월 입력: ") val month: Int = readLine()!!.toInt() print("일 입력: ") val day: Int = readLine()!!.toInt() var days:Int=sumdays(year, month, day) val temp:Int=days%7 val weekday:String = selectWeekday(temp) println(weekday) } fun sumdays(year:Int, month:Int, day:Int):Int{ var days=0 val mdays = arrayOf(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) if((year%4 ==1)&&(year%100!=0)||(year%400==0)) mdays[2]=29 days = (year-1)*365 val y:IntRange = 1 .. (year-1) for(i in y){ if((i%4 ==1)&&(i%100!=0)||(i%400==0)) days++ } var i:Int=0 while(i<month){ days += mdays[i] i++ } days += day return days } fun selectWeekday(t:Int):String = when(t) { 1->"월요일" 2->"화요일" 3->"수요일" 4->"목요일" 5->"금요일" 6->"토요일" 0->"일요일" else -> "잘못된 연산입니다" }
'Kotlin' 카테고리의 다른 글
[Kotlin] Constructor (0) 2022.09.14 [Kotlin] Class (0) 2022.09.14 [Kotlin] Loop (0) 2022.09.14 [Kotlin] 익명함수 (0) 2022.09.14 [Kotlin] 람다함수 (0) 2022.09.14