MENU

【Kotlin】レッスン1-03:算術演算子を使いこなそう|四則演算と数値変換を解説

tggaa478@yahoo.co.jp

一つ前のページでは変数と定数について学習しました。

今回は 算術演算子 について見ていきましょう。

Lesson1:基礎文法編
 ・Lesson1-1:Kotlin学習の入り口|初めてコードを書いてみよう
 ・Lesson1-2:変数と定数を理解しよう
 ・Lesson1-3:四則演算をしよう ◁今回はココ
 ・Lesson1-4:Null安全性を理解しよう
 ・Lesson1-5:文字列の連結と埋め込みを理解しよう
 ・Lesson1-6:文字列を操作しよう
 ・Lesson1-7:import文を理解しよう
 ・確認問題1-☆1:ランダムパスワードを生成しよう
Lesson2:制御構造編
Lesson3:関数編
Lesson4:コレクション編
Lesson5:オブジェクト指向編

<<前のページ

学習記事一覧

次のページ>>

Kotlinの算術演算子を理解しよう|初心者にもわかる基本解説

算術演算子はプログラム内で計算を行うために使用される重要なツールです。

足し算や引き算などの基本的な操作から、効率的な計算を可能にする複合演算子まで、Kotlinでは多くの算術演算子が用意されています。

本記事ではそれらの使用方法を初心者向けにわかりやすく解説します。

四則演算の基本|足し算・引き算・掛け算・割り算を学ぼう

Kotlinの算術演算子は以下のような基本操作をサポートしています。

  • + (足し算):例 val sum = 5 + 3 → 結果: 8
  • - (引き算):例 val difference = 5 - 3 → 結果: 2
  • * (掛け算):例 val product = 5 * 3 → 結果: 15
  • / (割り算):例 val quotient = 10 / 3 → 結果: 3
  • % (剰余):例 val remainder = 10 % 3 → 結果: 1

これらは整数同士、あるいは浮動小数点数同士で使用できます。

なお、割り算は余りを切り捨てて表示し、剰余は割り算の余りを表示します。

増減演算子とは?|++ と — の使い方をマスター

++-- は、変数をインクリメント(1増やす)またはデクリメント(1減らす)するための演算子です。

var count = 5
count++  // countは6になる
count--  // countは5に戻る

これらはループ処理などで頻繁に使用される便利な演算子です。

代入演算子の応用|+= や -= を使ってコードを簡潔に

算術演算子と代入演算子を組み合わせた以下のような書き方も可能です:

  • +=:例 var num = 5; num += 3num の値は 8 になる
  • -=:例 num -= 2num の値は 6 になる
  • *=:例 num *= 2num の値は 12 になる
  • /=:例 num /= 3num の値は 4 になる

これらを活用すると、簡潔で可読性の高いコードを書くことができます。

※+=の説明にある;はそのコードの終了を意味し、通常は改行により省略されています。すなわち+=の例は以下のコードと同義です。

var num = 5
num += 3

数値への変換方法|文字列を toInt() で処理しよう

Kotlinでは、ユーザーからの入力を受け取る際に readLine() を使用します。

しかしreadLine() で取得した値は文字列として扱われます。そのため数値を計算に使用するには文字列を数値に変換する必要があります。

例:ユーザーが数値を入力した場合でも、その値は文字列として受け取られます。

println("数値を入力してください:")
val input = readLine()  // 入力: 42 (文字列として扱われる)

このコードでは、定数inputに文字列の42を格納しています。

このままでは計算に使えないため、toInt() または toDouble() を使用して変換を行います。

val number = input?.toInt() //定数numberにinputの値を整数型に変換して代入
println(number + 10)        // 出力: 52

なお、この例ではreadLine() の結果が空の場合(何も入力せずにエンターを押した場合)や、数値に変換できない文字列(abc等)の場合、エラーが発生します。

このエラーを回避するための「Null安全性」については、次の記事で詳しく解説します。

この記事のまとめ|算術演算子の基礎をおさらいしよう

Kotlinの算術演算子は、プログラミングにおける計算処理を簡単に行える便利なツールです。

本記事では基本的な算術演算子、増減演算子、代入演算子、さらに文字列から数値への変換方法を紹介しました。

これらを理解することで、効率的で柔軟なコードが書けるようになります。

ぜひ演習問題で練習し、身につけてください。

練習問題|Kotlinで四則演算プログラムを作ってみよう

ユーザーから2つの整数を入力してもらい、それらの合計、差、積、商を出力するプログラムを作成しましょう。

この問題の要件

以下の要件に従ってコードを完成させてください。

  • readLine()を使用してユーザーから入力を取得すること。
  • 入力された値を整数に変換すること。
  • 2つの数値の合計、差、積、商を計算し、結果を表示すること。
  • 2つ目の数値が0の場合、0で割ることはできないためエラーとなる。

