Kotlin 학습 노트 (2) 기본 문법과 절차 제어
1. 패키지 정의 ###
가방의 정의, 가져오기는 코드 파일의 머리에 두어야 합니다.
package my.demo
import java.util.*
2. 정의 방법 ###
// Int Int
fun sum(a: Int, b: Int): Int {
return a + b
}
fun main(args: Array) {
print("sum of 3 and 5 is ")
println(sum(3, 5))
}
(주:Kotlin에는 분호가 필요하지 않습니다. 물론 써도 상관없습니다. IDE는 회색을 표시합니다.)위의 방법은 이렇게 쓸 수도 있다.
fun sum(a: Int, b: Int) = a + b
fun main(args: Array) {
println("sum of 19 and 23 is ${sum(19, 23)}")
}
반환 방법을 지정하지 않은 경우 다음을 수행합니다.
fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}
여기서 Unit는 다음과 같이 생략할 수 있습니다.
fun printSum(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}
3. 상수 및 변수 ###
fun main(args: Array) {
val a: Int = 1 // a Int , 1
val b = 2 // b 2, Int
val c: Int // ,
c = 3
println("a = $a, b = $b, c = $c")
println()
var x = 5 // x, Int
x += 1
println("x = $x")
}
4. 주석 ###
Kotlin의 단일행 주석, 블록 주석은 Java, JavaScript와 일치하며 주석 문서를 생성하는 데는 차이가 있습니다. Kotlin 코드를 생성하는 문서를 참고하십시오.
//
/*
*/
5. 문자열 템플릿 ####
fun main(args: Array) {
var a = 1
val s1 = "a $a"
a = 2
val s2 = "${s1.replace(" ", " ")}, $a"
// :a 1, 2
println(s2)
}
6.조건문 ###
1. if문 #####
만약 문장의 사용이 다른 언어와 일치하지만 Kotlin에는 세 개의 연산이 없습니다. JetBrains는 if가 있다고 생각합니다.else...됐어.
fun maxOf(a: Int, b: Int): Int {
if (a > b) {
return a
} else {
return b
}
}
fun maxOf(a: Int, b: Int) = if (a > b) a else b
2. when 문 #####
when은 switch를 대체하는 데 쓰이는...case...라고 적었다.
when (x) {
1 -> print("x == 1")
2 -> print("x == 2")
3,4 -> print("x == 3 x == 4")
else -> { //
print("x 1234")
}
}
값이 범위 내에 있는지 확인하려면 when을 사용하십시오.
when (x) {
in 1..10 -> print("x ")
in validNumbers -> print("x ")
!in 10..20 -> print("x ")
else -> print(" ")
}
다른 방법은 데이터 형식을 검사하는 것입니다.
fun describe(obj: Any): String =
when (obj) {
1 -> "One"
"Hello" -> "Greeting"
is Long -> "Long"
!is String -> "Not a string"
else -> "Unknown"
}
fun main(args: Array) {
println(describe(1))
println(describe("Hello"))
println(describe(1000L))
println(describe(2))
println(describe("other"))
}
물론 조건을 지정하지 않을 수도 있다.
when {
x.isOdd() -> print("x ")
x.isEven() -> print("x ")
else -> print("x ")
}
7. 반복문 ###
1. for 루프 #####
fun main(args: Array) {
val items = listOf(" ", " ", " ")
for (item in items) {
println(item)
}
}
혹은
fun main(args: Array) {
val items = listOf(" ", " ", " ")
for (index in items.indices) {
println("item at $index is ${items[index]}")
}
}
2.while와do...while 주기 #####
이 두 개의 사용은 다른 언어와 일치한다.
3. break 및 continue####
이 두 개의 사용은 다른 언어와 일치한다.
8. in과 사용!in(범위) ###
1. in을 사용하여 range 내에서 ##### 숫자를 확인합니다.
fun main(args: Array) {
val x = 10
val y = 9
if (x in 1..y+1) {
println("fits in range")
}
}
2. 사용!in range 외부에 있는 숫자 확인 #####
fun main(args: Array) {
val list = listOf("a", "b", "c")
if (-1 !in 0..list.lastIndex) {
println("-1 is out of range")
}
if (list.size !in list.indices) {
println("list size is out of valid list indices range too")
}
}
3. range##### 옮겨다니기
fun main(args: Array) {
for (x in 1..5) {
// :12345
print(x)
}
}
4. progression에서 ##### 사용
fun main(args: Array) {
// 1 10, 2
for (x in 1..10 step 2) {
// 13579
print(x)
}
// 9 0, 3
for (x in 9 downTo 0 step 3) {
// 9630
print(x)
}
}
9.컬렉션Collection####
컬렉션 반복:
fun main(args: Array) {
val items = listOf(" ", " ", " ")
for (item in items) {
println(item)
}
}
lambda 표현식을 사용하여 필터링, 매핑하기
fun main(args: Array) {
val fruits = listOf("banana", "avocado", "apple", "kiwi")
fruits
.filter { it.startsWith("a") }
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { println(it) }
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.