Types Flashcards
El operador “is” es un operador que permite chequear … en tiempo de ejecucion
El tipo de un objeto
Cuando el compilador por si solo cambie el tipo de un objeto por conveniencia se denomina…
smart cast
“x: Any
print(x.length)”
Cuale es el operador que se denimina “unsafe” y como se corrige para evitar errores?
“as” (y as String) operator
Se corrige añadiendo “?” (val x: String? = y as String?)
El mejor caso para evitar excpeciones es “as?” (val x: String? = y as? String)
Diferencia entre variable y objeto
Las variables hacen referencia a objetos guardados en la memoria con un valor especifico.
val mensaje : String = Hello world
La variable mensaje hace referencia a un objeto de tipo String alocado en la memoria cuyo valor es hello world
¿Que podemos hacer para saber el tipo de un objeto en tiempo de ejecucion(runtime)?
val c : Int = 5
println(c::class.simpleName) //Int
Tipo del objeto al que apunta la variable:
val a = 1
Int. Siempre que no se especifique el tipo el compilador lo infiere a long o int depende del rango en el que este el valor. En este caso int pq valor entre -2^32(2000Maprox) y 2^32-1
Tipo del objeto al que apunta la variable:
val b = 1L
Long. Siempre que no se especifique el tipo el compilador lo infiere a long o int depende del rango en el que este el valor. En este caso long porque tiene L
Tipo del objeto al que apunta la variable:
val c = 5000000000
Long. Siempre que no se especifique el tipo el compilador lo infiere a long o int depende del rango en el que este el valor. En este caso Long pq esta por encima del rango de int 2000M
Que representan los Integer y tipos de Integer?
Representan numeros enteros, sin decimales. Tanto positivos como negativos.
Byte(8bits) Short(16bits) Int(32bits) Long(64bits)
Que representan los floating point y tipos?
Numeros con decimales tanto positivos como negativos.
Float(32bits con 6 decimales) Double(64 bits con 15 decimales)
Dime dos ejemplos de conversiones explicitas entre primitivos
val num: Int = 3
val num2 = num.toLong
val num3 = num.toDouble
Cuales son los primitivos en kotlin
numbers, boolean, characters, strings y arrays
De que tipo son las variables tras dichas operaciones:
val a = 5/2
val c = 5L/2
val d = 5/2L
a es 2 Int
c es 2 Long
d es 2 Long
Piensa en un ejemplo con el operado “in”
val x = 10 val a = 5 val b = 7 if (x !in a..b){ println(x) // 10 } for(y in a..b){ println(y) // 5 6 7 }
Que se puede usar en caso de querer numeros que no tengan signo y como?
unsignes numbers como UInt y se designan siempre con una u ejemplo val c : UInt= 42u