English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala имеет те же типы данных, что и Java. В таблице ниже приведены поддерживаемые Scala типы данных:
Тип данных | Описание |
---|---|
Byte | 8-битное целое число с знаковой композицией. Диапазон значений от -128 до 127 |
Short | 16-битное целое число с знаковой композицией. Диапазон значений от -32768 до 32767 |
Int | 32-битное целое число с знаковой композицией. Диапазон значений от -2147483648 до 2147483647 |
Long | 64-битное целое число с знаковой композицией. Диапазон значений от -9223372036854775808 до 9223372036854775807 |
Float | 32-битное двоичное浮-pointное число по стандарту IEEE 754 |
Double | 64-битное двоичное浮-pointное число по стандарту IEEE 754 |
Char | 16-битный несимвольный Unicode символ, диапазон значений от U+0000 до U+FFFF |
String | Целая последовательность символов |
Boolean | true или false |
Unit | Тип Unit представляет собой значение без значения, эквивалент void в других языках программирования. Используется в качестве типа результата для методов, не возвращающих значения. У Unit есть единственный экземпляр, записываемый как () |
Null | null или пустая ссылка |
Nothing | Тип Nothing находится на нижней грани классовой иерархии Scala; это подтип любого другого типа. |
Any | Any является суперклассом для всех других классов |
AnyRef | AnyRef класс является базовым классом для всех ссылочных классов (reference class) в Scala |
Все данные типы, перечисленные в таблице, являются объектами, что означает, что Scala не имеет的原生 типов, как в Java. В Scala можно вызывать методы для базовых типов, таких как числа.
Scala очень проста и интуитивна. В следующем разделе мы более подробно рассмотрим литералы Scala.
Литералы целых чисел используются для типа Int, если необходимо указать Long, можно добавить суффикс L или маленькую l в конце числа.
0 035 21 0xFFFFFFFF 0777L
Если浮点ное число заканчивается суффиксом f или F, это означает, что это тип Float, в противном случае это тип Double. Примеры:
0.0 1e30f 3.14159f 1.0e100 .1
Логические литералы имеют true и false.
символьный литерал записывается следующим образом: '<Идентификатор> здесь <Идентификатор> может быть любым идентификатором, состоящим из букв или цифр (обратите внимание: не может начинаться с цифры). Этот литерал отображается в экземпляр предопределенного класса scala.Symbol.
например: символьный литерал 'x является выражением scala.Symbol("x") является сокращением, символический литерал определен следующим образом:
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
В Scala символы переменных представляют с помощью одинарных кавычек ' определены следующим образом:
'a' '\u0041' '\n' '\t'
в том числе \ представляет символ Escape, за которым может следовать u0041 Число или \r\n и другие фиксированные символы Escape.
В Scala строковые литералы представляют с помощью двойных кавычек " определены следующим образом:
"Hello,\nWorld!" "Официальный веб-сайт учебника: ru.oldtoolbag.com"
Многострочные строки представляют с помощью тройных двойных кавычек, формат:""" ... """.
Пример приведен ниже:
val foo = """Основной учебник" ru.oldtoolbag.com ru.oldtoolbag.com www.runnoob.com Доступны все три адреса:
Пустая стоимость — это тип scala.Null.
Scala.Null и scala.Nothing — это особые типы, которые обрабатывают некоторые "граничные ситуации" системы объектно-ориентированных типов Scala с помощью единого подхода.
Класс Null является типом для null-ссылок, он является подклассом каждого класса-референса (классы, наследующие AnyRef). Null несовместим с типами значений.
В таблице ниже приведены распространенные символы escape:
Символы escape | Unicode | Описание |
---|---|---|
\b | \u0008 | backspace (BS) , перемещает текущую позицию в предыдущую колонку |
\t | \u0009 | horizontal tab (HT) (прыжок к следующей позиции TAB) |
\n | \u000a | newline (LF) , перемещает текущую позицию в начало следующей строки |
\f | \u000c | page feed (FF) , перемещает текущую позицию в начало следующей страницы |
\r | \u000d | newline (CR) , перемещает текущую позицию в начало строки |
" | \u0022 | представляет символ двойной кавычки (" |
' | \u0027 | представляет символ одинарной кавычки (') |
\\ | \u005c | представляет символ обратной косой черты '\' |
Unicode символы в диапазоне от 0 до 255 могут быть представлены с помощью восьмеричной последовательности escape, то есть обратной косой черты "\" следуемой максимум трёх восьмеричных цифр.
В символе или строке, обратная косая черта и последующая последовательность символов не могут образовывать законную последовательность escape, что приведет к Ошибка компиляции.
Ниже приведен пример использования некоторых символов.escape
object Test { def main(args: Array[String]) { println("Hello\tWorld\n\n"); } }
Результат выполнения будет выглядеть следующим образом:
$ scalac Test.scala $ scala TestHello World