Ejercicios con el operador condicional Java ? :

Ejercicios básicos Java para practicar el operador condicional ? :
Ejercicio 1: Un programa contiene las siguientes declaraciones y asignaciones iniciales de variables:
int i = 8, j = 5, k;
float x = 0.005F, y = -0.01F, z;
char a, b = 'p', c = 'q';
Determina el valor de cada una de las siguientes expresiones:

a) k = (j == 5) ? i : j;
b) k = (j > 5) ? i : j;
c) z = (x >= 0) ? x : 0;
d) z = (y >= 0) ? y : 0;
e) a = (b < c) ? b : c;
f) k = (j > 0) ? j : 0;
g) k = (i > 0 && j > 0) ? 0 : 1;
h) k = (y > 0 || x > 0) ? i+1 : i-1;
i) a = (b < 'c') ? b : c;
j) a = (b >= c) ? b : 'r';
Ejercicio 2: Un programa contiene las siguientes declaraciones y asignaciones iniciales de variables:
int i = 1, j = 1, k = 1, x;
Determina el valor que toma la variable x al ejecutarse cada una de las siguientes expresiones. Las instrucciones son independientes unas de otras, es decir, el valor inicial para las variables i, j, k en cada instrucción es i = 1, j = 1, k = 1.
a) x = (j >= 0 && k > 1) ? ++j : k+1;
b) x = (j > 1 || k >= 1) ? j+3 : k+1;
c) x = (j >= 1 && i <= 1) ? 10 : 20;
d) x = (i + j  > 2 || k < 1) ? 2 : 4;
e) x = (3 / 2  > i) ? j+5 : k;
f) x = (3 % 2  > i) ? j++ : ++k;
g) x = (i + 10 <= j + 10 || k == 0) ? -1 : -2;
h) x = (i == 0 || j == 1 || k == 2) ? 0 : 5;
i) x = (i == 0 || j == 1 && k == 2) ? 0 : 5;
j) x = (i != 0 || j == 1 && k == 2) ? 0 : 5;
Soluciones:
En las soluciones de los ejercicios sólo se muestra el resultado final. Si cuando los resuelvas no coincide con tu resultado deja un comentario que contenga tu solución y podemos ver dónde está el error.
Solución ejercicio 1:
a) k = 8
b) k = 5
c) z = 0.005
d) z = 0
e) a = 'p'
f) k = 5
g) k = 0
h) k = 9
i) a = 'q'
j) a = 'r'

Solución ejercicio 2:
a) x = 2
b) x = 4
c) x = 10
d) x = 4
e) x = 1
f) x = 2
g) x = -1
h) x = 0
i) x = 5
j) x = 0


2 comentarios:

  1. como resultado 255 :( xD ayuda porfavor
    int i=5, j=8;
    int k=0;
    float x=0.005f, y=0.01f,z=0;
    char a,b='p', c='q';
    System.out.println(a+(b<'c'? b:c));

    ResponderEliminar
    Respuestas
    1. En esta operación a+(b<'c'? b:c)) la variable a no tiene un valor asignado.

      Eliminar