A、Kotlinの基本的な文法
1、KotlinはJava仮想マシンで実行されていることを静的に型付けされたプログラミング言語です。Kotlinプログラムは、ファイル.kt終わりを
図2に示すように、関数が定義されます。
楽しみのための関数定義、パラメータの形式で:パラメータタイプ
2.1を返す関数
楽しい和(:INT、B:INT):帰国のInt {//機能
+ bを返します
}
関数は、戻り値はありません2.2
楽しい和(:INT、B:INT){//なし戻り値関数
プリント(+ b)が
}
2.3可変長引数利用できる可変引数キーワード表現(可変長手段に対して同様の操作があること)
楽しいvarsfun(可変引数VAR:INT){
(VARにおけるVT)のために{
println(VT)
}
}
楽しいメイン(引数:アレイの<string>){
varsfun(1,2,3)
}
結果:
3、定数と変数を定義します
varは変数を定義する、(Javaの決勝でのval同様の役割を)定数を定義VAL
VAR <識別子>:<タイプ> = <初期値>変数のA:のInt = 1 VAR A = 1 + A = 1 //変数を修正することができると等価です
ヴァル<識別子>:<タイプ> = <初期値>ヴァルB:のInt = 1件の//ない実行可能B、B + = 1を修正することができないので、文のVal
4、文字列テンプレート
$は、変数名や変数の値を表します
変数の$ VARNAME値
$ {VarName.fun()}メソッドは、値の内部を表す変数は、{}式で返します
5、ヌルチェック機構
空の判定処理を使用する場合、空のパラメータとして宣言するためKotlin空気安全設計、2つのアプローチがあります。
① !!宣言がnullの場合のパラメータがヌルポインタと同様のJavaの例外
② ?戻り値を扱うと、nullではありませんか?:ショート判定処理
図6に示すように、検出及び自動変換のタイプ
作られたオペレータ型決意、ターゲットを自動的の型に変換すると判定され
7、インターバル
間隔式の演算子は形成します..
以下のための(I の中で 。1 ... 。4)印刷(I)// 出力"1234" のための(I の中で 。4 ... 。1)印刷(I)// 何も出力 IF(I の中で 。1 .. 10){ // これは、と等価である。1 <&& IがI <= 10 = のprintln(I) } //は、ステップ指定ステップに使用 するための(I inを 1 .. 4ステップ2)(I)印刷// 出力"13である" ため(I における 4とdownto 1 STEP 2)印刷(I)// 出力"42"
8、2つの数値を比較します
==サイズ比較
===比較アドレス
メインファン(引数:アレイの<string> ){ ヴァルA:のInt = 10000 のprintln(A === A)// trueに、値は、オブジェクトがアドレスに等しい、等しく @ 、梱包後に2つの異なるオブジェクトを作成し、 ヴァルboxedAます。int =? ヴァルanotherBoxedAます。int?= A // でもボクシングの後、しかし値は、すべての10000等しい のprintln(boxedA === anotherBoxedA)// falseの場合、値が等しい、オブジェクトのアドレスは同じではありません のprintln (boxedA == anotherBoxedAは)// trueに、値が等しいです }
図9に示すように、オペレータの位置と
SHL - 左シフト(ジャワの同等<<)
SHR - 右シフト(>> Javaへの対応)
ushi - 符号なし左シフト
ushr - 符号なし右シフト
そして - オペレーティング
または - または操作
XOR - 排他的論理和演算
INV - ネゲート操作
二、Kotlin基本データ型
タイプ | ビット幅 |
---|---|
ダブル | 64 |
浮く | 32 |
長いです | 64 |
int型 | 32 |
ショート | 16 |
バイト | 8 |
kotlinは、charの文字が数値である、別のデータ・タイプではありません
1、文字
Kotlinのチャーはでなければなりません「」単一引用符までを含む、例えば「0」、「」
2、配列
アレイアンアレイタイプArrayOfを使用して実装()を作成します:var = arrayOf(1,2,3)
3、文字列「」
Kotlinは3重引用符「」「のような文字列を囲むサポートするマルチライン文字列を、サポートしています。
第三に、制御条件
1、あれば - と同様のジャワ、説明しません。
図2に示すように、(Javaのスイッチに対応)
他のデフォルトのスイッチは同等です
多くの枝が同じ方法で対処する必要がある場合は、コンマで区切って、一緒に分岐条件を複数置くことが可能です
場合(X){ 0、1 - >印刷(" X == 0またはX == 1 " ) ほか - >印刷(" そうでなければ" ) }
(中)かない(!で)設定された間隔を値を使用した場合、または検出されてもよいです
場合(X){ で 1 .. 10 - >印刷(" Xの範囲内である" ) で validNumbers - >印刷(" xが有効です" ) !で 10 .. 20 - >印刷(" xは範囲外" ) ほか - >印刷(" 上記のいずれ" ) }
第四に、制御ループ
図1は、トラバーサルサイクルの一つは直接であり、他方は、図3に示すようにインデックスリストの使用です。
図2に示すように、一方与do..while