Базовый синтаксис и типы
Изучите фундаментальный синтаксис Scala, объявления переменных (val/var), распространённые типы данных и базовые операторы.
«Базовый синтаксис и типы» — бесплатный урок Scala for Backend Engineering & Functional Programming на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Scala for Backend Engineering & Functional Programming, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Scala for Backend Engineering & Functional Programming содержит 3 уроков всего.
Лаконичный синтаксис Scala
Добро пожаловать в изучение базового синтаксиса Scala! Scala создана так, чтобы быть лаконичной и выразительной, часто позволяя писать меньше кода и достигать большего.
В отличие от некоторых языков, точки с запятой обычно необязательны в конце строки, если в ней находится только одна инструкция. Это помогает сохранять код чистым.
Выражения — основа Scala
В 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 рекомендуется по возможности отдавать предпочтение val, а не var, чтобы придерживаться неизменяемости и функционального стиля.
Посмотрите, как работает `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}")
}
}Операторы сравнения
Операторы сравнения используются для сопоставления двух значений и всегда возвращают 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/7) и разблокировать остальной курс 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/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Scala for Backend Engineering & Functional Programming?
Предыдущий опыт не требуется. Scala for Backend Engineering & Functional Programming на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.
Сколько времени занимает урок «Базовый синтаксис и типы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Scala for Backend Engineering & Functional Programming?
Да. Каждый урок Scala for Backend Engineering & Functional Programming включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Начало работы со Scala
- Базовый синтаксис и типы
- Управляющие конструкции и функции