Вы находитесь на странице: 1из 5

Programación en Java / Sentencia if-else 1

Programación en Java /Sentencia if-else


Queremos realizar una división de enteros. Es fácil, ya sabemos como hacerlo, utilizando variables y operadores.
Pero nos queda un mal recuerdo con la división por cero. Podemos establecer una condición que permita la división
para todos los números y que rechace cualquier divisor con cara de cero. Disponemos de dos opciones : realizar o no
la división. También una condición: el divisor sea distinto de cero. Esto se parece mucho a una selección simple.
La estructura de selección simple en Java se realiza mediante la sentencia if (si, en ingles). La sintaxis es la siguiente
:

if (condición) sentencia;

La condición es una expresión booleana. La sentencia se ejecuta solamente si la expresión booleana es verdadera.
Retomando el problema de la división, incorporamos una estructura de selección para realizar la operación libre de
ceros.

public class DivisionSegura {


public static void main(String args[]){
int x = 12;
int y = 0;
int z = 0;
if( y !=0 ) z = x / y;
System.out.println("El resultado es : " + z);
}
}

En el programa, la variable x tiene el valor del dividendo, la y el divisor y la z el cociente. La condición es una
expresión que arroja un valor booleano. En este caso se utiliza un operador relacional que verifica si y es distinto de
0. Si esta condición se cumple realiza la división. En caso contrario se saltea la división y solo imprime el valor de z,
que hemos inicializado convenientemente antes de la operación.
¿Qué ocurre si la condición no se cumple? En este caso nada. Podemos agregar una serie de instrucciones que se
ejecutarán solo si la condición no se cumple. Para esto tendremos que agregar la sentencia else. La estructura de
selección quedará así:

if (condición) sentencia 1;
else sentencia 2;

Si la condición es verdadera se ejecuta la sentencia 1 en caso contrario se ejecuta la sentencia 2. Ambas sentencias
nunca se ejecutarán al mismo tiempo, son excluyentes.
Ahora ampliemos el programa para mostrar una advertencia en el caso que se encuentre cara a cara con un cero
siniestro.

public class DivisionSegura {


public static void main(String args[]){
int x = 12;
int y = 0;
int z = 0;
if( y !=0 ) z = x / y;
else System.out.println("Atención! se pretende dividir por
0");
Programación en Java / Sentencia if-else 2

System.out.println("El resultado es : " + z);


}
}

El programa nos quedó mas completo. Con la cláusula else incluimos otra alternativa de acción. Pero algo anda
suelto. Este programa siempre muestra un resultado, se cumpla o no la condición. El mensaje por pantalla no está
incluido en la estructura de selección. Tendremos que colocarlo dentro del sector de sentencias que se ejecutarán
cuando la condición sea verdadera. Para agrupar las sentencias se utilizan las llaves ( { } ) Indicarán el inicio y el fin
de un bloque de sentencias.
Probemos como queda con un bloque

public class DivisionSegura {


public static void main(String args[]){
int x = 12;
int y = 2;
int z = 0;
if( y !=0 ) {
z = x / y;
System.out.println("El resultado es : " + z);
} else {
System.out.println("Atención! se pretende dividir por
0");
}
}
}

Las buenas prácticas en defensa de un código mantenible han dictaminado que utilicemos las llaves en todo
momento, aún en el caso que utilicemos una sola sentencia.

if (condición) {
sentencia;
} else {
sentencia;
}

Lamentablemente no siempre nos encontraremos con condiciones tan sencillas. Muchas veces tendremos que
recurrir a proposiciones compuestas para formar una condición. Para ello podemos recurrir a operadores relacionales
o lógicos. Recuerden que siempre debe dar como resultado un valor booleano.
Supongamos que deseamos saber si un año es bisiesto. Sabemos que debe ser múltiplo de 4. Para esto tendremos que
verificar si el módulo es igual a cero.

año % 4 == 0

Pero no debe ser múltiplo de 100.

( año % 4 == 0 ) && ( año % 100 != 0 )

A menos que sea múltiplo de 400.

((( año % 4 == 0 ) && ( año % 100 != 0 )) || ( año % 400 == 0 ))


Programación en Java / Sentencia if-else 3

Formamos una proposición compuesta con conectores lógicos. Ahora vamos a incorporarlo en una estructura se
selección.

if ((( año % 4 == 0 ) && ( año % 100 != 0 )) || ( año % 400 ==


0 )) {
System.out.println("Es bisiesto");
} else {
System.out.println("No es bisiesto");
}

Los conectores lógicos nos permiten simplificar la estructura. Sin ellos nos veríamos en la necesidad de anidar las
sentencias. Veamos que ocurre si en elejemplo anterior descartamos el AND y el OR.

if ( x % 4 == 0 ) {
if ( x % 100 == 0 ) {
if ( x % 400 == 0 ) {
System.out.println("Es bisiesto");
} else {
System.out.println("No es bisiesto");
}
} else {
System.out.println("Es bisiesto");
}
} else {
System.out.println("No es bisiesto");
}

Parece complicado, pero nos demuestra muchas cosas. En primer lugar observamos que se pueden anidar las
sentencias if-else. Cada resultado de una condición puede caer en una nueva comprobación para formar una
estructura compleja de selección.
También vemos que hay cierta relación entre conectores lógicos y la estructura.

Conjunción

if (condición1 && condición2){ if ( condición1 ) {


sentecia1; if ( condición2 ) {
} else { sentencia1;
sentencia2; } else {
} sentencia2;
}
} else {
sentencia2;
}

Disyunción

if ( condición1 || condición2 ) { if ( condición1 ){


sentencia1; sentencia1;
} else { } else {
sentencia2; if ( condición2 ) {
} sentencia1;
} else {
sentencia2;
}
}
Programación en Java / Sentencia if-else 4

Negación

if ( ! condición1) { if ( condición1) {
sentencia1; sentencia2;
} else { } else {
sentencia2; sentencia1;
} }
Fuentes y contribuyentes del artículo 5

Fuentes y contribuyentes del artículo


Programación en Java / Sentencia if- else  Fuente: http://es.wikibooks.org/w/index.php?oldid=130513  Contribuyentes: Dferg, Pirenne, 1 ediciones anónimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/

Вам также может понравиться

