Répertoire d'articles
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
- Tous les types de scala commencent par des majuscules
- La mise en forme utilise Int au lieu d'Integer
- Les variables définies dans scala n'ont pas besoin d'écrire le type, laissez le compilateur scala déduire automatiquement
- 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:
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
- Les données de type valeur sont converties en type chaîne
格式一:
val/var 变量名:String = 值类型数据 + ""
格式二:
val/var 变量名:String = 值类型数据.toString
- 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