【第3章】変数の型変換と変数の値の更新について解説

【第3章】変数の型変換と変数の値の更新について解説 基礎勉強
スポンサーリンク
リンコ
リンコ

こんにちは!リンコですピヨ!この記事では自分の勉強の復習もかねて、Kotlinでの変数の型変換と変数の値の更新について解説するピヨ!

この第3章では、プログラミング言語であるKotlinの基本の変数の型変換と変数の値の更新について、一緒に勉強していきましょう。

この記事を読めばプログラミング未経験の方も、Kotlin入門レベルの変数の型変換と変数の値の更新について1つ1つ理解しながら勉強できると思うので、是非最後まで読んで頂ければと思います。

※この記事で出てくる「サンプルコード」は、記述が長く画面からはみ出ている場合がありますが、横にスライドすると表示されるのでご安心ください。

スポンサーリンク

Kotlinの型変換とは?

Kotlinの型変換とは?

Kotlinの変数の型には、数値型であればbyte型、short型、Int型、Long型、Float型、Double型、文字型であればChar型、文字列型であればString型、真偽型であればBoolean型といったものがあります。

いずれかの型を使って変数の宣言した後、Kotlinではその変数の型を違う型に変換することができます。このことを「型変換」と言います。

変数の型変換を実行してみよう

変数の型変換を実行してみよう

型変換がどういうものかわかったところで、どうやって型変換をするのかを勉強していきましょう。

型変換の書式

型変換の書式は以下のようになります。

val 新しい変数名: 型名 = 元の変数名.to変換したい型名()  

というような記述になります。左側の新しい型に、右側の型を変換したい変数を右から左に代入するようなイメージですかね。「元の変数名.to変換したい型名()」と記述することで、型変換をすることができます。

実際に型変換してみよう

書式もわかったので、実際にコードを記述して型変換してみましょう。

Int型をByte型に変換のサンプルコード

val number: Int = 100          //Int型の変数numberに100を代入
val a: Byte = number.toByte()  //Int型の変数numberをByte型に型変換し、値をByte型の変数aに代入

出力

出力は以下のようになります。

100

見た目は100のままですがInt型からByte型に型変換がされ、ビット幅が小さくなり扱える整数の範囲が小さくなっています。型変換をする際、大きい数値を「Byte」「Short」などの入る数値の少ない型に型変換しようとすると「桁あふれ」になる可能性があるので注意が必要です。

リンコ
リンコ

見た目はそのままだけど、バッチリ型変換できてるピヨ!

String型をInt型へ型変換のサンプルコード

また「文字列の数字」を数値の型に変換することは可能ですが「あいうえお」などの文字列を、数値の型に変換すると「例外」が起きてエラーになるのでこちらも注意しましょう。

val message: String = "あいうえお"
val b: Int = message.toInt()

エラーが出力

上記のようにString型の「あいうえお」をInt型に型変換しようとすると、以下のように出力されます。

Exception in thread "main" java.lang.NumberFormatException: For input string: "あいうえお"
 at java.lang.NumberFormatException.forInputString (NumberFormatException.java:65) 
 at java.lang.Integer.parseInt (Integer.java:580) 
 at java.lang.Integer.parseInt (Integer.java:615) 

「NumberFormatException」というエラーが発生してしまい、型変換ができませんでした。このように型変換をする時は例外が発生してしまう可能性があるので、注意が必要です。

リンコ
リンコ

あきらかに違う型の値が入っている変数を型変換しようとするとエラーになるので注意ピヨ!

Kotlinの変数の値の更新とは?

Kotlinの変数の値の更新とは?

続いてKotlinでは、変数の中身を変えることができます。このことを「値を更新」と言いますが、どのようにするのでしょうか?

どの変数の型でも更新が可能

まず変数の値の更新は、どの型でもできます。String型でもInt型でもどの型でも、同じ方法で変数の値の更新をすることができます。

valではなくvarで宣言する必要がある

第2章でも勉強しましたが、変数の値の更新する場合valで変数の宣言をしてしまっていると値を更新できないので注意です。値を更新したい変数の場合は、varで変数の宣言をしておきましょう。

変数の宣言について詳しく知りたい方は、以下の記事も参考にしてください。

変数の値の更新をしてみよう

変数の値の更新をしてみよう

では実際に、変数の値の更新をしてみましょう。

変数の値の更新の書式

まずは変数の値の更新するための書式ですが、以下のようになります。

変数名 = 値

実際に変数の値の更新してみよう

では実際に変数の値の更新をしてみましょう。まずInt型の整数100を変数に代入しその後、値を200に更新してみます。

サンプルコード

var num = 100  //numに100を代入
println(num)   //出力
num = 200      //numの値を200に更新
println(num)   //出力

