0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Kotlin】 基本文法文法1

Last updated at Posted at 2021-05-29

■文字列 リテラル 段落

//\nで改行してる。
var a = "こんにちは。\nよろしくです。"

//こんにちは。
//よろしくです。


//"""を3つ付けて段落を変えると表記も段落が変わる。
var b = """こんにちは。
 よろしくです。"""

//こんにちは。
//         よろしくです。

ご覧の通り"""3つの場合はなんかずれてる。
■解決法
.trimMargin()を使うとちゃんと並ぶ。

var b = """こんにちは。
           |よろしくです。""".trimMargin()
//こんにちは。
//よろしくです。

■nullとnull許容型

null 値がない事

//非null型
//fooと言う変数はデフォルトの型なのでnullを禁止してエラーななっています。
var foo: String = "foo"
foo = null //エラー

//Nullable型
//nullを許容するには型に?をつける。
var foo2: String2 = "foo"
foo = null //エラーでない

■同値確認(==) 同じ値かどうか
■同一確認(===) 同じオブジェクトかどうか

var a: Int = 10000
var b: Int = a
var c: Int? = a

println(a==b)  //結果 true
println(a===b) //結果 true
println(a==c) //結果 true
println(a===c) //結果 false

 var foo1: String? = "foo"
var foo2: String = foo1 //エラー 非null型にNullable型を入れれない

var a1: String? = "a"
var a2: Any = a1 //エラー Anyでも非null型なのでエラー
var a3: Any? = a1 //これは通る

■型変換

型を変えれる

//サフィックスで変更1.2がfをつける事によってFloat型に
var a: Float = 1.2f

//bはInt型だがtoString()でString型に変更
var b: Int = 1
a.toString()

//色々ある。 toLong() toFloat() 等 好きな物に変更できる。

■配列とコレクション

■配列

var a = arrayOf(1,2,3)

//Int型限定の配列
var b = intArrayOf(1,2,3)

//全部nullの配列 文字型のnull配列
var c: Arra<String?> = arrayOfNulls(3)
//結果[null,null.null]


//ラムダ式の配列 index番号3つ用意0.1.2これをiとしてi*2をして配列になる。
var b = Arra(3, {i -> i * 2})
//結果 [0,2,4]

■コレクション list set map 中身を後から変更できない 読み取り専用

//ただのList 配列と同じ表記
var list = listOf("あ","い","う")
println(list)
//結果 [あ,い,う]

//setは重複した値を飛ばして表示する。
var set = setOf("A","B","A","C","B","D")
println(set)
//結果 [A,B,C,D]

//map型 他の言語で言う辞書型と同じ
var map = mapOf("First" to 1, "Second" to 2, "Third" to 3)
println(map)
//結果 {First=1, Second=2, Third=3}

■mutableコレクション
mutableをつける事によって後から変更可能になる。

//mutableを付けて変更可能になる。
var list = mutableListOf(1,2,3)
list[2] = 4
println(list)
//結果 [1,2,4]


var list1 = mutableListOf(1,2,3)
//普通のList<Int>これは普通のlistコレクションの配列の型を表している。
//listtコレクションの配列にmutableListコレクションを代入
var list2: List<Int> = list1
//値の変更はmutablelistの配列で変更
list1[2] = 4
//変更された配列がlist2に入る。
println(list2)
//結果 [1,2,4]

■範囲演算子

「m..n」というように書く m~nの範囲を表現する事ができる。
1..20で1から20の数字の間にはiの10が含まれているから結果は10になる。

val i = 10
println(i in 1..20)
//結果 true

■for文を使用した時の範囲演算子

for(i in 1..3) {
print(i)
}
//結果 1.2.3

// untilを使うとこの場合3を含めない最後の値を含めない感じ
for(i in 1 until 3) {
 print(i)
}
// 結果 1.2

//逆にインクリメントをダウンして表示する downTo
for(i in 3 downTo 1) {
 print(i)
}
//結果 3.2.1

//step指定した値分飛ばす(範囲演算子と使う)
for(i in 1..10 step 3) {
 print(i)
}
//結果 1.4.7,10
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?