8ステップで理解するKotlinによる四則演算プログラミング

Kotlinを用いた四則演算のサンプルコードを説明するイメージKotlin
この記事は約16分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Kotlinという言葉を聞いたことがありますか?

もしあなたがプログラミングに興味を持っているなら、この記事を通じてKotlinでの四則演算の基本をしっかりと学び、あなたもプログラミングの楽しさを体感できるようになるでしょう。

この記事を読めば、Kotlinで四則演算プログラミングの基本をマスターすることができるようになります。

また、実際のサンプルコードもたくさん提供しますので、実践的な学びも得られます。

●Kotlinとは

Kotlinは、近年急速に人気を集めているプログラミング言語の1つです。

特にAndroidアプリ開発において、公式言語として採用されています。

その理由として、KotlinはJavaとの互換性が高く、簡潔で読みやすいコードを書けることが挙げられます。

○Kotlinの特徴

  • 簡潔性:Kotlinは、冗長なコードを減少させるための様々な機能を提供しています。これにより、同じ機能でもより少ない行数で実装することが可能です。
  • 安全性:Kotlinは、null参照を回避するための特別なシステムを持っており、バグの発生を大きく減少させることができます。
  • 相互運用性:Javaと100%相互運用可能で、Javaのライブラリやフレームワークをそのまま利用することができます。
  • 拡張性:既存のクラスを拡張することなく、新しい機能を追加することができます。

○Kotlinの基本構文

Kotlinでの変数宣言は、Javaとは異なり、valまたはvarを用いて宣言します。

valは再代入不可能な変数、varは再代入可能な変数を表します。

このコードでは、整数型の変数num1num2を宣言して、それぞれに5と7を代入しています。

val num1: Int = 5
var num2: Int = 7

このコードを実行すると、変数num1には5が、num2には7が代入された状態となります。

また、関数の宣言はfunキーワードを使用して行います。

例として、2つの整数を加算する関数を紹介します。

fun add(a: Int, b: Int): Int {
    return a + b
}

このコードでは、addという名前の関数を定義して、2つの整数abを引数として受け取り、その和を返しています。

この関数を利用して、先ほどの変数num1num2の和を計算すると、結果は12となります。

●四則演算とKotlin

四則演算は、プログラミング初心者にとって最初に触れる基本的な機能の一つです。

加算、減算、乗算、除算の4つの基本的な演算を行うことができます。

Kotlinを使った四則演算には、特に難しい点はありませんが、正確に理解し、確実に使えるようになることが大切です。

○四則演算の基本

四則演算は、次の4つの操作から成り立っています。

  1. 加算:2つの数値を足し合わせる。
  2. 減算:ある数から別の数を引く。
  3. 乗算:2つの数値を掛け合わせる。
  4. 除算:ある数を別の数で割る。

これらの基本的な操作をKotlinでどのように実装するのかを次の節で詳しく見ていきます。

○Kotlinでの四則演算の書き方

Kotlinでの四則演算は、他の多くのプログラミング言語と非常に似ています。

ここでは、Kotlinでの四則演算の基本的な書き方を紹介します。

このコードでは、四つの整数型変数を宣言し、それぞれの変数に四則演算の結果を代入しています。

val addResult = 7 + 5     // 加算: 12
val subtractResult = 7 - 5  // 減算: 2
val multiplyResult = 7 * 5  // 乗算: 35
val divideResult = 7.0 / 5.0  // 除算: 1.4

このコードを実行すると、addResultには12、subtractResultには2、multiplyResultには35、divideResultには1.4がそれぞれ代入されます。

特に除算の際に注意が必要です。

整数同士の除算の場合、結果も整数として返されるため、小数点以下が切り捨てられます。

正確な小数点以下の値を取得するには、少なくとも一方の数値を浮動小数点数(例: 7.0)として扱う必要があります。

●Kotlinでの四則演算のサンプルコード

Kotlinで四則演算を行う方法は直感的であり、基本的な演算子を使って数値を計算することができます。

