Types Flashcards

1
Q

El operador “is” es un operador que permite chequear … en tiempo de ejecucion

A

El tipo de un objeto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cuando el compilador por si solo cambie el tipo de un objeto por conveniencia se denomina…

A

smart cast
“x: Any
print(x.length)”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cuale es el operador que se denimina “unsafe” y como se corrige para evitar errores?

A

“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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Diferencia entre variable y objeto

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Que podemos hacer para saber el tipo de un objeto en tiempo de ejecucion(runtime)?

A

val c : Int = 5

println(c::class.simpleName) //Int

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Tipo del objeto al que apunta la variable:

val a = 1

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Tipo del objeto al que apunta la variable:

val b = 1L

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Tipo del objeto al que apunta la variable:

val c = 5000000000

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que representan los Integer y tipos de Integer?

A

Representan numeros enteros, sin decimales. Tanto positivos como negativos.
Byte(8bits) Short(16bits) Int(32bits) Long(64bits)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que representan los floating point y tipos?

A

Numeros con decimales tanto positivos como negativos.

Float(32bits con 6 decimales) Double(64 bits con 15 decimales)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Dime dos ejemplos de conversiones explicitas entre primitivos

A

val num: Int = 3
val num2 = num.toLong
val num3 = num.toDouble

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cuales son los primitivos en kotlin

A

numbers, boolean, characters, strings y arrays

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

De que tipo son las variables tras dichas operaciones:
val a = 5/2
val c = 5L/2
val d = 5/2L

A

a es 2 Int
c es 2 Long
d es 2 Long

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Piensa en un ejemplo con el operado “in”

A
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
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que se puede usar en caso de querer numeros que no tengan signo y como?

A

unsignes numbers como UInt y se designan siempre con una u ejemplo val c : UInt= 42u

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Que tipo primitivo se designa entre ‘’ (comillas simples)

A

los tipo char

17
Q

Que son los escaped characters, dime los mas utilizados

A
Caracteres que se escriben de  una manera distinta del simbolo que representan.
\n nueva linea
\t tabulador
\b retroceso
\' o \" comillas
18
Q

Como se denomina a los strings que contienen escaped charaters? (Piensa ejemplo)

A

Escaped strings

val s = “Hello world\n”

19
Q

Como se denominan los strings que son multilinea y que no pueden contener escaped characters?(Piensa ejemplo)
EXTRA: Cual es el metodo utilizado con estos strings para eliminar margenes

A

Raw strings
val s = “””
como patatas en el burger
porque soy un gordo”””

EXTRA: .trimMargin()

20
Q

Como se denominan los strings que tienen expresiones que se evaluan dentro del propio string? (Piensa ejemplo)

A

String templates
val age = 22
print(“David tiene $age años)

21
Q

Que dos metodos hay para crear arrays?

A

arrayof(1,2,3) //[1,2,3]

array(3){ind→ind*5} //[0,5,10]

22
Q

Verdadero o false: El tamaño de un array es variable

A

falso cuando lo creamos definimos un size y este no puede cambiar, pero los valores si ej: x[1] = 3

23
Q

Cual es el problema de los genericos cuando hacemos casts?

A

Los genericos no se pueden chequear en tiempo de ejecucion(runtime) porque borran el tipo de objeto que guardan
List pasa a List

24
Q

Se utiliza el mismo metodo para leer numeros o strings por pantalla?

A

No,
para los numeros reader = Scanner(System.in) reader.nextInt
para strings readline()

25
Q

Se utiliza el mismo metodo para leer numeros o strings por pantalla?

A

No,
para los numeros reader = Scanner(System.in) reader.nextInt
para strings readline()

26
Q

Son los strings similares a arrays?

A

Un char es un array de caracteres a los que podemos acceder de la siguiente manera: mensaje[i]