Tipo de datos de Scala y su conversión de tipo

tipo de datos

Byte 、 Corto 、 Int 、 Largo 、 Carácter 、 Cadena 、 Flotante 、 Doble 、 Booleano

Nota: la diferencia entre el tipo de datos Scala y Java

  1. Todos los tipos en scala comienzan con letras mayúsculas
  2. Dar forma usa Int en lugar de Integer
  3. Las variables definidas en scala no necesitan escribir el tipo, deje que el compilador de scala infiera automáticamente
  4. El número entero predeterminado en scala es Int, y el punto flotante predeterminado es Double

Estructura jerárquica de los tipos de datos de Scala:
Inserte la descripción de la imagen aquí
Entre ellos:
Any: la clase padre de todos los tipos, tiene dos subclases AnyRef y AnyVal
AnyVal: la clase padre de todos los tipos numéricos
AnyRef: la clase padre de todos los tipos de objetos (tipos de referencia)
Unidad: representa vacío, Unit es una subclase de AnyVal, similar a void en Java, pero scala quiere que Java esté más orientado a objetos.
Null: Null es una subclase de AnyRef, lo que significa que es una subclase de todos los tipos de referencia. Puede asignar nulo a cualquier referencia. Tipo de objeto
Nota: todos los tipos de subclases no pueden crear directamente instancias de este tipo. Cuando un método arroja una excepción, el tipo de retorno es Nothinge, porque Nothing es una subclase de todas las clases, por lo que se puede asignar a cualquier tipo

Conversión de tipo

Conversión automática de tipos

Concepto: Un valor de tipo de datos con un rango pequeño se convertirá automáticamente en un valor de tipo de datos con un
rango grande . Rango de tipo de datos: byte -> Corto -> Char -> Int -> largo -> Float -> Double

Ejemplo:

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

Conversión de tipo forzada

Concepto: Un valor de tipo de datos con un rango grande será coaccionado a un valor de tipo de datos con un rango pequeño.
Nota: El uso de conversión de tipo coercitivo puede causar una falta de precisión.
Formato:

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

Ejemplo:

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

Conversión entre tipos de valor y tipos de cadena

  1. Los datos de tipo de valor se convierten en tipo de cadena
格式一:
val/var 变量名:String = 值类型数据 + ""
格式二:
val/var 变量名:String = 值类型数据.toString
  1. Los datos del tipo de cadena se convierten a su tipo de valor correspondiente
格式:val/var 变量名:值类型 = 字符串值.toXxx   //Xxx表示你要转换到的数据类型

Nota:

  • Los datos de tipo cadena se convierten en datos de tipo Char, la forma es un poco especial, no para llamar a toChar, sino a toCharArray

Supongo que te gusta

Origin blog.csdn.net/zh2475855601/article/details/113802506
Recomendado
Clasificación