Переменные — это не что иное, как зарезервированные области памяти для хранения значений. Это означает, что когда вы создаете переменную, вы резервируете некоторое пространство в памяти.
На основе типа данных переменной компилятор выделяет память и решает, что можно сохранить в зарезервированной памяти. Поэтому, назначая переменным разные типы данных, вы можете хранить целые, десятичные или символы в этих переменных.
Объявление переменной
Scala имеет другой синтаксис для объявления переменных. Их можно определить как значение, т. Е. Постоянное или переменное. Здесь myVar объявлен с использованием ключевого слова var. Это переменная, которая может изменить значение, и это называется изменяемой переменной . Ниже приведен синтаксис для определения переменной с помощью ключевого слова var.
Синтаксис
var myVar : String = "Foo"
Здесь myVal объявлен с использованием ключевого слова val. Это означает, что это переменная, которая не может быть изменена, и это называется неизменяемой переменной . Ниже приведен синтаксис для определения переменной с помощью ключевого слова val —
Синтаксис
val myVal : String = "Foo"
Типы переменных данных
Тип переменной указывается после имени переменной и перед знаком равенства. Вы можете определить любой тип переменной Scala, упомянув ее тип данных следующим образом:
Синтаксис
val or val VariableName : DataType = [Initial Value]
Если вы не присваиваете какое-либо начальное значение переменной, тогда оно действует следующим образом:
Синтаксис
var myVar :Int; val myVal :String;
Вывод типа переменной
Когда вы присваиваете начальное значение переменной, компилятор Scala может определить тип переменной на основе присвоенного ей значения. Это называется выводом типа переменной. Следовательно, вы можете написать эти объявления переменных следующим образом:
Синтаксис
var myVar = 10; val myVal = "Hello, Scala!";
Здесь по умолчанию myVar будет иметь тип Int, а myVal станет переменной типа String.
Несколько назначений
Scala поддерживает несколько заданий. Если блок кода или метод возвращает Tuple ( Tuple — содержит коллекцию объектов разных типов), Tuple может быть назначен переменной val. [ Примечание. Мы будем изучать кортежи в следующих главах.]
Синтаксис
val (myVar1: Int, myVar2: String) = Pair(40, "Foo")
И вывод типа делает это правильно —
Синтаксис
val (myVar1, myVar2) = Pair(40, "Foo")
Пример программы
Ниже приведен пример программы, объясняющей процесс объявления переменных в Scala. Эта программа объявляет четыре переменные — две переменные определены с объявлением типа, а остальные две без объявления типа.
пример
object Demo { def main(args: Array[String]) { var myVar :Int = 10; val myVal :String = "Hello Scala with datatype declaration."; var myVar1 = 20; val myVal1 = "Hello Scala new without datatype declaration."; println(myVar); println(myVal); println(myVar1); println(myVal1); } }
Сохраните вышеуказанную программу в Demo.scala . Следующие команды используются для компиляции и выполнения этой программы.
команда
\>scalac Demo.scala \>scala Demo
Выход
10 Hello Scala with datatype declaration. 20 Hello Scala without datatype declaration.
Переменная сфера
Переменные в Scala могут иметь три разные области видимости в зависимости от места их использования. Они могут существовать в виде полей, параметров метода и локальных переменных. Ниже приведены подробные сведения о каждом типе области.
поля
Поля — это переменные, которые принадлежат объекту. Поля доступны изнутри каждого метода в объекте. Поля также могут быть доступны вне объекта в зависимости от того, с какими модификаторами доступа объявлено поле. Поля объекта могут быть как изменяемыми, так и неизменяемыми типами и могут быть определены с использованием var или val .
Параметры метода
Параметры метода — это переменные, которые используются для передачи значения внутри метода при вызове метода. Параметры метода доступны только изнутри метода, но переданные объекты могут быть доступны извне, если у вас есть ссылка на объект извне метода. Параметры метода всегда неизменны и определяются ключевым словом val .
Локальные переменные
Локальные переменные — это переменные, объявленные внутри метода. Локальные переменные доступны только внутри метода, но созданные вами объекты могут покинуть метод, если вы вернете их из метода. Локальные переменные могут быть как изменчивыми, так и неизменяемыми типами и могут быть определены с использованием var или val .