【Kotlin】レッスン1-07:import文を使ってみよう

記事内に商品プロモーションを含む場合があります

この記事で学べる知識:import文

この記事の練習問題を解くために必要な知識:
メイン関数入力と出力の基本コメントの書き方変数と定数算術演算子Null安全性文字列の連結と埋め込み文字列操作import文

<<前のページ Kotlin記事一覧 次のページ>>

Kotlinの「import文」とは

この章ではKotlinにおける「import文」の意味や使い方を学習します。用語の解説が不要な方はここをクリックして練習問題へ飛びましょう。




Kotlinではimport文を使うことで、他のライブラリやモジュールの機能を簡単に利用することができます。

この機能を正しく理解することで、プログラムを効率よく書けるようになります。

 import文とは?

import文とは、他のパッケージやライブラリに含まれるクラスや関数を現在のプログラムに取り込むための宣言です。

これにより長い名前空間を省略し、簡潔で読みやすいコードを書くことが可能になります。

つまり、自分で書くと非常に長く複雑になってしまう処理があらかじめ用意されており、それをインポートすることで簡単に実現できるということです。

たとえばkotlin.random.Randomをimportすれば、初心者でも簡単にランダムな数字を生成することができます。

import文の基本構文

import文はプログラムの先頭(メイン関数の外)で記述します。

以下のようにimportキーワードの後に取り込みたいライブラリを指定します。

import kotlin.random.Random  //Randomクラスのインポート

fun main() {
    val number = Random.nextInt(1, 10) // 1から9までのランダムな整数を生成し、定数numberに代入
    println("ランダムな数字: $number")
}
  • Kotlin標準ライブラリに含まれるものは簡単にimport可能。
  • 他のライブラリからカスタムクラスを取り込むこともできます。

Randomクラスのインポート

kotlin.random.Randomを使うとランダムなデータを簡単に生成できます。

以下は実用的な例です。

ランダムな整数を生成するnextInt

import kotlin.random.Random  // Randomクラスのインポート

fun main() {
    val randomInt = Random.nextInt(1, 100) // 1から99までのランダムな整数
    println("Random integer: $randomInt")
}

Random.nextInt()はカッコの中の範囲の整数をランダムに生成します。

ランダムな小数を生成するnextDouble

val randomDouble = Random.nextDouble(0.0, 1.0) // 0.0から1.0の間のランダムな小数
println("Random double: $randomDouble")

Random.nextDouble()はカッコの中の範囲の少数をランダムに生成します。

ランダムな真偽値を生成するnextBoolean

val randomBoolean = Random.nextBoolean() // trueまたはfalse
println("Random boolean: $randomBoolean")

Random.nextBoolean()はtrueかfalseをランダムに生成します。

Mathクラスのインポート

kotlin.mathを使うと数学計算が簡単になります。

これもimport文を使って取り込むことが可能です。

絶対値や平方根の計算

import kotlin.math.*  //mathクラスのインポート

fun main() {
    val value = -8.5
    println("Absolute value: ${abs(value)}") // -8.5の絶対値
    println("Square root: ${sqrt(64.0)}")   // 64の平方根
}

Mathクラスをインポートすることで複雑な計算を簡単に実行することができます。

  • abs:絶対値
  • sqrt:平方根
  • ceil: 小数点切り上げ
  • floor: 小数点切り下げ
  • pow: 指数計算

まとめ

import文を使うことでKotlinの豊富な機能を効率的に活用できます。

特にkotlin.random.Randomkotlin.mathは、初心者にとっても使いやすい便利なライブラリです。

今後頻繁に使用することになりますので、確実にマスターしましょう。

import文のの練習問題:ランダムな数値と数学計算を学ぼう

import文を学ぶために、ランダムな数値を生成し、それに対して数学関連の操作を行うプログラムを作成しましょう。

このプログラムではランダムな整数を生成したり、その平方根や絶対値を計算する方法を学びます。