  • Diagrama UML, Ingeniería A La Inversa
    Diagrama UML, Ingeniería A La Inversa
    Документ4 страницы
    Diagrama UML, Ingeniería A La Inversa
    api-16774418
    Оценок пока нет
  • Apuntesjava
    Apuntesjava
    Документ9 страниц
    Apuntesjava
    api-16774418
    Оценок пока нет
  • Modificadoresdeacceso
    Modificadoresdeacceso
    Документ20 страниц
    Modificadoresdeacceso
    api-16774418
    Оценок пока нет
  • Preguntasbásicasdejava 3
    Preguntasbásicasdejava 3
    Документ1 страница
    Preguntasbásicasdejava 3
    api-16774418
    Оценок пока нет
  • 16 Herencia
    16 Herencia
    Документ9 страниц
    16 Herencia
    Hector Manuel Zrt Prz
    Оценок пока нет
  • Preguntasbásicasdejava 2
    Preguntasbásicasdejava 2
    Документ1 страница
    Preguntasbásicasdejava 2
    api-16774418
    Оценок пока нет
  • E Jer Arreglos
    E Jer Arreglos
    Документ4 страницы
    E Jer Arreglos
    Karen Collado
    Оценок пока нет
  • Ejerciciosresueltosdelcapitulodeherencia
    Ejerciciosresueltosdelcapitulodeherencia
    Документ4 страницы
    Ejerciciosresueltosdelcapitulodeherencia
    Maya Shanty
    Оценок пока нет
  • Programasarreglos 2
    Programasarreglos 2
    Документ2 страницы
    Programasarreglos 2
    api-16774418
    Оценок пока нет
  • Modificadoresdeacceso
    Modificadoresdeacceso
    Документ20 страниц
    Modificadoresdeacceso
    api-16774418
    Оценок пока нет
  • Javaaldetalle 1
    Javaaldetalle 1
    Документ4 страницы
    Javaaldetalle 1
    api-16774418
    Оценок пока нет
  • Javaaldetalle 2
    Javaaldetalle 2
    Документ7 страниц
    Javaaldetalle 2
    api-16774418
    Оценок пока нет
  • Do While
    Do While
    Документ3 страницы
    Do While
    api-16774418
    Оценок пока нет
  • Ciclofor
    Ciclofor
    Документ3 страницы
    Ciclofor
    api-16774418
    Оценок пока нет
  • Ejemposwitch
    Ejemposwitch
    Документ5 страниц
    Ejemposwitch
    api-16774418
    Оценок пока нет
  • Ejemposwitch
    Ejemposwitch
    Документ5 страниц
    Ejemposwitch
    api-16774418
    Оценок пока нет
  • Import Import Public Class: @author
    Import Import Public Class: @author
    Документ1 страница
    Import Import Public Class: @author
    api-16774418
    Оценок пока нет
  • While
    While
    Документ3 страницы
    While
    api-16774418
    Оценок пока нет
  • Preguntas Básicas de Java
    Preguntas Básicas de Java
    Документ1 страница
    Preguntas Básicas de Java
    api-16774418
    Оценок пока нет
  • Precedencia de Los Ope Rad Ores en Java
    Precedencia de Los Ope Rad Ores en Java
    Документ1 страница
    Precedencia de Los Ope Rad Ores en Java
    api-16774418
    Оценок пока нет
  • Opera Do Re Sen Java
    Opera Do Re Sen Java
    Документ8 страниц
    Opera Do Re Sen Java
    api-16774418
    Оценок пока нет
  • Public Class OperaLogico
    Public Class OperaLogico
    Документ2 страницы
    Public Class OperaLogico
    api-16774418
    Оценок пока нет
  • Clase 2
    Clase 2
    Документ47 страниц
    Clase 2
    api-16774418
    Оценок пока нет
  • Java 402
    Java 402
    Документ1 страница
    Java 402
    api-16774418
    Оценок пока нет
  • Tipos de Datos en Java
    Tipos de Datos en Java
    Документ12 страниц
    Tipos de Datos en Java
    Jhonman
    Оценок пока нет
  • Los Objetos en Java
    Los Objetos en Java
    Документ6 страниц
    Los Objetos en Java
    api-16774418
    Оценок пока нет
  • Java 401
    Java 401
    Документ1 страница
    Java 401
    api-16774418
    Оценок пока нет
  • Practica 1
    Practica 1
    Документ1 страница
    Practica 1
    api-16774418
    Оценок пока нет
  • c03b ConceptosOOJava
    c03b ConceptosOOJava
    Документ34 страницы
    c03b ConceptosOOJava
    api-16774418
    Оценок пока нет
  • Escucha Activa
    Escucha Activa
    Документ2 страницы
    Escucha Activa
    Andreina Cevallos
    Оценок пока нет
  • Tabla de Drivers PDF
    Tabla de Drivers PDF
    Документ1 страница
    Tabla de Drivers PDF
    campost
    Оценок пока нет
  • 3 PA Primaria
    3 PA Primaria
    Документ7 страниц
    3 PA Primaria
    Sonia Matta Berrocal
    Оценок пока нет
  • Editar Un Texto
    Editar Un Texto
    Документ2 страницы
    Editar Un Texto
    Maria Tenorio
    Оценок пока нет
  • Pronombres Personales y Presente Del Modo Indicativo
    Pronombres Personales y Presente Del Modo Indicativo
    Документ7 страниц
    Pronombres Personales y Presente Del Modo Indicativo
    Maximo Nicolas Rodriguez
    Оценок пока нет
  • Mnemo Tec Nia
    Mnemo Tec Nia
    Документ22 страницы
    Mnemo Tec Nia
    Jhomira Lisbeth Ayala Castillo
    Оценок пока нет
  • Ralph Johnson
    Ralph Johnson
    Документ5 страниц
    Ralph Johnson
    Anfell7
    Оценок пока нет
  • Fichas 2.D
    Fichas 2.D
    Документ25 страниц
    Fichas 2.D
    Martin Exiga Andrade
    Оценок пока нет
  • La Hermenéutica
    La Hermenéutica
    Документ3 страницы
    La Hermenéutica
    Aleks Yañez
    Оценок пока нет
  • Habilidades cognitivas y sus definiciones
    Habilidades cognitivas y sus definiciones
    Документ3 страницы
    Habilidades cognitivas y sus definiciones
    Leslie Moll
    Оценок пока нет
  • Algoritmos
    Algoritmos
    Документ10 страниц
    Algoritmos
    Alberto Medina Villacorta
    Оценок пока нет
  • La Antropología en Su Lugar-Gloria Artís-Coord PDF
    La Antropología en Su Lugar-Gloria Artís-Coord PDF
    Документ134 страницы
    La Antropología en Su Lugar-Gloria Artís-Coord PDF
    Miguel Kike CHipana
    Оценок пока нет
  • Después de Investigar Todo Lo Concerniente A La Oración Realiza Las Siguientes Actividades
    Después de Investigar Todo Lo Concerniente A La Oración Realiza Las Siguientes Actividades
    Документ2 страницы
    Después de Investigar Todo Lo Concerniente A La Oración Realiza Las Siguientes Actividades
    Yenifer Ramirez Otaño
    Оценок пока нет
  • Guía de Razonamiento Verbal 2
    Guía de Razonamiento Verbal 2
    Документ4 страницы
    Guía de Razonamiento Verbal 2
    Ale Jara
    Оценок пока нет
  • Resumen de APT
    Resumen de APT
    Документ6 страниц
    Resumen de APT
    daniel
    Оценок пока нет
  • El Aporte de Frege A La Creación de La Nueva Lógica (Monografía)
    El Aporte de Frege A La Creación de La Nueva Lógica (Monografía)
    Документ18 страниц
    El Aporte de Frege A La Creación de La Nueva Lógica (Monografía)
    Marlon Tello
    Оценок пока нет
  • Teoria Practica Puntuación
    Teoria Practica Puntuación
    Документ7 страниц
    Teoria Practica Puntuación
    Hector Yaker
    Оценок пока нет
  • Ejercicios de Permutaciones
    Ejercicios de Permutaciones
    Документ4 страницы
    Ejercicios de Permutaciones
    ANGELICA DURAN
    Оценок пока нет
  • Glosario English
    Glosario English
    Документ7 страниц
    Glosario English
    Xiomara Jorquera Inostroza
    Оценок пока нет
  • Historiador del Norte Mexicano
    Historiador del Norte Mexicano
    Документ18 страниц
    Historiador del Norte Mexicano
    macabro_41
    Оценок пока нет
  • Plan Lector 4 Grado
    Plan Lector 4 Grado
    Документ4 страницы
    Plan Lector 4 Grado
    Joheline Isabel Ramírez Huamán
    Оценок пока нет
  • Grafcet
    Grafcet
    Документ7 страниц
    Grafcet
    Emilio Jose Checa Bernat
    Оценок пока нет
  • Calcos
    Calcos
    Документ19 страниц
    Calcos
    Nelly Paniagua
    Оценок пока нет
  • Evaluacion Arte y Cultura Rolando
    Evaluacion Arte y Cultura Rolando
    Документ4 страницы
    Evaluacion Arte y Cultura Rolando
    Manuel HC
    100% (1)
  • Le SSM Dom Sem13
    Le SSM Dom Sem13
    Документ4 страницы
    Le SSM Dom Sem13
    tmqw hcf
    Оценок пока нет
  • Paula Tiria Logica Matematica Taller
    Paula Tiria Logica Matematica Taller
    Документ6 страниц
    Paula Tiria Logica Matematica Taller
    Paula Xiomara Tiria
    Оценок пока нет
  • Documento de Estandares de Diseño
    Documento de Estandares de Diseño
    Документ20 страниц
    Documento de Estandares de Diseño
    Orithia Potter
    Оценок пока нет
  • COMUNICACIÓN 1 Evaluación Diagnóstica
    COMUNICACIÓN 1 Evaluación Diagnóstica
    Документ5 страниц
    COMUNICACIÓN 1 Evaluación Diagnóstica
    Amanda Luna Ancco
    Оценок пока нет
  • Cuestionario Historia 8 Año Básico Unidad II Lección 2
    Cuestionario Historia 8 Año Básico Unidad II Lección 2
    Документ2 страницы
    Cuestionario Historia 8 Año Básico Unidad II Lección 2
    patricia cornejo garcia
    100% (1)
  • S2 Ai3 Word
    S2 Ai3 Word
    Документ2 страницы
    S2 Ai3 Word
    Iori Yagami
    33% (3)