Scala - Types de données

Scala a tous les mêmes types de données que Java, avec la même empreinte mémoire et la même précision. Voici le tableau donnant des détails sur tous les types de données disponibles dans Scala -

Sr.Non Type de données et description
1

Byte

Valeur signée 8 bits. Gamme de -128 à 127

2

Short

Valeur signée 16 bits. Gamme -32768 à 32767

3

Int

Valeur signée 32 bits. Plage -2147483648 à 2147483647

4

Long

Valeur signée 64 bits. -9223372036854775808 à 9223372036854775807

5

Float

Flotteur simple précision IEEE 754 32 bits

6

Double

Flotteur double précision IEEE 754 64 bits

sept

Char

Caractère Unicode non signé 16 bits. Plage de U + 0000 à U + FFFF

8

String

Une séquence de caractères

9

Boolean

Soit le littéral vrai, soit le littéral faux

dix

Unit

Ne correspond à aucune valeur

11

Null

référence nulle ou vide

12

Nothing

Le sous-type de tous les autres types; n'inclut aucune valeur

13

Any

Le supertype de tout type; tout objet est de type Any

14

AnyRef

Le supertype de tout type de référence

Tous les types de données répertoriés ci-dessus sont des objets. Il n'y a pas de types primitifs comme en Java. Cela signifie que vous pouvez appeler des méthodes sur un Int, un Long, etc.

Littéraux de base Scala

Les règles utilisées par Scala pour les littéraux sont simples et intuitives. Cette section explique tous les littéraux Scala de base.

Littéraux intégraux

Les littéraux entiers sont généralement de type Int, ou de type Long lorsqu'ils sont suivis d'un suffixe L ou l. Voici quelques littéraux entiers -

0
035
21 
0xFFFFFFFF 
0777L

Littéral à virgule flottante

Les littéraux à virgule flottante sont de type Float lorsqu'ils sont suivis d'un suffixe de type à virgule flottante F ou f, et sont de type Double dans le cas contraire. Voici quelques littéraux en virgule flottante -

0.0 
1e30f 
3.14159f 
1.0e100
.1

Littéraux booléens

Les littéraux booléens true et false sont des membres de type Boolean.

Littéraux de symboles

Un symbole littéral 'x est un raccourci pour l'expression scala.Symbol("x"). Symbol est une classe de cas, définie comme suit.

package scala
final case class Symbol private (name: String) {
   override def toString: String = "'" + name
}

Littéraux de caractères

Un littéral de caractère est un seul caractère entre guillemets. Le caractère est un caractère Unicode imprimable ou est décrit par une séquence d'échappement. Voici quelques caractères littéraux -

'a' 
'\u0041'
'\n'
'\t'

Littéraux de chaîne

Un littéral de chaîne est une séquence de caractères entre guillemets. Les caractères sont des caractères Unicode imprimables ou sont décrits par des séquences d'échappement. Voici quelques littéraux de chaîne -

"Hello,\nWorld!"
"This string contains a \" character."

Cordes multilignes

Un littéral de chaîne multiligne est une séquence de caractères entre guillemets triples "" "..." "". La séquence de caractères est arbitraire, sauf qu'elle peut contenir trois ou plusieurs guillemets consécutifs uniquement à la toute fin.

Les caractères ne doivent pas nécessairement être imprimables; les sauts de ligne ou autres caractères de contrôle sont également autorisés. Voici un littéral de chaîne multiligne -

"""the present string
spans three
lines."""

Valeurs nulles

La valeur nulle est de type scala.Nullet est donc compatible avec tous les types de référence. Il désigne une valeur de référence qui fait référence à un objet spécial "nul".

Séquences d'échappement

Les séquences d'échappement suivantes sont reconnues dans les littéraux de caractères et de chaînes.

Séquences d'échappement Unicode La description
\ b \ u0008 retour arrière BS
\ t \ u0009 onglet horizontal HT
\ n \ u000c formfeed FF
\F \ u000c formfeed FF
\ r \ u000d retour chariot CR
\ " \ u0022 double citation "
\ ' \ u0027 simple citation .
\\ \ u005c barre oblique inverse \

Un caractère avec Unicode entre 0 et 255 peut également être représenté par un échappement octal, c'est-à-dire une barre oblique inverse «\» suivie d'une séquence de trois caractères octaux maximum. Voici l'exemple pour montrer quelques caractères de séquence d'échappement -

Exemple

object Test {
   def main(args: Array[String]) {
      println("Hello\tWorld\n\n" );
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Production

Hello   World