基本構文と型
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フィードバックを取得できます。ローカル設定は不要です。