出力

100
200

このように変数名=値で簡単に値の更新ができます。

リンコ
リンコ

簡単に値の変更ができるピヨ!

valで宣言した変数名の値を変更しようとするとエラー

試しにvalで宣言した変数名の値を変更しようとしてみましょう。

サンプルコード

val num = 300
println(num)
num = 400
println(num)

出力

300
Val cannot be reassigned

このように最初に変数numに代入した300は出力されますが、3行目で変数numの値を更新しようとして400を代入しようとしたところ、エラーになってしまいました。

リンコ
リンコ

varじゃなくてvalにしちゃうとエラーになるので気を付けるピヨ!

変数の値の更新で数値の計算もできる

変数の値の更新で数値の計算もできる

数値が入っている変数であれば、足し算や引き算などの計算をすることもできます。

計算に使う記号の一覧

変数を使って計算をするには、以下の記号を使います。

計算 記号
足し算 +
引き算
掛け算 *
割り算 /
余り %

変数を使った計算の書式

上記の記号を使って計算する時は、以下のような書式になります。

変数名 = 変数名 + 計算したい値
変数名 = 変数名 - 計算したい値
変数名 = 変数名 * 計算したい値
変数名 = 変数名 / 計算したい値
変数名 = 変数名 % 計算したい値

変数を使って実際に計算してみよう

では実際に計算してみましょう。

サンプルコード

//num1に1をプラス
var num1 = 100
num1 = num1 + 1
println(num1)
//num2に1をマイナス
var num2 = 100
num2 = num2 - 1
println(num2)
//num3に2を掛ける
var num3 = 100
num3 = num3 * 2
println(num3)
//num4から2をマイナス
var num4 = 100
num4 = num4 / 2
println(num4)
//num5の3で割り切れなかった余りを表示
var num5 = 100
num5 = num5 % 3
println(num5)

出力

//num1に1をプラスした結果
101
//num2に1をマイナスした結果
99
//num3に2を掛けた結果
200
//num4から2をマイナスした結果
50
//num5の3で割り切れなかった余りの結果
1

変数と記号を使うことで、上記のように計算することができます。

計算式は省略することができる

また計算式は、以下のように省略することもできます。

変数名 += 計算したい値
変数名 -= 計算したい値
変数名 *= 計算したい値
変数名 /= 計算したい値
変数名 %= 計算したい値

このように式を省略しても、先ほどと同じように計算することができます。

リンコ
リンコ

若干ややこしく見えるけど、慣れたら楽だからしっかり覚えるピヨ!

Kotlinのインクリメントとデクリメント

Kotlinのインクリメントとデクリメント

最後に、計算のところで重要なインクリメントとデクリメントについて勉強します。

インクリメントとは?

プログラムでは、結構な頻度で「ある変数に1を足す」という処理を実行します。そんな時に毎回「変数名 = 変数名 + 1」や「変数名 += 1」と記述していては面倒です。

プラス1する場合は、もっと簡単な記述方法があり、それがインクリメントという方法です。インクリメントの書式は以下になります。

変数名++

これで変数に1を足すという計算になります。このようにある変数に1を足す処理を「インクリメント」と言います。

デクリメントとは?

デクリメントは、インクリメントとは反対で「ある変数から1を引く」という意味になります。デクリメントの書式は以下になります。

変数名--

これで変数から1を引くという計算になります。このようにプラス1やマイナス1の計算は、かなり省略化できるので覚えておきましょう。

リンコ
リンコ

インクリメントとデクリメントは結構な頻度で使うから覚えておくピヨ!

まとめ

この記事では、プログラミング言語であるKotlinの変数の型変換と変数の値の更新について勉強していきましたが、いかがでしたでしょうか?今回の記事をまとめると以下のようになります。

  • 型変換の書式は「val 新しい変数名: 型名 = 元の変数名.to変換したい型名()」
  • あきらかに違う型の値が入っている変数を型変換しようとするとエラーになるので注意
  • 変数の値の更新の書式は「変数名 = 値」
  • valで宣言した変数名の値を更新しようとするとエラーになるので注意
  • 「+」「-」「*」「/」「%」の記号を使うことで計算もできる
  • プラス1はインクリメント、マイナス1はデクリメントで計算すると楽

今回勉強した「変数の型変換」や「変数の値の更新」はKotlinの入門レベルの知識になるので、何回も読み直してしっかり覚えておきましょう。

リンコ
リンコ

次回の記事では「文字の連結や文字列テンプレート」について勉強していくピヨ!
プログラミング未経験の方や入門レベルの方、Kotlinについて詳しくなりたい方は、また一緒に勉強するピヨ!

コメント

タイトルとURLをコピーしました