0Pricing
Scala for Backend Engineering & Functional Programming · Урок

Базовый синтаксис и типы

Изучите фундаментальный синтаксис 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 — локальная установка не требуется.

Все уроки этого курса

  1. Начало работы со Scala
  2. Базовый синтаксис и типы
  3. Управляющие конструкции и функции
← Назад к Scala for Backend Engineering & Functional Programming