サイトアイコン ハジカラ

【Kotlin入門】データのさまざまな表現〜Int型などの数字

こんにちは😁

今回からは、以前やったデータ型のちょっと高度な表現に
関して実際に書いてみてみようと思います。

今回は、「Int」を使います。
Intは「10進数」の最も普通の表現として使用されます。
他に10進数の表現としては、より大きな値を扱える「Long」が
あります。

まずは、書いてみましょう。
↓ 上がInt型で、下がLong型です。
  Longの場合は、数字の末尾に「L」と記載します。

val typeInt = 111
val typeLong = 111L

では、この下の変数typeLongがLong型であることを判定
してみます。
↓ このように、「変数 is データ型」のif条件で判定できます。

if (type is Long) {・・・・・

なお、Int型をLong型かどうか判定すると直ぐにエラーであると
教えてくれました。

↓ これは正常なのでエラーは出ません。

この「is」を使って以下のようなif文を書いてみました。
判定がtrueであればコメントが出力されます。

println(“処理開始ーーーー”)

val typeInt = 111
val typeLong = 111L

if (typeInt is Int) {

println(“${typeInt}はInt型”)
}

if (typeLong is Long) {

println(“${typeLong}はLong型”)
}

println(“ーーーー処理終了”)

では、実行しましょう。
↓ コンパイルでwarning(警告)が出ましたね。
  コード書いている段階で結果がいつも同じでしょ?
  とのことです。
  今回は、テストでみてみたいので、このまま作成された
  jarファイルを実行します。

実行すると、出力されました。
見た目はどちらも10進数なので違いはありませんね。
ただ、Long型は大きな整数と一緒に使用するとか、先のロジック
で値が大きくなるという場合に使用するのがいいでしょう。

次は、「2進数」と「16進数」をみてみましょう。
Kotlinでは、「10進数」の他に「2進数」と「16進数」の
表記法があります。ただ「8進数」はありません。

2進数の表記は数字の頭に「0b」、
16進数の表記は数字の頭に「0x」を付けます。

val typeBi = 0b001100 // 2進数
val typeHex = 0xF2CE // 16進数

この表記は、ソースコードをわかりやすく表記するためのもので、
データ型はInt、出力は10進数で行われます。

先ほどと同じようにif条件で出力してみましょう。

println(“処理開始ーーーー”)

val typeBi = 0b001100
val typeHex = 0xF2CE

if (typeBi is Int) {

println(“${typeBi}はInt型”)
}

if (typeHex is Int) {

println(“${typeHex}はInt型”)
}

println(“ーーーー処理終了”)

↓ 実行してみると、Int型であることと出力が10進数であること
  がわかります。

あまり使わない処理かと思いますが、知っておいて損はない
知識になります。

今日はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】

モバイルバージョンを終了