Ejercicios con el operador condicional de Java ? :

Ejercicios básicos resueltos Java

El operador condicional de Java, también conocido como operador ternario (? :) permite tomar una decisión de una forma sencilla. Mediante el operador condicional podemos decidir entre dos valores según se cumpla o no una condición, utilizando una expresión compacta y fácil de leer.

El operador condicional en Java es similar a una instrucción if pero expresada en una sola línea. Es una herramienta muy útil especialmente cuando solo necesitamos elegir entre dos resultados posibles.

El operador condicional o ternario lo forman dos caracteres: ? y :

La sintaxis del operador condicional de Java es la siguiente:

condición ? valor1 : valor2;

Si la condición es cierta entonces se toma el valor1 y éste será el valor de la expresión condicional. Si la condición es falsa, se toma el valor2 y éste será el valor de la expresión condicional.

Por ejemplo:

int A = 3;
int B = (A < 0) ? 0 : 100;

En este ejemplo se trata de asignar a la variable B el valor 0 o el valor 100 dependiendo de que la condición A < 0 se cumpla o no.

Si la condición se cumple se asigna a B el valor 0. Si no se cumple se asigna a B el valor 100.

Como el valor de A es 3, la condición A < 0 no se cumple, por lo tanto a la variable B se le asigna el valor 100.

La instrucción anterior es equivalente a escribir la condición:

if(A < 0){
   B = 0;
}else{ 
   B = 100;
}

Practicar con el operador condicional de Java ayuda a desarrollar un pensamiento más lógico y a escribir programas más limpios, evitando estructuras if innecesarias. Los ejercicios que encontrarás a continuación te permitirán familiarizarte con su sintaxis y aprender a aplicarlo.

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 y podemos ver dónde está el error.

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'

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio