Kotlin-basic-types
Kotlin-基本タイプ
この章では、Kotlinプログラミング言語で使用可能な基本データ型について学習します。
番号
Kotlinでの数値の表現はJavaに非常に似ていますが、Kotlinは異なるデータ型の内部変換を許可しません。 次の表に、さまざまな数値のさまざまな可変長を示します。
Type | Size |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
次の例では、Kotlinがさまざまなデータ型でどのように機能するかを確認します。 コーディングの場に以下のコードを入力してください。
fun main(args: Array<String>) {
val a: Int = 10000
val d: Double = 100.00
val f: Float = 100.00f
val l: Long = 1000000004
val s: Short = 10
val b: Byte = 1
println("Your Int Value is "+a);
println("Your Double Value is "+d);
println("Your Float Value is "+f);
println("Your Long Value is "+l);
println("Your Short Value is "+s);
println("Your Byte Value is "+b);
}
コーディンググラウンドで上記のコードを実行すると、Webコンソールに次の出力が生成されます。
Your Int Value is 10000
Your Double Value is 100.0
Your Float Value is 100.0
Your Long Value is 1000000004
Your Short Value is 10
Your Byte Value is 1
キャラクター
Kotlinは char を使用して文字を表します。 文字は ’c’ のように一重引用符で宣言する必要があります。 コーディンググラウンドに次のコードを入力し、Kotlinが文字変数をどのように解釈するかを確認してください。 文字変数は、数値変数のように宣言できません。 Kotlin変数は、“ var” *を使用する方法と“ val” *を使用する方法の2つの方法で宣言できます。
fun main(args: Array<String>) {
val letter: Char //defining a variable
letter = 'A' //Assigning a value to it
println("$letter")
}
上記のコードは、ブラウザの出力ウィンドウに次の出力を生成します。
A
ブール値
ブール値は、他のプログラミング言語のように非常に簡単です。 ブール値には、trueまたはfalseの2つの値しかありません。 次の例では、Kotlinがブール値を解釈する方法を確認します。
fun main(args: Array<String>) {
val letter: Boolean //defining a variable
letter = true //Assinging a value to it
println("Your character value is "+"$letter")
}
上記のコードは、ブラウザに次の出力を生成します。
Your character value is true
文字列
文字列は文字配列です。 Javaと同様に、それらは本質的に不変です。 Kotlinでは2種類の文字列を使用できます。1つは raw String と呼ばれ、もう1つは escaped String と呼ばれます。 次の例では、これらの文字列を使用します。
fun main(args: Array<String>) {
var rawString :String = "I am Raw String!"
val escapedString : String = "I am escaped String!\n"
println("Hello!"+escapedString)
println("Hey!!"+rawString)
}
上記のエスケープされた文字列の例では、最初のprintステートメントの後に余分な行スペースを提供できます。 以下は、ブラウザでの出力です。
Hello!I am escaped String!
Hey!!I am Raw String!
配列
配列は同種のデータのコレクションです。 Javaと同様に、Kotlinはさまざまなデータ型の配列をサポートしています。 次の例では、さまざまな配列を使用します。
fun main(args: Array<String>) {
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
println("Hey!! I am array Example"+numbers[2])
}
上記のコードは、次の出力を生成します。 配列のインデックス付けは、他のプログラミング言語に似ています。 ここでは、値が「3」である2番目のインデックスを検索しています。
Hey!! I am array Example3
コレクション
収集はデータ構造の非常に重要な部分であり、エンジニアにとってソフトウェア開発を容易にします。 Kotlinには2つのタイプのコレクションがあります-1つは*不変コレクション*(これはリスト、マップ、および編集不可のセットを意味します)ともう1つは*ミュータブルコレクション*(このタイプのコレクションは編集可能)です。 Kotlinシステムは特定の違いを表していないため、アプリケーションで使用されるコレクションのタイプを覚えておくことが非常に重要です。
fun main(args: Array<String>) {
val numbers: MutableList<Int> = mutableListOf(1, 2, 3)//mutable List
val readOnlyView: List<Int> = numbers //immutable list
println("my mutable list--"+numbers) //prints "[1, 2, 3]"
numbers.add(4)
println("my mutable list after addition --"+numbers) //prints "[1, 2, 3, 4]"
println(readOnlyView)
readOnlyView.clear() //⇒ does not compile
//gives error
}
上記のコードは、ブラウザに次の出力を生成します。 コレクションの可変リストをクリアしようとすると、エラーが発生します。
main.kt:9:18: error: unresolved reference: clear
readOnlyView.clear() //-> does not compile
^
コレクションでは、Kotlinは* first()、last()、filter()*などの便利なメソッドを提供します。 これらのメソッドはすべて自己記述的であり、実装が簡単です。 さらに、KotlinはJavaなどの同じ構造に従い、コレクションを実装します。 MapやSetなど、任意のコレクションを自由に実装できます。
次の例では、さまざまな組み込みメソッドを使用してMapとSetを実装しています。
fun main(args: Array<String>) {
val items = listOf(1, 2, 3, 4)
println("First Element of our list----"+items.first())
println("Last Element of our list----"+items.last())
println("Even Numbers of our List----"+items.
filter { it % 2 = = 0 }) //returns [2, 4]
val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)
println(readWriteMap["foo"]) //prints "1"
val strings = hashSetOf("a", "b", "c", "c")
println("My Set Values are"+strings)
}
上記のコードは、ブラウザに次の出力を生成します。
First Element of our list----1
Last Element of our list----4
Even Numbers of our List----[2, 4]
1
My Set Values are[a, b, c]
範囲
範囲もコトリンのユニークな特徴です。 Haskellと同様に、範囲を反復処理するのに役立つ演算子を提供します。 内部的には、* rangeTo()を使用して実装され、その演算子形式は(..)*です。
次の例では、Kotlinがこの範囲演算子をどのように解釈するかを確認します。
fun main(args: Array<String>) {
val i:Int = 2
for (j in 1..4)
print(j)//prints "1234"
if (i in 1..10) {//equivalent of 1 < = i && i < = 10
println("we found your number --"+i)
}
}
上記のコードは、ブラウザに次の出力を生成します。
1234we found your number --2