ここでは、Kotlinでの四則演算のサンプルコードとその説明を紹介します。

○サンプルコード1:加算

Kotlinでの加算は、プラス記号(+)を使用して行います。

下記のコードは、加算の基本的な例です。

fun main() {
    val a = 5
    val b = 3
    val result = a + b
    println("5と3の和は$result です。")
}

このコードでは、整数型の変数aとbを宣言し、それらの和を変数resultに代入しています。そして、結果を表示しています。

このコードを実行すると、出力結果として「5と3の和は8です。」と表示されます。

○サンプルコード2:減算

Kotlinでの減算は、マイナス記号(-)を使用して行います。

下記のコードは、減算の基本的な例です。

fun main() {
    val c = 8
    val d = 2
    val subtractResult = c - d
    println("8から2を引いた結果は$subtractResult です。")
}

このコードでは、整数型の変数cとdを宣言し、cからdを引いた結果を変数subtractResultに代入しています。

このコードを実行すると、「8から2を引いた結果は6です。」と表示されます。

○サンプルコード3:乗算

Kotlinにおいて、数値を掛け合わせるための乗算は、アスタリスク記号(*)を使用します。

乗算のための基本的なサンプルコードとその説明を交えてコードを紹介します。

fun main() {
    val e = 4
    val f = 7
    val multiplyResult = e * f
    println("4と7の積は$multiplyResult です。")
}

このコードでは、整数型の変数eとfを定義し、それらの積を変数multiplyResultに代入しています。そして、計算結果を出力するためのprintln関数を使っています。

このコードを実行すると、出力結果として「4と7の積は28です。」と表示されるでしょう。

乗算も加算や減算と同様に、演算子を使用して直感的に計算を行うことができます。

初心者の方でも簡単に理解して実装することができるのがKotlinの魅力の一つです。

○サンプルコード4:除算

Kotlinにおける除算は、スラッシュ記号(/)を使用して行います。

下記のコードは、除算の基本的な例です。

fun main() {
    val g = 15
    val h = 3
    val divisionResult = g / h
    println("15を3で割った結果は$divisionResult です。")
}

このコードでは、整数型の変数gとhを宣言し、gをhで割った結果を変数divisionResultに代入しています。

このコードを実行すると、「15を3で割った結果は5です。」と表示されます。

●エラーとその対処法

プログラミングの過程でエラーに遭遇することは珍しくありません。

特に初心者の段階では、さまざまなエラーが頻繁に発生することが予想されます。

しかし、エラーはプログラミングの学習過程において重要な指標となります。

エラーメッセージを読むことで、問題の原因や解決策を探る手助けを受けることができます。

○エラーメッセージの読み方

Kotlinでは、コードにエラーが存在する場合、エラーメッセージが表示されます。

このメッセージは、エラーの種類や原因を表しており、適切な対処法を導き出す手助けをしてくれます。

例えば、変数を宣言せずに使用した場合など、基本的なエラーから複雑なエラーまで様々な情報が含まれています。

fun main() {
    println(x)
}

このコードを実行すると、Unresolved reference: xというエラーメッセージが表示されます。

このエラーは、変数xが宣言されていないため、参照できないという意味です。

○具体的なエラーと対処法

上記のエラー以外にも、Kotlinで頻繁に遭遇するエラーやその対処法を紹介します。

□型の不一致

Kotlinは静的型付け言語であるため、変数の型と代入する値の型が一致しないとエラーが発生します。

fun main() {
    var number: Int = "Hello"
}

このコードを実行すると、Type mismatch: inferred type is String but Int was expectedというエラーメッセージが表示されます。

このエラーは、Int型の変数に文字列を代入しようとしているため発生します。

解決策として、適切な型に変数を変更するか、代入する値の型を変更する必要があります。

□nullの参照

Kotlinではnull安全が強化されていますが、nullを許容しない変数にnullを代入しようとするとエラーが発生します。

fun main() {
    var text: String = null
}

このコードの場合、Null can not be a value of a non-null type Stringというエラーメッセージが表示されます。

