Kotlin

Kotlin 文法

ざくざく作っておいて、忘れた時に困るのでまとめる。

 

プログラミング学習の流れ

  • サンプルアプリ作る本を半冊やる
    サンプルコードをそのまま打ち込んで動かして楽しいを体験する!
  • 基本構文 1冊
    修行
  • サンプルアプリ作る本をもう1度最初からやり直す
  • 自分で簡単なアプリを作ってみる

こんな感じが良いかな〜?

私はそうしています。

 

ターミナルの起動

ターミナルとしてREPLを利用します。

Projectを作成して、【Tools】から【Kotlin REPL】を起動させる。

 

 

 

変数と定数

 

変数への代入

 

変数への代入 型指定あり

 

ビット幅 種類
Double 64 浮動小数点 12345.6
Float 32 浮動小数点 12345.6f
Long 64 整数 123456L 999_999999L 0xFF_EC_DE_5E
Int 32 整数 123456 0xFF_FF
Short 16 整数 32767 0x0F
Byte 8 整数 127 0b1010
String 文字列 ‘I am a Pen¥n’
Char 文字 ‘A’
UInt 32(符号なし) 整数 1U

 

 

三項演算子(っぽいものをif-elseで実現)

 

 

比較

 

  • 文字列の比較『==』
  • オブジェクトの比較『===』

 

文字列の比較

 

文字列テンプレート

${変数名}

文字列の中に文字列変数を展開できます。

 

型変換

文字列型を整数型に変換

変数名.toInt()の形で整数型に変換できます。

 

Null許容型の変換 変換できない場合はnullとする

val 変数名: 型?

  • ?をつけることでnull許容型
  • デフォルトはnull非許容型

 

 

整数型を文字列型に変換

 

整数の型変換

Int型からLong型への変換

 

 

配列

 

配列の生成

  • 配列もArray<型名>で型指定します。
  • arrayOf(n1, n2, …)
  • arrayOf()で配列を生成します。

 

forによる配列データの取り出し

for(要素変数 in 配列変数) 式

 

 

制御構造

 

 

 

ifは式として扱うことができて、変数を返却することができます。

max変数の200が出力しています。

 

when式

case式に該当。

範囲指定などができるのでcase式よりずっとパワフルなのだ

2〜3という意味で利用できています。

 

返り値の利用

 

型チェック

こんな感じ

 

whenでif式のように利用する

 

 

for

 

 

添字を利用したもの

 

while

 

while

 

do while

 

 

コレクション

配列, リスト, セット

配列

  • 要素の重複ができる
  • 添字によりアクセスするので要素へのアクセスが早い
  • 要素の挿入や追加は元にあった要素をずらす必要があり大変

リスト

  • 要素の重複ができる
  • メモリのポイントの先頭から辿っていくのでアクセスが遅い
  • 要素の挿入や追加はポイントをずらして接続するだけなので速い

 

セット

  • 要素の重複ができない
  • 要素の順番を持たない

 

リスト

読み取り専用リスト

 

変更可能リスト

 

要素へのアクセス

 

 

セット

読み取り専用セット

 

変更可能リスト

 

マップ

PHPの連想配列と同意。キーと値の組み合わせのコレクション

 

 

関数

 

構文

 

 

デフォルト値の設定

引数に=で値を指定することで省略できる

 

ラムダ式

 

型を指定する場合

 

暗黙の引数it

引数が1つの場合はitを利用するで省略ができます。

 

上記は下記と同じ①

上記は下記と同じ②

 

 

 

 

プロジェクト自動生成時にみるメソッド

  • findViewById()
    指定したidリソースに対応するビューオブジェクトを取得
  • setOnClickListener()
    ビューがクリックされた時に呼び出されるリスナーを登録
  • onClick()
    ビューがクリックされた時に呼び出されます
  • setTextメソッド
    TextViewに文字列を指定します。

 

 

 

 

@see

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)