Control Flow Flashcards

1
Q
Esta bien este bloque?
val age = 21
//Opcion con else: Si es no es mayor de edad asigna enano
val mensaje = if(age > 18) "Mayor de edad"
A

Es erroneo ya que si igualamos un if a una variable debe tener tb un else para que siempre tome un valor.

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

Que pasa si igualamos una variable a un bloque if?

A

esta variable tomara el valor de aquello que ocurra en la ultima linea de dicho bloque

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

Es obligatorio usar else en un when?

A

No es necesario, solo se se usa else si no se han cubierto todas las opciones posibles. Esto puede cumplirse usando sealed classes y enums

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

Diferencia entre usar un when(x) con parametro a sin parametro, when?

A

Cuando lo usamos sin parametro se evaluan las expresiones como booleanas y la que lo cumpla se ejecuta mientras que si le pasamos un argumento se aplican condiciones sobre este.

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

Que ocurre en un when si existen varias condiciones que se cumplen?

when(x){
in 10..20 -> print(“Entre 2 y 7 incluidos”)
!in 3..8 -> print (“Entre 3 y 8 incluidos”)
else -> print(“no interesa”)

A

ej x=11 y solo se ejecuta la primera linea pq es la que primero se cumple

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

La expresion for a que se asemeja en otros lenguajes de programacion?(piensa ejemplo)

A

A foreach. for(dedos in mano) print(dedos)

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

Como imprimirias esta lista 30, 27, 24, 21 con un for?

A

for(i in 30 downTo 21 step 3) print(i)

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

Como imprimirias esta lista 24 29 34 29 con un for?

A

for(i in 24..30 step 5) print(i)

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

Como podrias imprimir con un for los indices y valores de un array?

A

Usando la funcion .withIndex() : for((index,value) in array.withIndex) print(“$index , $value”)

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

Cuales son los dos tipos de while loops y sus diferencias?

A

While y do While. El while chequea condicion y ejecuta mientra que do while primero ejecuta y luego chequea condicion. Esto quiere decir que el do while siempre va a ejecutar el bloque minimo una vez mientra que while no.

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

Que imprime este codigo?

loop@ for(i in 1..10){
		for(j in 1..10){
				if(i+j==8) break@loop
				print(j)  
		}
}
A

1 ,2 ,3 ,4, 5, 6

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

Que imprime este codigo?

loop@ for(i in 1..3){
		for(j in 1..3){
				if(i+j==2 || i+j==3) continue@loop
				print(i) 
				print(j)
		}
}
A

la i 3,3,3 y la j 1,2,3

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

Que problemas pueden surgir con las etiquetas return?

A

Si solo ponemos return devuelve a la variable/funcion que ha llamado a esa funcion

Si ponemos una label debemos poner @label en nombre de funcion y return@label

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

Para que sirven las excepciones y como es la manera mas facil de evitarlas?

A

Sirven para detectar errores que ocurren en algunas clases en concreto y se evitan de manera facil haciendo que esta herede de throws

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

Pon un ejemplo donde se usa el tipo Nothing?

A

Cuando asignamos null a una variable esta no es capaz de ser inferida por el compilador y se supone de tipo Nothing?

val x = null //Nothing?

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