Kotlinプログラミング・メモ

by K.I
2021/09/17

Index


概要

特徴


[top]

基本

データ型

意味 値の範囲
Boolean論理値 true, false
Char 2byteUnicode文字 \u0000〜\uFFFF
Byte 1byte整数 -128〜127
Short 2byte整数 -32768〜32767
Int 4byte整数 -2147483648〜2147483647
Long 8byte整数 -9223372036854775808L〜9223372036854775807L
Float 4byte浮動小数点数 ±(3.4028235E+38F〜1.401298E-45F)
Double 8byte浮動小数点数 ±(4.94065645841246544E-324〜1.79769313486231570E+308)
UByte 1byte整数 0u〜255u
UShort 2byte整数 0u〜65535u
UInt 4byte整数 0u〜4294967295u
ULong 8byte整数 0uL〜18446744073709551615uL

変数

定数

val ABC: Int = 123      //Kotlin
val ABC = 123           //型省略可能

final int ABC = 123     //Java

ラムダ式

Array

IntArrayとArray

List

List-Array-String相互変換

文字列処理

トリプルクォート文字列

val vShaderCode = "attribute  vec2 vpos;\n" +
    "void main() {\n" +
    "  gl_Position = vec4(vpos, 0.0, 1.0);\n" +
    "}"

nullの扱い

lateinit

演算子の優先順位

Precedence Title Symbols
Highest Postfix ++, --, ., ?., ?
Prefix -, +, ++, --, !, label
Type RHS :, as, as?
Multiplicative *, /, %
Additive +, -
Range ..
Infix function simpleIdentifier
Elvis ?:
Named checks in, !in, is, !is
Comparison <, >, <=, >=
Equality ==, !=, ===, !==
Conjunction &&
Disjunction ¦¦
Spread operator*
Lowest Assignment =, +=, -=, *=, /=, %=

演算子オーバーロード

演算子 メソッド名
+ plus
- minus
* times
/ div
% rem
+= plusAssign
-= minusAssign
*= timesAssign
/= divAssign
%= remAssign
++ inc
-- dec
+(単項) unaryPlus
-(単項) unaryMinus
.. rangeTo
! not
in contains
[] get / set
() invoke
== equals
>、< compareTo

1まぁシェーダには改行は要らないんだけど。

[top]

制御構文

if

インスタンスの比較

while, do-while

when

for

forEach


2Cの場合は、ポインタの比較なのかもしれないが。。

[top]

クラス

継承

プライマリコンストラクタ

セカンダリコンストラクタ

Clone

スマートキャスト

static

プロパティ

Top Level定義

拡張関数

構造体

分解宣言

データクラス

関数名 データクラス クラス
equals() プロパティの比較 インスタンスの比較
hashCode() プロパティ値からのHashコード インスタンスからのHashコード
toString() クラス名、プロパティ名、値をちゃんと表示 クラス名とインスタンスのHashを16進表示
componentN() プロパティにconponent1のようにアクセス可能
copy() インスタンスのコピー生成

enum


3セカンダリコンストラクタだけ記述した場合は、括弧が無くても良いみたいだけど。

[top]

参考


[top] [プログラムの部屋に戻る]

comments powered by Disqus