LoginSignup
0
0

More than 3 years have passed since last update.

AndroidStudioでKotlinの変数を覚える

Posted at

ここまでは

空のアクティビティの生成イベントを利用して画面に値を表示する方法がわかったところで次に進みます。

MainActivity.kt
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val tvMain = findViewById<TextView>(R.id.tvMain)
        tvMain.setText("Hello Kotlin World!")
    }
}

MainActivity.kt を上のように2行追加すると Hello World!の代わりに Hello Kotlin World!が表示されます。

このtvMain.setText("Hello Kotlin World!")
の所を変えて色々試して見ましょう。

Kotlinの変数

setTextの引数に直接値を渡さずに変数strを使って渡してみましょう。
その上の行を参考に

MainActivity.kt
  val str = "Hello Kotlin World!"
  tvMain.setText(str)

たったこれだけで簡単に実現できました。でも色々疑問も出てきますね。

Kotlinは「;」セミコロンが要らない

様々な言語では命令文の区切りとして必ず「;」セミコロンを付ける必要がありましたがKotlinでは付けません。付けてもエラーにはなりませんが付けないのが一般的のようです。
※VisualBasicもなかったような

Kotlinは変数の定義場所が自由

変数の定義は最初に行う言語が多いですが、Kotlinではどこに書いても構いません。

Kotlinでの命名規則

これを記載している段階でまだ仕様や規約を探しきれていませんが
1.変数は小文字で始まる
2.変数の型は大文字で始まってる
3.定数は全て大文字で命名の区切りは「_」アンダーバーで区切る
とされていてそれ以外はJavaの命名規則に従っているようです。

Kotlinでの型宣言

C言語などで 整数型の変数 i を宣言しようとすると

C.cpp
int i;

という書き方になります。これがKotlinだと

Kotlin.kt
i : Int

と宣言と変数の位置が逆になります。Kotlinの宣言には初期化が必要なので

Kotlin.kt
i : Int = 0

のように記述します。

PascalやDelphiのような連続定義は出来ないようです。

Delphi.pas
  i,j : Int; // KotlinではNG

Kotlinの型推測

例題では

kotlin.kt
val str = "Hello Kotlin World!"

のように型を書きませんでした。これは初期化の時に渡した値で型が推測されるためです。
文字列と数値は渡す値で区別しやすいですが、間違って型が推測されるよりは型指定した方が良いように思えます。

Kotlinで良く使う変数型

kotlin.kt
var str    : String= "漢字対応"  // 文字列 
var int    : Int = 0            // 32bit符号付き数値
var long   : Long = 0L          // 64bit符号付き数値
var double : Double = 0.0       // 64bit浮動小数点数値

StringとIntはよくわかりますが LongとDoubleは初期化する数値の表現に注意が必要です。
Longの場合は数値の後ろに「L」をDouble型の場合は小数点以下が無くても 0.0という表現にしないとエラーになります。
このように初期化する値の表記が異なるので型の指定が無くても推測されるのです。

Int型の初期化時の書き方はさらに

kotlin.kt
var dec : Int = 16
var hex : Int = 0x10
var bin : Int = 0b00010000

10進、16進、2進で表現した数値を代入することが出来ます。
10進数の10、16進数の 10h、2進数の 0001 0000 はどれも同じ値になります。

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