Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SELECCIÓN
Sintaxis:
if (condición)
{
Instrucciones;
}
La condición debe ser una expresión lógica que después de la evaluación será verdadera o
falsa. if acepta valores booleanos: si el valor es verdadero o el resultado de la evaluación de la
expresión (condición) es verdadero, se ejecutará el bloque de instrucciones debajo de él.
NOTA: Si no proporcionamos las llaves ‘{‘ y ‘}’ después del if (condición), entonces de forma
predeterminada se considera como bloque de instrucciones a la instrucción inmediata.
Ejemplo:
if (condicion)
instrucción1;
instrucción2;
En el ejemplo se considera que solo la instrucción1 forma el bloque de instrucciones del if y solo
se ejecutará cuando la condición sea verdadera.
if (condición)
{
// Ejecuta este bloque si la condición es verdadera
}
else
{
// Ejecuta este bloque si la condición es falsa
}
Ejemplo:
class Ejemplo
{
public static void main(String args[])
{
int i = 20;
if (i < 15)
System.out.println("Soy menor que 15");
else
System.out.println("Soy mayor de 15");
}
}
Salida:
Soy mayor de 15
if (condicion1)
{
// Este bloque se ejecuta cuando condicion1 es verdadero
if (condition2)
{
// Este bloque se jecuta cuando condicion2 es verdadero
}
}
En este ejemplo tenemos una sentencia if con su bloque de instrucciones donde el bloque
corresponde a otra instrucción if con su bloque.
Ejemplo2:
class Ejemplo2
{
public static void main(String args[])
{
int i = 5;
if (i == 5)
{
if (i < 15)
System.out.println("soy menor que 15");
if (i < 12)
System.out.println("yo también soy menor que 12");
else
System.out.println("soy mayor que 12");
}
}
}
Salida:
import java.util.*;
class Ejemplo3
{
public static void main (String[] args)
{
int n;
Scanner T=new Scanner(System.in);
System.out.println("INGRESE UN NUMERO");
n=T.nextInt();
if(n>0)
System.out.println("EL NUMERO "+n+" ES MAYOR QUE CERO");
else
if(n<0)
System.out.println("EL NUMERO "+n+" ES MENOR QUE CERO");
else
System.out.println("EL NUMERO "+n+" ES IGUAL A CERO");
}
}
Salida
INGRESE UN NUMERO
8
EL NUMERO 8 ES MAYOR QUE CERO
switch-case
La instrucción switch es una declaración de bifurcación de múltiples vías (selección múltiple).
Proporciona una forma sencilla de enviar la ejecución a diferentes partes del código en función
del valor de la expresión.
Sintaxis:
switch (expresión)
{
case valor1:
bloque1;
break;
case value2:
bloque2;
break;
.
.
case valorN:
bloqueN;
break;
default:
bloqueDefault;
}
La expresión puede ser de tipo byte, short, int, char o una enumeración. A partir de
JDK7, la expresión también puede ser de tipo String.
Los valores duplicados de case no están permitidos.
La declaración predeterminada es opcional.
La declaración de interrupción se usa dentro del switch para finalizar una secuencia de
instrucción.
La declaración es opcional. Si se omite, la ejecución continuará en el siguiente case.
Ejemplo:
class SwitchCaseDemo
{
public static void main(String args[])
{
int i = 2;
switch (i)
{
case 0:
System.out.println("i es cero."); break;
break;
case 1: System.out.println("i es uno.");
break;
case 2:
System.out.println("i es dos.");
break;
default: System.out.println(“i es mayor que 2.”);
}
}
}
Salida:
i es mayor que 2.
EJERCICIOS
1)REALIZAR UN PROGRAMA QUE LEA 2 NUMEROS POSITIVOS n1 Y n2 Y MUESTRE
EL MENSAJE SI n1 ES MULTIPLO DE n2.
3 2.33
Ejemplo si n1=8 y n2=4.
3 10 3 33
7
La salida sería 8 SI ES MULTIPLO DE 4. 01 10
10
si n1=7 y n2=3.
La salida sería 7 NO ES MULTIPLO DE 3.
NOTA PARA OBTENER EL RESIDUO DE LA DIVISIÓN SE UTILIZA EL OPERADOR
QUE SE UTILIZA ES EL %
7 % 3 =1
import javax.swing.*;
class Multiplo
{
public static void main (String[] args)
{
int n1,n2,r;
n1=Integer.parseInt(JOptionPane.showInputDialog("INGRESE UN NUMERO QUE SEA POSITIVO"));
n2=Integer.parseInt(JOptionPane.showInputDialog("INGRESE OTRO NUMERO TAMBIEN POSITIVO"));
if(n1>0 && n2>0)
{
r=n1%n2;
if(r==0)
JOptionPane.showMessageDialog(null,n1+" SI ES MULTIPLO DE "+n2);
else
JOptionPane.showMessageDialog(null,n1+" NO ES MULTIPLO DE "+n2);
}
else
JOptionPane.showMessageDialog(null,"ERROR LOS NUMEROS DEBEN SER POSITIVOS");
}
}
2) HACER UN PROGRAMA QUE LEA UN NUMERO DEL TECLADO Y MUESTRE SI EL
NUMERO ES PAR O ES IMPAR.
class ParOImpar
{
public static void main (String[] args)
{
int n1;
n1=Integer.parseInt(JOptionPane.showInputDialog("INGRESE UN NUMERO QUE SEA POSITIVO"));
if(n1>0)
{
if(n1%2==0)
JOptionPane.showMessageDialog(null,n1+" SI ES PAR");
else
JOptionPane.showMessageDialog(null,n1+" ES IMPAR");
}
else
JOptionPane.showMessageDialog(null,"ERROR EL NUMERO DEBE SER POSITIVO");
}
}
Despejamos x
x=-b/a
Datos de entrada los valores de a y b
import javax.swing.*;
class RaizE
{
public static void main (String[] args)
{
float a,b,x;
a=Float.parseFloat(JOptionPane.showInputDialog("Ingrese el valor de a"));
b=Float.parseFloat(JOptionPane.showInputDialog("Ingrese el valor de b"));
if(a==0)
System.out.println("LA EC. NO ES VALIDA");
else
{
x=-b/a;
JOptionPane.showMessageDialog(null,"LA RAIZ DE LA EC. ES X="+x);
}
}
}
COMPARACIÓN DE CADENAS
Las cadenas al ser objetos no se pueden comparar directamente, el operador == funciona para
tipos primitivos. Para comparar cadenas se pueden utilizar los métodos:
objeto.equalsIgnoreCase(cadena)
Este método compara dos Strings para ver si son iguales ignorando las diferencias entre
mayúsculas y minúsculas. Retorna true si los strings son iguales y false si no lo son.
Se muestra un ejemplo con la clase JOptionPane, y se comparan las cadenas por medio de la
instrucción switch.
Ejemplo:
import javax.swing.*;
class EjemC
{
public static void main (String[] args)
{
String resp;
resp=JOptionPane.showInputDialog("INGRESE SI O NO");
switch(resp)
{
case "SI": case "si": case "Si": case "sI":
JOptionPane.showMessageDialog(null,"INGRESO UN SI");break;
case "NO": case "no": case "No": case "nO":
JOptionPane.showMessageDialog(null,"INGRESO UN NO");break;
default: JOptionPane.showMessageDialog(null,"NO INGRESO SI y TAMPOCO NO");
}
}
}
En los ejemplos siguientes se utilizan las clases Scanner y BufferedReader que utiliza el método
objeto.equalsIgnoreCase(cadena) para comparar si la cadena ingresada es SI o es NO.
import java.util.*;
class EjemC2
{
public static void main (String[] args)
{
String res;
Scanner T=new Scanner(System.in);
System.out.println("INGRESE UN SI O UN NO");
res=T.nextLine();
if(res.equalsIgnoreCase("si"))
System.out.println("CONTESTO SI");
else
if(res.equalsIgnoreCase("no"))
System.out.println("CONTESTO NO");
else
System.out.println("NO CONTESTO SI Y TAMPOCO NO");
}
}
import java.io.*;
class EjempC3
{
public static void main (String[] args) throws IOException
{
BufferedReader T=new BufferedReader(new InputStreamReader(System.in));
String res;
System.out.println("INGRESE UN SI O UN NO");
res=T.readLine();
if(res.equalsIgnoreCase("si"))
System.out.println("CONTESTO SI");
else
if(res.equalsIgnoreCase("no"))
System.out.println("CONTESTO NO");
else
System.out.println("NO CONTESTO SI Y TAMPOCO NO");
}
}
import java.util.*;
class EjemC4
{
public static void main (String[] args)
{
String res;
Scanner T=new Scanner(System.in);
System.out.println("INGRESE UN SI O UN NO");
res=T.nextLine();
if(res.compareToIgnoreCase("si")==0)
System.out.println("CONTESTO SI");
else
if(res.compareToIgnoreCase("no")==0)
System.out.println("CONTESTO NO");
else
System.out.println("NO CONTESTO SI Y TAMPOCO NO");
}
}
CICLOS
OPERADOR ++
++VAR
VAR++
Ejemplo:
Caso1 : Caso1 :
i=5; i=5;
c=i++; c=++i;
6 6
6 5
i c
i c
class EjemploF1
{
public static void main (String[] args)
{
int i;
for( i=1;i<=5;i++)
{
System.out.println("HOLA"+i);
}
System.out.println("HOLA"+i);
}
}