0Pricing
Scala for Backend Engineering & Functional Programming · レッスン

基本構文と型

Scalaの基本構文、変数宣言(val/var)、一般的なデータ型、基本的な演算子を理解します。

「基本構文と型」はCoddyKit上の無料Scala for Backend Engineering & Functional Programmingレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはScala for Backend Engineering & Functional Programming学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Scala for Backend Engineering & Functional Programmingコースには全3レッスンが含まれています。

Scalaの簡潔な構文

Scalaの基本構文へようこそ!Scalaは簡潔で表現力豊かになるよう設計されており、より少ないコードでより多くの処理を実現できることがよくあります。

一部の言語とは異なり、1行に1つの文しかない場合、行末のセミコロンは通常省略できます。これにより、コードをすっきり保てます。

式が重要な理由

Scalaでは、ほとんどすべてが式です。つまり、評価すると値になります。これはコードをより関数的で予測しやすくする強力な概念です。

単純な計算や条件ブロックでさえ、値を返すことができます。

次の例を実行してみてください。

object Main {
  def main(args: Array[String]): Unit = {
    val x = 5 + 3
    println(s"The value of x is: $x")

    val message = if (x > 7) "Greater than 7" else "Not greater than 7"
    println(message)
  }
}

`val`:不変値

valを使って変数を宣言すると、不変の値が作成されます。つまり、いったん値を割り当てると、その値は変更できません。

不変性は関数型プログラミングの基本であり、予期しない副作用を防ぐのに役立つため、コードの安全性と理解しやすさが向上します。

試してみましょう。

object Main {
  def main(args: Array[String]): Unit = {
    val greeting = "Hello, Coddy!"
    println(greeting)
    // greeting = "New message" // This would cause a compile error!
  }
}

`var`:可変変数

値を変更できる変数が必要になる場合もあります。そのために、Scalaでは可変変数用のvarが用意されています。

便利ではありますが、Scalaでは不変性と関数型のスタイルを取り入れるため、可能な限りvarよりもvalを優先するのがよい習慣です。

`var`の動作を確認しましょう。

object Main {
  def main(args: Array[String]): Unit = {
    var counter = 0
    println(s"Initial counter: $counter")
    counter = counter + 1
    println(s"New counter: $counter")
  }
}

数値:Int、Long、Double

Scalaは一般的な数値型をサポートしています。コンパイラーが型を推論することが多いですが、明示的に指定することもできます。

  • Int:整数(例:10)
  • Long:より大きな整数(接尾辞Lを付けます。例:10000000000L)
  • Double:浮動小数点数(小数。例:3.14)

次に例を示します。

object Main {
  def main(args: Array[String]): Unit = {
    val anInt = 42
    val aLong = 1234567890123L
    val aDouble = 3.14159

    println(s"Int: $anInt")
    println(s"Long: $aLong")
    println(s"Double: $aDouble")
  }
}

Boolean型とChar型

数値以外にも、Scalaには真偽値と単一文字用の型があります。

  • Boolean:trueまたはfalseのいずれかの真偽値を表します。
  • Char:単一の文字を格納します。文字はシングルクォートで囲みます(例:'A')。

これらは、論理処理やテキスト処理の基本となる型です。

例:

object Main {
  def main(args: Array[String]): Unit = {
    val isActive = true
    val initial = 'C'

    println(s"Is active? $isActive")
    println(s"Initial character: $initial")
  }
}

文字列とテキスト

String型は、文字の並び、つまりテキストに使用します。Scalaの文字列は、Javaと同様に不変です。

非常に便利な機能として文字列補間があります。s接頭辞と変数を表す$を使うことで、文字列リテラル内に式を直接埋め込めます。

次の例を確認してください。

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Coddy"
    val age = 3

    val greeting = s"Hello, my name is $name and I am $age years old."
    println(greeting)

    val mathResult = s"Two plus two is ${2 + 2}"
    println(mathResult)
  }
}

基本的な算術演算子

Scalaには、数値の計算を行うための標準的な算術演算子があります。

  • +(加算)
  • -(減算)
  • *(乗算)
  • /(除算)
  • %(剰余:除算の余り)

これらの演算子は期待どおりに動作し、新しい数値を返します。

計算してみましょう。

object Main {
  def main(args: Array[String]): Unit = {
    val a = 10
    val b = 3

    println(s"Addition: ${a + b}")
    println(s"Subtraction: ${a - b}")
    println(s"Multiplication: ${a * b}")
    println(s"Division: ${a / b} (integer division)")
    println(s"Modulo: ${a % b}")

    val c = 10.0
    val d = 3.0
    println(s"Float Division: ${c / d}")
  }
}

比較演算子

比較演算子は2つの値を比較するために使用し、必ずBoolean(trueまたはfalse)を返します。

  • ==(等しい)
  • !=(等しくない)
  • <(より小さい)
  • >(より大きい)
  • <=(以下)
  • >=(以上)

これらは、制御フローや判断に欠かせません。

object Main {
  def main(args: Array[String]): Unit = {
    val x = 10
    val y = 5

    println(s"x == y: ${x == y}")
    println(s"x != y: ${x != y}")
    println(s"x > y: ${x > y}")
    println(s"x <= y: ${x <= y}")
  }
}

クイックチェック:変数と演算子

次のScalaコードの断片について考えてみてください。

object Main {
  def main(args: Array[String]): Unit = {
    val num1 = 7
    var num2 = 3
    num2 = num1 * 2
    val finalResult = num1 + num2 - 5
    println(finalResult)
  }
}

まとめ:構文と型

よくできました!このレッスンでは、式の使い方やセミコロンを省略できることなど、Scalaの基本構文を学びました。

不変値にはval、可変値にはvarを使って変数を宣言する方法を確認しました。また、Int、Long、Double、Boolean、Char、Stringなどの一般的なデータ型と、便利な文字列補間にも慣れました。

最後に、基本的な算術演算子と比較演算子を使って、計算や論理的なチェックを行う練習をしました。これらはより複雑なScalaプログラムの土台となるため、引き続き練習しましょう。

よくある質問

「基本構文と型」レッスンは無料ですか?

はい。「基本構文と型」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Scala for Backend Engineering & Functional Programmingコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Scala for Backend Engineering & Functional Programmingコースには全3レッスンが含まれています。

「基本構文と型」で何を学びますか?

Scalaの基本構文、変数宣言(val/var)、一般的なデータ型、基本的な演算子を理解します。 ブラウザで直接実行するハンズオンコードでScala for Backend Engineering & Functional Programmingを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Scala for Backend Engineering & Functional Programmingを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのScala for Backend Engineering & Functional Programmingは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。

「基本構文と型」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このScala for Backend Engineering & Functional Programmingレッスンでコードを書いて実行できますか?

はい。すべてのScala for Backend Engineering & Functional Programmingレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Scalaを始める
  2. 基本構文と型
  3. 制御構造と関数
← Scala for Backend Engineering & Functional Programmingに戻る