※readoLine()の部分は、今回は「readLine()?.toIntOrNull() ?: 0」と書いて下さい。readLine()の後ろの部分の詳細はLesson1-4で詳細に学習します。

ただし、以下のような実行結果となること。

1つ目の整数を入力してください: 10
2つ目の整数を入力してください: 5
合計: 15
差: 5
積: 50
商: 2

この問題を解くヒント

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

Q
ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。

1:main関数の開始
  □ 「1つ目の整数を入力してください: 」と出力
  □ ユーザーから入力された値を整数に変換し、変数num1に代入
  □ 「2つ目の整数を入力してください: 」と出力
  □ ユーザーから入力された値を整数に変換し、変数num2に代入
  □ num1とnum2の合計を計算し、変数sumに代入
  □ num1からnum2を引いた差を計算し、変数differenceに代入
  □ num1とnum2の積を計算し、変数productに代入
  □ num1をnum2で割った商を計算し、変数quotientに代入
  □ 合計を「合計: 」という文字列とともに出力
  □ 差を「差: 」という文字列とともに出力
  □ 積を「積: 」という文字列とともに出力
  □ 商を「商: 」という文字列とともに出力

Q
ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。

fun main() {
    print("1つ目の整数を入力してください: ")
    /* 【穴埋め問題1】 
       ここでユーザーから入力を受け取り、それを整数に変換してnum1に代入するコードを書いてください。
    */

    print("2つ目の整数を入力してください: ")
    /* 【穴埋め問題2】 
       ここでユーザーから入力を受け取り、それを整数に変換してnum2に代入するコードを書いてください。
    */

    /* 【穴埋め問題3】 
       ここでnum1とnum2の合計を計算し、変数sumに代入するコードを書いてください。
    */

    /* 【穴埋め問題4】 
       ここでnum1からnum2を引いた結果を計算し、変数differenceに代入するコードを書いてください。
    */

    /* 【穴埋め問題5】 
       ここでnum1とnum2の積を計算し、変数productに代入するコードを書いてください。
    */

    /* 【穴埋め問題6】 
       ここでnum1をnum2で割った結果を計算し、変数quotientに代入するコードを書いてください。
    */

    print("合計: ")   // 結果を出力
    println(sum)
    print("差: ")     // 結果を出力
    println(difference)
    print("積: ")     // 結果を出力
    println(product)
    print("商: ")     // 結果を出力
    println(quotient)
}

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。

練習問題の解答と解説

この問題の正解コードとその解説は以下の通りです。

クリックして開いて確認してください。

Q
正解コード
fun main() {
    print("1つ目の整数を入力してください: ")
    val num1 = readLine()?.toIntOrNull() ?: 0 // ユーザーからの入力を受け取る

    print("2つ目の整数を入力してください: ")
    val num2 = readLine()?.toIntOrNull()?:0 // ユーザーからの入力を受け取る

    val sum = num1 + num2 // 合計を計算
    val difference = num1 - num2 // 差を計算
    val product = num1 * num2 // 積を計算
    val quotient = num1 / num2 // 商を計算

    print("合計: ")   // 結果を出力
    println(sum)
    print("差: ")     // 結果を出力
    println(difference)
    print("積: ")     // 結果を出力
    println(product)
    print("商: ")     // 結果を出力
    println(quotient)
}
Q
正解コードの解説

コードをブロックごとに分割して解説します。

ユーザーから入力を受け取る部分

print("1つ目の整数を入力してください: ")
val num1 = readLine()?.toIntOrNull() ?: 0

print("2つ目の整数を入力してください: ")
val num2 = readLine()?.toIntOrNull() ?: 0
  • readLine() 関数を使ってキーボードから文字列形式の入力を取得します。
  • ?.toIntOrNull() ?: 0 の部分は入力を整数値に変換しています。

算術演算を行う部分

val sum = num1 + num2
val difference = num1 - num2
val product = num1 * num2
val quotient = num1 / num2

Kotlinでは以下の算術演算子を使用して基本的な計算を行います。

  • /:割り算(例:val quotient = num1 / num2
  • +:足し算(例:val sum = num1 + num2
  • -:引き算(例:val difference = num1 - num2
  • *:掛け算(例:val product = num1 * num2

計算結果を出力する部分

print("合計: ")     // 結果を出力
println(sum)
print("差: ")       // 結果を出力
println(difference)
print("積: ")       // 結果を出力
println(product)
print("商: ")       // 結果を出力
println(quotient)

print 関数とprintln 関数を使って計算結果を画面に出力します。

まとめ

このコードを通じてKotlinでのユーザー入力、算術演算子の使い方、計算結果の出力方法を学びました。

算術演算子はプログラミングで最も基本的な操作の一つであり、これを理解することで、より複雑な計算処理を扱う準備が整います。

次回の記事では、入力値に対するエラー処理や安全なプログラムの設計方法について学びます。

ぜひ、実際に手を動かしてこのコードを試してみてください!

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいKotlin学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

学習記事一覧

次のページ>>

記事URLをコピーしました