1. ν¨μ function
π° ν¨μλ funμΌλ‘ μ μνκ³ λ°νκ°μ΄ μλ ν¨μλ λ΄λΆμμ returnμΌλ‘ κ°μ λ°ν
π° ν¨μλ₯Ό μ μν λ μ
λ ₯κ°μ κΈ°μ ν κ²μ 'νλΌλ―Έν°'
fun ν¨μμ΄λ¦ (νλΌλ―Έν° μ΄λ¦ : νμ ) : λ°ννμ {
return κ°
}
π₯ ν¨μμ κ΄νΈ μμ μ
λ ₯λλ 'νλΌλ―Έν° μ΄λ¦ : νμ
'μ λ°λΌ, ν¨μλ₯Ό νΈμΆν λ κ΄νΈ μμ κ°μ λ£μ΄μ μ λ¬νλλ°
μ΄ λ μ
λ ₯λλ κ°μ νμ
μ ν¨μμ μ μλ νλΌλ―Έν° νμ
κ³Ό λμΌνκ² μ
λ ₯ν΄μΌ ν¨
1) ν¨μμ μ μ
λ°νκ°κ³Ό μ λ ₯κ°μ΄ μλ ν¨μμ μ μ
βοΈ Int νμ
μ xλΌλ μ
λ ₯ νλΌλ―Έν°λ₯Ό κ°λ ν¨μ square()λ₯Ό μ μ
fun square(x: Int): Int {
return x * x
}
// square() ν¨μκ° νΈμΆλλ©΄ μ
λ ₯κ°μ μ κ³±ν΄μ νΈμΆν μΈ‘μΌλ‘ λ°ννκ³ μ€νμ΄ μ’
λ₯.
λ°νκ°μ΄ μλ ν¨μμ μ μ
βοΈ λ°νκ° μμ΄ μ λ ₯κ°μ λ°μμ μΆλ ₯νλ ν¨μ printSum() ν¨μλ₯Ό μ μ. ν¨μκ° νΈμΆλλ©΄ κ²°κ³Όκ°μ μΆλ ₯νκ³ μ€νμ΄ μ’ λ£
fun printSum(x: Int, y: Int) {
println("x + y = ${x + y}")
}
μ λ ₯κ° μμ΄ λ°νκ°λ§ μλ ν¨μμ μ μ
fun getPi(): Double {
return 3.14
}
2) ν¨μμ μ¬μ©(νΈμΆ)
π° ν¨μμ μ¬μ©μ μ΄λ¦ λ€μ κ΄νΈλ₯Ό λΆμ¬μ λͺ
λ Ήμ΄λ₯Ό μ€ννλ νν
ν¨μλͺ (κ°)
π₯ κ΄νΈλ₯Ό λΆμ΄μ§ μμΌλ©΄ ν¨μμ μ½λκ° μ€νλμ§ μκ³ λ§μΉ κ°μ²λΌ μΈμ
λ°νκ°κ³Ό μ λ ₯κ°μ΄ μλ ν¨μμ νΈμΆ
βοΈ νλΌλ―Έν°μ μ λ¬ν κ°μ μ
λ ₯νκ³ λ°νκ°μ λμ
μ°μ°μ(=)λ‘ λ³μμ λ΄μ ν μ¬μ©
fun main() {
var squareResult = square(30)
println("30μ μ κ³±μ ${squareResult}μ
λλ€.") // 30μ μ κ³±μ 900μ
λλ€.
println("40μ μ κ³±μ ${square(40)}μ
λλ€.") // 40μ μ κ³±μ 1600μ
λλ€.
}
λ°νκ°μ΄ μλ ν¨μμ νΈμΆ
βοΈ λ°νκ°μ΄ μμΌλ©΄ λμ
μ°μ°μ(=)λ₯Ό μ¬μ©νμ§ μκ³ λ°λ‘ νΈμΆν΄μ μ€ν
fun main() {
printSum(3, 5) // x + y = 8
}
μ λ ₯κ°μ΄ μλ ν¨μμ νΈμΆ
βοΈ μ
λ ₯κ°μ΄ μλ€λ©΄ κ΄νΈλ§μΌλ‘ μ€ννκ³ κ²°κ³Όκ°μ λ°μ μ μμ
fun main() {
val PI = getPi()
println("μ§λ¦μ΄ 10μΈ μμ λλ λ ${PI}μ
λλ€.") // μ§λ¦μ΄ 10μΈ μμ λλ λ 3.14μ
λλ€.
}
2. ν¨μ νλΌλ―Έν°μ μ μ
π° ν¨μμ μ
λ ₯λλ νλΌλ―Έν°λ λ§μΉ λ³μλ₯Ό μ μνλ―μ΄ 'μ΄λ¦ : νμ
'μ ννλ‘ μ μ
β‘οΈ μ¬λ¬ κ°μ νλΌλ―Έν°κ° μ μλ κ²½μ°λ μ½€λ§λ‘ ꡬλΆ
π° μ½νλ¦°μμ ν¨μ νλΌλ―Έν°λ₯Ό ν΅ν΄ μ
λ ₯λλ λͺ¨λ κ°μ λ³νμ§ μλ immutable
π° μ½νλ¦°μμμ ν¨μ νλΌλ―Έν°λ λͺ¨λ μ½κΈ° μ μ© ν€μλ valμ΄ μλ΅λ νν
fun ν¨μμ΄λ¦((val μλ΅) name1: String, name2: Int, name3: Double) {μ€νμ½λ}
1) νλΌλ―Έν°μ κΈ°λ³Έκ° μ μμ νΈμΆ
π₯ νλΌλ―Έν°λ μ μν λ λ±νΈ(=)λ₯Ό μ¬μ©ν΄μ κΈ°λ³Έκ°μ μ€μ ν μ μμ
fun ν¨μμ΄λ¦ (name1: String, name2: Int = 157, name3: Double = 34.5) {μ€νμ½λ}
fun newFun(name: String, age: Int = 29, weight: Double = 65.5) {
// name = "tom"; // Val cannot be reassigned
println("nameμ κ°μ ${name}μ
λλ€.")
println("ageμ κ°μ ${age}μ
λλ€.")
println("weightμ κ°μ ${weight}μ
λλ€.")
}
// μ μλ newFun() ν¨μλ₯Ό νΈμΆν λ κΈ°λ³Έκ°μ΄ μλ 첫 λ²μ§Έ νλΌλ―Έν°μλ§ κ°μ μ
λ ₯νλ©΄
// λ λ²μ§Έμ μΈ λ²μ§Έ νλΌλ―Έν°μλ μ€μ ν κΈ°λ³Έκ°μ΄ μλμΌλ‘ μ
λ ₯.
newFun("Hello")
/*
nameμ κ°μ Helloμ
λλ€.
ageμ κ°μ 29μ
λλ€.
weightμ κ°μ 65.5μ
λλ€.
*/
2) νλΌλ―Έν° μ΄λ¦μΌλ‘ κ°μ μ
λ ₯νκΈ°
π₯ ν¨μμ μ μλ νλΌλ―Έν°κ° λ§μ κ²½μ° μ
λ ₯νλ κ°μ μλ―Έκ° λͺ
ννμ§ μμ λκ° μμ
π₯ μ΄λ΄ κ²½μ° μμμ μκ΄ μμ΄ μ μλ νλΌλ―Έν° μ΄λ¦μ μ§μ ν΄μ μ§μ κ°μ μ
λ ₯ν μ μμ
fun main() {
newFun("Michael", weight=67.5)
/*
nameμ κ°μ Michaelμ
λλ€.
ageμ κ°μ 29μ
λλ€.
weightμ κ°μ 67.5μ
λλ€.
*/
}
μμ© μμ
π login() λ©μλμ logout() λ©μλλ₯Ό μ μΈ
login() λ©μλλ₯Ό νΈμΆν λλ 맀κ°κ°μΌλ‘ idμ passwdλ₯Ό μ 곡νκ³ , logout() λ©μλλ idλ§ λ§€κ°κ°μΌλ‘ μ 곡
1) login() λ©μλλ 맀κ°κ° idκ° "admin", 맀κ°κ° passwordκ° "1234"μΌ κ²½μ°μλ§ true λ‘ λ¦¬ν΄νκ³
κ·ΈμΈμ κ°μΌ κ²½μ°μλ falseλ₯Ό 리ν΄
2) logout() λ©μλλ "admin μμ΄λκ° λ‘κ·Έμμ λμμ΅λλ€"κ° μΆλ ₯
fun main() {
print("μμ΄λλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ. >> ")
val id = readln()
print("λΉλ°λ²νΈλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ. >> ")
val password = readln()
val result = login(id = id, password = password)
if (result) {
println("λ‘κ·ΈμΈ λμμ΅λλ€.")
logout(id)
} else {
println("id λλ passwordκ° μ¬λ°λ₯΄μ§ μμ΅λλ€.")
}
}
fun login(id:String, password: String): Boolean {
return id == "admin" && password == "1234"
}
fun logout(id: String) {
println("$id μμ΄λκ° λ‘κ·Έμμ λμμ΅λλ€.")
}
π λ°°μ΄μ μ λ¬ λ°μ μ§μλ§ μΆλ ₯νλ λ©μλ μμ
fun main() {
val numbers = IntArray(10)
for (i in numbers.indices) {
numbers[i] = i + 1
}
print("main() : ")
for (i in numbers.indices) {
print(numbers[i])
if (i < numbers.size - 1) {
print(", ")
}
} // main() : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
println()
printOdd(numbers) // printOdd() : 2, 4, 6, 8, 10
}
fun printOdd(numbers: IntArray) {
print("printOdd() : ")
for (i in numbers.indices) {
if (numbers[i] % 2 == 0) {
print(numbers[i])
if ( i < numbers.size - 1) {
print(", ")
}
}
}
val odds = numbers.filter {result -> result % 2 == 0}
println(odds)
}
π ν€λ³΄λλ‘ λΆν° νμ μμ κ° νμλ€μ μ μλ₯Ό μ λ ₯λ°μμ, μ΅κ³ μ μ λ° νκ· μ μλ₯Ό ꡬνλ νλ‘κ·Έλ¨
fun main() {
var run = true // λ°λ³΅λ¬Έμ 쑰건μΌλ‘ μ¬μ© -> κ°μ΄ falseκ° λλ€λ©΄ λ°λ³΅λ¬Έμ΄ μ’
λ£
var scoreList: IntArray = IntArray(0)
while (run) {
println("-----------------------------------------------------")
println("1.νμμ | 2.μ μμ
λ ₯ | 3.μ μ리μ€νΈ | 4.λΆμ | 5.μ’
λ£")
println("-----------------------------------------------------")
print("μ ν> ")
val selectNo: Int = readln().trim().toInt()
when (selectNo) {
1 -> scoreList = inputStudentNum() // νμμλ₯Ό μ
λ ₯ λ°μμ λ°°μ΄ μμ±
2 -> inputScores(scoreList) // μμ±λ λ°°μ΄μ κ°―μ λ§νΌ μ μ μ
λ ₯
3 -> printScores(scoreList) // μ
λ ₯λ°μ λ°°μ΄μ κ°μ μΆλ ₯
4 -> printAnalysis(scoreList) // μ΅κ³ μ μ, νκ· μ μ μΆλ ₯
5 -> run = setRun() // run κ° λ³κ²½
}
}
println("νλ‘κ·Έλ¨ μ’
λ£")
}
fun inputStudentNum():IntArray {
print("νμμ> ")
var studentNum = readln().toInt()
return IntArray(studentNum)
}
fun inputScores(scores:IntArray) {
for (i in scores.indices) {
print("scores[$i] > ")
scores[i] = readln().toInt()
}
}
fun printScores(scores:IntArray) {
for (i in scores.indices) {
println("scores[$i] : " + scores[i])
}
}
fun printAnalysis(scores: IntArray) {
var max = scores[0]
var sum = scores[0]
var avg: Double
for (i in 1 until scores.size) {
if (scores[i] > max) {
max = scores[i]
}
sum += scores[i]
}
avg = (sum / scores.size).toDouble()
println("μ΅κ³ μ μ: " + max)
println("νκ· μ μ: " + avg)
}
fun setRun(): Boolean {
return false
}
[ λ΄μ© μ°Έκ³ : IT νμ κ°μ ]
'Programming Language > Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Kotlin] 컬λ μ - μ Set & 맡 Map (0) | 2024.04.13 |
---|---|
[Kotlin] 컬λ μ - 리μ€νΈ List (0) | 2024.04.13 |
[Kotlin] λ°°μ΄ Array (0) | 2024.04.08 |
[Kotlin] while λ¬Έκ³Ό λ°λ³΅λ¬Έ μ μ΄ (break, continue) (0) | 2024.04.08 |
[Kotlin] for λ°λ³΅λ¬Έ (0) | 2024.04.05 |