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;   

Puedes encontrar más ejercicios para seguir practicando en este libro.


Contiene ejercicios resueltos sobre los conceptos básicos del lenguaje java: Declaración de variables, literales, tipos de datos, operadores, crear expresiones algebraicas correctas, etc.

Las soluciones de los ejercicios incluyen una explicación detallada sobre cómo se ha resuelto.

El contenido del libro es una recopilación de ejercicios realizados en mis clases de Programación en los ciclos formativos de grado superior Desarrollo de aplicaciones web y Desarrollo de aplicaciones multiplataforma.
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

6 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
  2. en el ejercicio 2.j el resultado no sería 0 en vez de 5?

    ResponderEliminar
    Respuestas
    1. (i != 0 || j == 1 && k == 2) // La operación lógica no se cumple.
      (1 != 0 || 1 == 1 && k == 2)
      ( T || T && F )
      ( T && F )
      ( F )// La condición no se cumple, así que se lleva a cabo la segunda sentencia que es 5.
      if ( condicion ) { sentencia1 } else { sentencia2 }
      x = (i != 0 || j == 1 && k == 2) ? 0 : 5 ;
      x=5

      Eliminar
    2. x=0 por el orden de precedencia de los operadores. Primero resuelve el and y luego el or

      Eliminar
  3. si deberia ser 0 creo que hay un error en la solucion

    ResponderEliminar