この問題の要件

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

  1. import文を使って、次の2つのライブラリを取り込むこと:
    • kotlin.random.Random
    • kotlin.math.*
  2. メイン関数を定義し、以下の操作を実装すること:
    • ランダムな整数を1から100の範囲で生成し、変数randomNumberに代入すること。
    • printlnを使って、生成されたランダムな数を画面に表示すること。
    • ランダムな数の平方根を計算し、結果を画面に表示すること。
    • ランダムな負の小数を-100.0から0.0の範囲で生成し、変数randomNegativeDoubleに代入すること。
    • 負の小数の絶対値を計算し、結果を画面に表示すること。
    • Null安全性を学ぶために、Nullable型の変数nullableMessageを作成し、初期値としてnullを設定すること。
    • nullableMessagenullの場合に、デフォルトメッセージ「メッセージはありません」を表示すること。
    • 文字列操作を使い、nullableMessageに新しい説明文を設定し、それを大文字に変換して表示すること。

ただし、以下のような実行結果となるコードを書くこと。

*****↓↓正解コードの実行結果の例↓↓*****

ランダムな数を生成し、数学関連の操作を学びます。
生成されたランダムな数: 64
この数の平方根は: 8.0
生成されたランダムな負の数: -45.678
この数の絶対値は: 45.678
現在のメッセージ: メッセージは設定されていません
更新されたメッセージ: ランダムな数 64 と -45.678 の説明です。

この問題を解くヒント

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

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

正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)

1:kotlin.random.Randomとkotlin.mathパッケージをインポート
2:main関数の定義
  □ ”ランダムな数を生成し、数学関連の操作を学びます。”を出力
  □ Randomクラスを使用して1から100までのランダムな整数を生成し、randomNumberに代入
  □ ”生成されたランダムな数: “とrandomNumberを出力
  □ randomNumberをDouble型に変換し、平方根を計算して出力
  □ Randomクラスを使用して-100.0から0.0までのランダムな負の小数を生成し、randomNegativeDoubleに代入
  □ ”生成されたランダムな負の数: “とrandomNegativeDoubleを出力
  □ randomNegativeDoubleの絶対値を計算して出力
  □ String型のnullableMessage変数をnullで初期化
  □ ”現在のメッセージ: “とnullableMessageがnullの場合のデフォルトメッセージを出力
  □ nullableMessageに文字列”ランダムな数 randomNumber と randomNegativeDouble の説明です。”を代入
  □ nullableMessageを大文字に変換して出力

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

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

/*
【穴埋め問題1】ここに数学ライブラリとランダム数生成を含むインポート文を書いてください
*/

fun main() {
    // コメントの例: ここではユーザーに目的を説明します
    println("ランダムな数を生成し、数学関連の操作を学びます。")

    // ランダムな整数を生成(1から100まで)
    /*
    【穴埋め問題2】ここでRandomクラスを使って1から100までのランダムな整数を生成し、変数randomNumberに代入するコードを書いてください。
    */

    println("生成されたランダムな数: $randomNumber")

    // 文字列の埋め込みを使用して結果を表示
    println("この数の平方根は: ${sqrt(randomNumber.toDouble())}") // 平方根の計算

    // ランダムな負の小数を生成
    /*
    【穴埋め問題3】ここでRandomクラスを使って-100.0から0.0までのランダムな負の小数を生成し、変数randomNegativeDoubleに代入するコードを書いてください。
    */

    println("生成されたランダムな負の数: $randomNegativeDouble")

    // 絶対値を計算
    println("この数の絶対値は: ${abs(randomNegativeDouble)}") // 絶対値を計算

    // Null安全性の例: NullableなString型を作成
    /*
    【穴埋め問題4】ここでnullableMessage変数をnullで初期化し、現在のメッセージを表示するコードを書いてください。
    */

    // 文字列を連結して埋め込む
    /*
    【穴埋め問題5】ここでnullableMessageに文字列を代入し、大文字に変換して表示するコードを書いてください。
    */
}

以上がこの問題の穴埋めコードです。

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



練習問題の解答と解説

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

例えば以下のようなプログラムが考えられます。

import kotlin.random.Random
import kotlin.math.*