このエラーを解消するには、変数の型をnullを許容する型(String?)に変更するか、null以外の値を代入する必要があります。

●四則演算の応用例

四則演算の基本的な使い方を理解した後、さらに進んで複雑な計算や実用的なコードの書き方を学ぶことができます。

Kotlinの力を活用して、四則演算をベースにしたさまざまな応用例を試してみましょう。

○サンプルコード5:複数の数値を使った計算

複数の数値を一度に計算する方法を考えます。

例として、購入した3つの商品の合計金額や平均金額を計算するプログラムを考えてみましょう。

fun main() {
    val item1 = 1200
    val item2 = 850
    val item3 = 730

    val total = item1 + item2 + item3
    val average = total / 3

    println("合計金額は$total 円です。")
    println("平均金額は$average 円です。")
}

このコードでは、3つの商品の価格をそれぞれ変数item1, item2, item3に代入しています。

そして、これらの合計と平均を計算し、結果を出力しています。

このコードを実行すると、合計金額と平均金額が表示されることになります。

○サンプルコード6:変数を使った計算

Kotlinでは、変数を活用することで動的な計算も柔軟に行えます。

例として、ユーザーから入力を受け取り、その入力した数値をもとに計算を行うプログラムを考えてみましょう。

fun main() {
    print("数値を入力してください: ")
    val userInput = readLine() ?: ""
    val number = userInput.toInt()

    val result = number * 10

    println("入力した数値の10倍は$result です。")
}

このコードでは、readLine()関数を使用してユーザーからの入力を受け取っています。

そして、その入力値を10倍にして出力しています。

このコードを実行し、例えば5を入力すると、入力した数値の10倍は50 です。という結果が表示されます。

●Kotlinプログラミングのコツ

Kotlinプログラミングを行う際に、より効率的で読みやすいコードを書くためのコツやテクニックを学ぶことで、コーディングの楽しさや生産性を高めることができます。

特に初心者の方にとっては、習得する価値が大きいでしょう。

○効率的なコーディング方法

Kotlinでは、様々な便利な機能や短縮記法が提供されています。

これを活用することで、簡潔に効率的なコードを書くことができます。

例として、リストの中から特定の条件に合う要素だけを抽出する操作を考えてみましょう。

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    val evenNumbers = numbers.filter { it % 2 == 0 }

    println(evenNumbers)
}

このコードでは、filter関数を用いて偶数だけを抽出しています。

このように、Kotlinではラムダ式を使って簡潔にデータの操作を行うことができます。

このコードを実行すると、偶数だけが抽出されたリストが表示されます。

○コードの可読性を上げる方法

コードの可読性は、他の人がコードを読む際の理解のしやすさを意味します。

また、数週間後の自分がコードを見返したときに、どれだけ早く理解できるかという点でも非常に重要です。

  1. 変数名や関数名を明確に:何を表しているのか一目でわかるような名前をつけましょう。
  2. コメントを活用:複雑なロジックや意図がわかりにくい箇所には、コメントを記述することで理解の助けとなります。
  3. 適切なインデント:インデントを揃えることで、コードの構造が一目でわかります。
fun calculateTax(income: Int): Int {
    // 基本税率10%
    val basicTaxRate = 0.10

    // 所得が500万円を超える場合は、追加で5%の税率が適用される
    val additionalTaxRate = if (income > 5_000_000) 0.05 else 0.0

    return (income * (basicTaxRate + additionalTaxRate)).toInt()
}

このコードでは、関数名や変数名が明確であり、コメントも追加されているため、何をする関数なのかが一目でわかります。

●テストとデバッグ

プログラミングの過程では、コードのエラーを早く発見し、正しく動作するかを確認するためにテストとデバッグが不可欠です。

Kotlinプログラミングにおいても、このフェーズは重要な役割を果たします。

ここでは、Kotlinにおけるテストとデバッグの基本を解説します。

○単体テストの方法

単体テストは、特定の関数やメソッドが期待通りの動作をするかを確認するテストの一つです。

KotlinではJUnitというテストフレームワークを使用して単体テストを行うことが一般的です。

例として、数字のリストから最大値を取得する関数のテストを行ってみましょう。

fun findMax(numbers: List<Int>): Int? {
    return numbers.maxOrNull()
}

この関数のテストを行うための単体テストは次のように書くことができます。

import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.Test

class MaxFinderTest {

    @Test
    fun testFindMax() {
        val numbers = listOf(1, 3, 5, 2, 4)
        val result = findMax(numbers)
        assertEquals(5, result)
    }
}

このコードでは、findMax関数にリストを渡し、結果が5であることを確認しています。

もし関数が正しく動作しなければ、このテストは失敗となります。

○デバッグの基本

デバッグは、コードに潜むエラーや不具合を特定し、修正するプロセスです。

Kotlinのデバッグには、IDE(Integrated Development Environment)のデバッガを利用することが一般的です。

例えば、IntelliJ IDEAやAndroid Studioには強力なデバッガが組み込まれており、ブレークポイントを設定することで、コードの任意の位置での実行を一時停止させ、その時点での変数の値などを確認することができます。

デバッグを行う際の基本的なステップは次の通りです。

  1. 問題が発生している箇所や原因を特定するためのブレークポイントを設定します。
  2. コードをデバッグ実行し、ブレークポイントで実行が一時停止するのを待ちます。
  3. デバッガの情報を使用して、変数の値や実行の流れを確認します。
  4. エラーの原因を特定し、コードを修正します。

デバッグを効果的に行うためには、エラーの発生原因やコードの動作をしっかりと理解することが必要です。

そのため、Kotlinの基本的な知識や経験がデバッグのスキル向上に繋がります。

●より複雑な計算のためのKotlinの機能

Kotlinは、基本的な四則演算だけでなく、より高度な計算もサポートしています。

ここでは、Kotlinの関数とクラス、オブジェクトの基本的な使用方法を取り上げ、複雑な計算の手助けとなる方法を解説します。

○サンプルコード7:関数を使った計算

Kotlinでは、関数を用いることで処理を再利用可能にし、コードの構造を明確にします。

下記のコードは、2つの数字の平均を計算する関数の例です。

fun calculateAverage(a: Double, b: Double): Double {
    return (a + b) / 2
}

// 使用例
val result = calculateAverage(5.0, 7.0)

このコードでは、calculateAverage関数を使って5.0と7.0の平均を計算しています。

このコードを実行すると、result変数には6.0が代入されます。

○サンプルコード8:クラスとオブジェクトを使った計算

クラスは、関連するデータと処理を一つの単位にまとめるためのもので、オブジェクト指向プログラミングの基本的な要素です。

下記のコードは、四角形の面積と周の長さを計算するクラスの例です。

class Rectangle(val width: Double, val height: Double) {
    fun area(): Double {
        return width * height
    }

    fun perimeter(): Double {
        return (width + height) * 2
    }
}

// 使用例
val myRectangle = Rectangle(4.0, 5.0)
val areaResult = myRectangle.area()
val perimeterResult = myRectangle.perimeter()

このコードでは、Rectangleクラスを使って、幅4.0、高さ5.0の四角形の面積と周の長さを計算しています。

このコードを実行すると、areaResultには20.0、perimeterResultには18.0がそれぞれ代入されます。

まとめ

Kotlinは現代のプログラミングにおいて非常に注目される言語となっています。

その理由として、簡潔かつ安全な構文、Javaとの相互運用性、そして多彩な機能が挙げられます。

この記事を通して、Kotlinの基本的な構文から四則演算、エラーハンドリング、テストとデバッグ、さらには複雑な計算を行うための高度な機能について学ぶことができたのであれば、幸いです。

この記事を参考に、Kotlinの世界に飛び込み、実際のアプリケーションの開発に挑戦してみることをおすすめします。

Kotlinの持つ機能を最大限に活用し、あなたのコーディングスキルを次のレベルへと引き上げましょう。