Type de données Scala et conversion de son type

type de données

Octet 、 Court 、 Int 、 Long 、 Char 、 Chaîne 、 Flottant 、 Double 、 Booléen

Remarque: la différence entre le type de données Scala et Java

  1. Tous les types de scala commencent par des majuscules
  2. La mise en forme utilise Int au lieu d'Integer
  3. Les variables définies dans scala n'ont pas besoin d'écrire le type, laissez le compilateur scala déduire automatiquement
  4. L'entier par défaut dans scala est Int, et la virgule flottante par défaut est Double

Structure hiérarchique des types de données Scala:
Insérez la description de l'image ici
Parmi eux:
Any: la classe parente de tous les types, elle a deux sous-classes AnyRef et AnyVal
AnyVal: la classe parente de tous les types numériques
AnyRef: la classe parente de tous les types d'objets (types de référence)
Unité: représente vide, Unit est une sous-classe d'AnyVal, similaire à void en Java, mais scala souhaite que Java soit davantage orienté objet.
Null: Null est une sous-classe d'AnyRef, ce qui signifie qu'il s'agit d'une sous-classe de tous les types de référence. Vous pouvez affecter null à n'importe quelle référence. Type d'objet
Remarque: tous les types de sous-classes ne peuvent pas créer directement des instances de ce type. Lorsqu'une méthode lève une exception, le type de retour est Nothinge, car Nothing est une sous-classe de toutes les classes, elle peut donc être affectée à n'importe quelle taper

Conversion de type

Conversion de type automatique

Concept: une valeur de type de données avec une petite plage sera automatiquement convertie en une valeur de type de données avec une grande
plage. Plage de types de données: byte -> Short -> Char -> Int -> long -> Float -> Double

Exemple:

val a:Int = 3
val b:Double = 3 + 2.21  //因为是int类型和 double:类型的值进行计算,所以最终结果为: Double类型
val c:Byte = a + 1 //这样写会报错,因为最终计算结果是Int类型的数据,将其值Byte类型肯定不行

Conversion de type forcée

Concept: une valeur de type de données avec une grande plage sera forcée à une valeur de type de données avec une petite plage.
Remarque: l'utilisation de la conversion de type coercitive peut entraîner un manque de précision.
Format:

val/var 变量名:数据类型 = 具体的值.toXxx //Xxx表示你要转换的数据类型

Exemple:

val a:Double = 5.21
val b:Int = a.toInt

Conversion entre les types de valeur et les types de chaîne

  1. Les données de type valeur sont converties en type chaîne
格式一:
val/var 变量名:String = 值类型数据 + ""
格式二:
val/var 变量名:String = 值类型数据.toString
  1. Les données de type chaîne sont converties en leur type de valeur correspondant
格式:val/var 变量名:值类型 = 字符串值.toXxx   //Xxx表示你要转换到的数据类型

Noter:

  • Les données de type chaîne sont converties en données de type Char, la manière est un peu spéciale, de ne pas appeler toChar, mais toCharArray

Je suppose que tu aimes

Origine blog.csdn.net/zh2475855601/article/details/113802506
conseillé
Classement