Estructuras condicionales en Java estructuras condicionales condicionales nos Las estructuras nos perm permit iten en ejecu ejecuta tarr una una serie serie de instrucciones si cumple una determinada condición que nosotros le indiquemos. Es importante recordar que la condición debe dar un resultado booleano, por lo que lo mas normal es usar operadores relacionales y condicionales.
Tenemos Tenemos varios tipos de estructuras condicionales: •
1 2
if: le indicamos una condición si esta es verdadera se ejecuta, sino no se ejecuta mple las las inst instru rucc ccio ione ness de dent dentro ro.. Se suel suelee trad traduc ucir ir como como “Si se cumpl esta condición haz esto”. Su sintaxis es:
if (condición){ instrucciones }
!or ejemplo: 1 public class PruebaApp { 2 public static void main(String[] main(String[] args) { " # int precio=3! $ if (precio"#){ % S$stem%out%println(&'l S$stem%out%println(&'l precio es & } ' } 1( 11 } 12
ma$or ue #&)!
)onde colocamos la condición, podemos colocar una variable booleana, ya que su valor puede ser true o *alse. •
if – else: es como el anterior solo que despu+s de cerrarse la llave de if , se aade else sin indicarle indicarle nin-una nin-una condición. Esto sirve sirve para que si la condición del if no es verdadera, verdadera, ejecute otras instrucciones instrucciones que estarn dentro de else. Se suele traducir como “Si se cumple esta condición haz esto y sino haz esto”.
/eamos un ejemplo: 1 2 " # $
public class PruebaApp { public static void main(String[] main(String[] args) { int precio=! if (precio"#){
% & ' 1( 11 12 1 } 1"
S$stem%out%println(&'l precio es ma$or ue #&)! }else{ S$stem%out%println(&'l precio es menor ue #&)! } }
En este caso, se ejecutara lo que 0ay en else ya que no cumple la condición. •
if -elseif : esta estructura es como una mecla de los anteriores, esto nos permite, que si no se cumple la condición podamos indicar otra condición para 0acerlo an mas especi*ico. Se suele traducir como “Si se cumple esta condición haz esto y sino si cumple esta condición haz esto”.
/eamos un ejemplo: 1 2 public class PruebaApp { public static void main(String[] args) { " # int precio=! $ % if (precio"#){ & S$stem%out%println(&'l precio es }else if(precio"*){ ' S$stem%out%println(&'l precio es 1( }else{ 11 S$stem%out%println(&'l precio es 12 } 1 } 1" } 1#
ma$or ue #&)! ma$or ue *&)! menor ue *&)!
El ejemplo anterior es equivalente al si-uiente, esto es lo que se conoce como if anidados, podemos anidar tantos como queramos: 1 public class PruebaApp { 2 public static void main(String[] args) { " int precio=! # $ if (precio"#){ % S$stem%out%println(&'l precio es ma$or ue }else { & if(precio"*){ ' S$stem%out%println(&'l precio es ma$or 1( }else{ 11 S$stem%out%println(&'l precio es menor 12 } } 1
#&)!
ue *&)! ue *&)!
1" 1# 1$ } 1% •
1 2 " # $ % & ' 1( 11 12 1
}
Sitch: esta estructura condicional de selección m!ltiple, le damos un valor 3puede ser una variable4 y una lista de casos y si cumple al-uno de los casos ejecuta las instrucciones asociadas a ella, en caso de que nin-una sea podemos indicarle que 0ace por de*ecto, normalmente se usa para indicar de un error con un mensaje. Su sintaxis es:
s+itc, (valor){ case caso# .nstrucciones brea/! case caso0 .nstrucciones brea/! case caso 1 .nstrucciones brea/! default .nstrucciones }
/eamos un ejemplo: 1 public class PruebaApp { 2 public static void main(String[] args) { " String dia=&2unes&! # $ s+itc, (dia){ % case &2unes&S$stem%out%println(&o$ es &4dia)! & brea/! ' case &5artes&1 S$stem%out%println(&o$ es &4dia)! ( brea/! 11 case &5iercoles&S$stem%out%println(&o$ es &4dia)! 1 brea/! 2 case &6ueves&1 S$stem%out%println(&o$ es &4dia)! brea/! case &7iernes&1 S$stem%out%println(&o$ es &4dia)! " brea/! 1 case &Sabado S$stem%out%println(&o$ es &4dia)! 1 brea/! case &8omingo&$ S$stem%out%println(&o$ es &4dia)! 1
% 1 & 1 ' 2 ( 2 1 2 2 2 2 " 2 # 2 $ 2 % 2 & 2 ' ( 1 2
brea/! defaultS$stem%out%println(&1o ,as introducido un dia
correcto&)! } } }
5omo vemos en el caso anterior, como los valores son Strin" debemos poner dobles comillas a los casos. En caso de que sean nmeros, se pondrn como tal, tambi+n podr6amos usar constantes. 7na cosa ms, si 0aya varios casos que tienen ejecuta las mismas instrucciones, podemos a-ruparlas. /eamos un ejemplo: 1 2 " # $ % & '
import 9ava:%s+ing%6;ptionPane! public class PruebaApp { public static void main(String[] args) { String dia=6;ptionPane%s,o+.nput8ialog(&.ntroduce un dia de la semana&)!
s+itc,(dia){ case &lunes&case &martes&-
1 ( 11 1 2 1 1 " 1 # 1 $ 1 % 1 & 1 ' } 2 ( 2 1 2 2 2
case &miercoles&case &9ueves&case &viernes&S$stem%out%println(&'s un dia laboral&)! brea/! case &sabado&case &domingo&S$stem%out%println(&'s un dia festivo&)! defaultS$stem%out%println(&.ntroduce un dia de la semana&)! } }