fun main() {
    // コメントの例: ここではユーザーに目的を説明します
    println("ランダムな数を生成し、数学関連の操作を学びます。")

    // ランダムな整数を生成(1から100まで)
    val randomNumber = Random.nextInt(1, 101) // Randomクラスを使用
    println("生成されたランダムな数: $randomNumber")

    // 文字列の埋め込みを使用して結果を表示
    println("この数の平方根は: ${sqrt(randomNumber.toDouble())}") // 平方根の計算

    // ランダムな負の小数を生成
    val randomNegativeDouble = Random.nextDouble(-100.0, 0.0) // 負のランダムな小数
    println("生成されたランダムな負の数: $randomNegativeDouble")

    // 絶対値を計算
    println("この数の絶対値は: ${abs(randomNegativeDouble)}") // 絶対値を計算

    // Null安全性の例: NullableなString型を作成
    var nullableMessage: String? = null // 初期値はnull
    println("現在のメッセージ: ${nullableMessage ?: "メッセージは設定されていません"}")

    // 文字列を連結して埋め込む
    nullableMessage = "ランダムな数 $randomNumber と $randomNegativeDouble の説明です。"
    println("更新されたメッセージ: " + nullableMessage.toUpperCase()) // 大文字に変換
}

正解コードの解説

このコードではKotlinのimport文を使ってランダムな数を生成し、その数に数学的操作を行います。

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

import文とその役割

import kotlin.random.Random
import kotlin.math.*
  • import kotlin.random.Random: ランダムな数値を生成するためのRandomクラスを利用する際に必要です。このimport文があることでRandom.nextIntRandom.nextDoubleといった機能を使えるようになります。
  • import kotlin.math.*: 数学的操作(平方根計算、絶対値計算など)に必要なライブラリを取り込むためのimport文です。*をつけることでkotlin.math内のすべての関数を利用可能にします。

ポイントimportを使うことで長い名前空間を省略し、簡潔でわかりやすいコードが書けるようになります。

メイン関数

fun main() {
    println("ランダムな数を生成し、数学関連の操作を学びます。")
  • fun main(): Kotlinプログラムのエントリーポイント。ここからプログラムが開始されます。
  • println: 標準出力にメッセージを表示します。このコードではプログラムの目的を説明するためのメッセージを表示します。

ランダムな数値の生成

val randomNumber = Random.nextInt(1, 101)
println("生成されたランダムな数: $randomNumber")
  • Random.nextInt(1, 101)Randomクラスのメソッドを使い、1から100の範囲でランダムな整数を生成します。
  • val: 変数を定数として宣言するために使用。ここでは生成したランダムな数をrandomNumberに格納しています。

数学操作: 平方根と絶対値の計算

println("この数の平方根は: ${sqrt(randomNumber.toDouble())}")
val randomNegativeDouble = Random.nextDouble(-100.0, 0.0)
println("生成されたランダムな負の数: $randomNegativeDouble")
println("この数の絶対値は: ${abs(randomNegativeDouble)}")
  • sqrt: 数値の平方根を計算します。randomNumberは整数型なのでtoDoubleで浮動小数点型に変換しています。
  • Random.nextDouble(-100.0, 0.0): -100.0から0.0の範囲でランダムな小数を生成します。
  • abs: 数値の絶対値を計算します。負の値が正の値に変換されます。

Null安全性と文字列操作

var nullableMessage: String? = null
println("現在のメッセージ: ${nullableMessage ?: "メッセージはありません"}")
nullableMessage = "ランダムな数 $randomNumber と $randomNegativeDouble の説明です。"
println("更新されたメッセージ: " + nullableMessage.toUpperCase())
  • String?: Nullable型の文字列を宣言します。最初はnullを代入します。
  • ?:: Elvis演算子。nullableMessagenullの場合にデフォルトメッセージを表示します。
  • toUpperCase(): 文字列を大文字に変換します。

まとめ

このコードではimport文の基本的な使い方を学びながら、Kotlinのランダム生成や数学的操作、文字列操作、そしてNull安全性を実践的に体験しました。

import文を正しく使うことで、外部ライブラリの機能を簡単に利用できるようになります。

Kotlinの強力な標準ライブラリを活用することでコードをシンプルかつ効率的に書く力を身につけましょう!

他のライブラリや関数も探して、さらにKotlinの可能性を広げてみてください。

<<前のページ Kotlin記事一覧 次のページ>>

この記事への質問・コメント

この記事を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    Kotlinのテキスト&問題集トップへ戻る
    トップページへ戻る