Kotlin教程の関数とパッケージの定義とフロー制御
Kotlin教程の関数とパッケージの定義とフロー制御
パッケージ名の定義
xxx.ktファイルの上部で定義し、packageキーワードを使用して定義した後、パケット内関数またはクラスを参照し、パケットプレフィックスを使用する:
If判定
機能には以下の種類があります。従来の論理判定:if(a>b)print(a)else print(b) の戻り値: ifは戻り値があり、戻り値が最後の表式であることができます。したがって、3つの演算子の代わりに使用できます。
forループを使う Break continue リセット 1.breakとcontinue
使い方はjavaと一致しています。循環中に使われます。また特殊な用法が追加されました。識別子@を使ってlabelを定義します。一般的には内層サイクルで外層サイクルに跳びます。
関数でreturnを使用して、関数が戻り値にならない場合、returnまたはreturn@labelを使用して関数を終了することができます。関数に戻り値がある場合は、labelで返してはいけません。
Whenタイプのswitch表現は、複数の分岐を持っていますが、switchとは異なります。
通常の論理判定:
式:
式として使用する場合、戻り値があります。
whenEntry部分定義:whenCodition{、}“-”expression SEMI“else”-”expression SEMI、whenCodition部分はカンマ区切りを使用して、複数のcondition組み合わせをサポートします。whenを表式とする場合は、ユニットタイプの戻り値が必要です。
whenConndition定義:expression:(in)"!in」)expression:(「is」|"!is」)isRHSは、直接表現、またはin、!n修飾の表現、またはis、!is修飾の表現。
集合を使う
集合を巡回:
-すべての属性のgetter(とvarのsetter)
-equals()
-hashCode()
-toString()
-copy()
-component 1()、component 2()
try/catch表現
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。
パッケージ名の定義
xxx.ktファイルの上部で定義し、packageキーワードを使用して定義した後、パケット内関数またはクラスを参照し、パケットプレフィックスを使用する:
package cn.jasonmarzw //
fun doSomething(){} //
class User(){} //
:
cn.jasonmarzw.doSomething() cn.jasonmarzw.User 。 Java , import 。
, ,default, 。
, 。
使用
import :
import cn.jasonmarzw.User User
import cn.jasonmarzw.doSomething doSomething
asキーワードを使ってエイリアスを追加できます。
import cn.jasonmarzw.User as Person // User Person
import cn.jasonmarzw.doSomething as justDo // doSomething justDo
var p = Person() // User
justDo() // doSomething
二、フロー制御(Control Flow)If判定
機能には以下の種類があります。
var valid = a>b?true:false
var valid = if(a>b) true else false //
println(valid) // true
ifの後に複数の表式がある場合、戻り値は最後の表式です。
var valid=if(a>b){
println(a)
a
}else{
println(b)
b
}
validの値はaまたはbであり、aとbを除くと、validの値を観察する。
var valid=if(a>b) println(a) else println(b)
println(valid)
出力結果は:
kotlin.Unit
kotlin.Unitは無タイプで、javaのvoidのように戻りがないことが分かります。forループを使う
fun forLoop(array: Array<String>) {
for (str in array) {
println(str)
}
}
or
fun forIndices(array: Array<String>) {
for (i in array.indices) {
println(array[i])
}
}
whileループを使う
fun whileLoop(array: Array<String>) {
var i = 0
while (i < array.size) {
println(array[i++])
}
}
主に三つのタイプが含まれています。使い方はjavaと一致しています。循環中に使われます。また特殊な用法が追加されました。識別子@を使ってlabelを定義します。一般的には内層サイクルで外層サイクルに跳びます。
loop@ for(i in 0..2){
for(j in 0..3){
if(j==2)
continue@loop// ,
}
}
continueをbreakに変えて、j値が2の時、labelの定義のところにジャンプして、この層の循環から飛び出す:
loop@ for(i in 0..2){
for(j in 0..3){
if(j==2)
break@loop// label ,
}
}
2.リセット関数でreturnを使用して、関数が戻り値にならない場合、returnまたはreturn@labelを使用して関数を終了することができます。関数に戻り値がある場合は、labelで返してはいけません。
fun foo(){
var intArray = arrayOf(1,2,3)
intArray.forEach{
if(it==2)return //
println(it)
}
println("end")
}
labelを使用すると、現在のループを終了することを表します。
fun foo(){
var intArray = arrayOf(1,2,3)
intArray.forEach{
if(it==2)return@forEach //
println(it)
}
println("end")
}
When表現Whenタイプのswitch表現は、複数の分岐を持っていますが、switchとは異なります。
通常の論理判定:
when(x){ 1 -> print(“is one”) else -> print(“not one”)}
xを判断する表式の部分は、具体的な値であり、表式であり、値の範囲を判断することができます。式:
式として使用する場合、戻り値があります。
var a = 1
var x = when (a) {
3 -> {
print(a)
3 //
}
else -> {
print("unit")
2 //
}
}
When表現の定義を表示します。
"when" ("(" expression ")")? "{"whenEntry*"}"
when条件の部分は「("expression")」と定義されています。は、無視できる表現です。whenEntry部分定義:whenCodition{、}“-”expression SEMI“else”-”expression SEMI、whenCodition部分はカンマ区切りを使用して、複数のcondition組み合わせをサポートします。whenを表式とする場合は、ユニットタイプの戻り値が必要です。
whenConndition定義:expression:(in)"!in」)expression:(「is」|"!is」)isRHSは、直接表現、またはin、!n修飾の表現、またはis、!is修飾の表現。
集合を使う
集合を巡回:
for (name in names)
println(name)
inオペレータを使用して、セットにオブジェクトが含まれているかどうかを確認します。
if (text in names) // names.contains(text)
print(“Yes”)
Lambda表現を使用して、フィルタリングとマッピングセットを行います。
names
.filter { it.startsWith(“A”) }
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { print(it) }
DPOOを作成します(POJO/POCO)
data class Customer(val name: String, val email: String)
以下の機能を持つCustoomer類を提供します。-すべての属性のgetter(とvarのsetter)
-equals()
-hashCode()
-toString()
-copy()
-component 1()、component 2()
try/catch表現
fun test() {
val result = try {
count()
} catch (e: ArithmeticException) {
throw IllegalStateException(e)
}
// result
}
この文章は基本的にいくつかの基本文法を説明しています。読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。