Download Operadores

Document related concepts
no text concepts found
Transcript
Operadores
Los operadores permiten procesar uno, dos o tres operando. Los operadores se clasifican de acuerdo al
número de operadores que necesitan. Veamos la siguiente clasificación:
- Operadores Unarios � necesitan solamente un operador, por ejemplo ++.
- Operadores Binarios � necesitan dos operadores , por ejemplo =.
- Operadores Ternarios � requieren tres operadores, por ejemplo ? :.
Dividimos los operadores en las siguientes categorías:
a. Operadores Aritmético
Ejemplo de Aplicación: Escribir un programa que evaluar las operaciones sobre valores enteros y reales.
public class OperacionesAritmeticas
{
public static void main(String[] args)
{
/*declaración e inicialización de variables*/
int i = 37;
int j = 42;
float x = 27.475;
float y = 7.22;
float resultado;
System.out.println("Valores de las variables");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y);
//operaciones aritméticas
resultado = i*x+ j*y ;
System.out.println("Ejecutando operación");
System.out.println(" resultado = " + resultado);
System.out.println(" i+j = " + (i+j));
System.out.println(" i+x = " + (i+x));
System.out.println(" i/x = " + (i/x));
System.out.println(" x/i = " + (x/i));
}
}
Operadores unarios para incrementos
b. Operadores Relacionales
Un operador relacional compara dos valores y determina la relación entre ellos. Por ejemplo, el operador !=
devuelve verdad si los operadores son diferentes.
c. Operadores lógicos
Los operadores lógicos devuelven un valor de verdad. Los operadores relacionales también se pueden usar
como operadores lógicos, sin embargo los operadores lógicos solo actúan al comparar expresiones que
toman un valor de verdad.
Los operadores lógicos y relacionales son utilizados por las estructuras condicionales.
d. Operadores de asignación
Ejercicio
Considerando el siguiente fragmento de código
int i = 10;
int n = i++%5;
a. ¿Cuál es el valor de i y n luego de que el fragmento de código es ejecutado?
b. ¿Cuál es el valor final de i y n si en lugar de usar (i++) usamos (++i)?
Estructuras de Control de Flujo
a. La instrucción if / if-else
Es la estructura condicional básica y más utilizada. Se utiliza para realizar tareas que dependan de ciertas
condiciones.
Sintaxis
if (expresión lógica)
{
<instrucciones>;
}
Si la expresión lógica toma el valor de verdad entonces se ejecutarán las instrucciones especificadas dentro
de los paréntesis.
if (expresión lógica)
{
<instrucciones 1>;
}
else
{
<instrucciones 2>;
}
Si la expresión lógica toma el valor de verdad entonces se ejecutarán las <instrucciones 1> en caso contrario
se ejecutará <instrucciones 2>
Ejemplo:
- Escribir un programa para determinar el máximo de 2 números.
- Diseñar un algoritmo que lea tres números y determine si uno de ellos es la suma de los otros dos.
- Diseñar un algoritmo y escribir un programa para convertir una hora ingresada (hora y minutos) en formato
de 24 horas a formato de 12 hora
Ejemplo : Ingresa 13:34
Salida 1:34 pm
b. La instrucción while
Es una de las estructuras de control repetitivas más utilizadas. Su sintaxis es como sigue:
Sintaxis
while (expresión lógica)
{
<instrucciones>;
}
La expresión condicional debe estar bien especificada, pues representa la condición de parada del bucle.
Ejemplo: Escribir un programa para obtener la suma de los n primeros números pares.
/*SumarPares.java*/
public class SumarPares
{
public static void main(String[] args)
{
int n=10;
int i=0;
int suma=0;
while (i<n)
{
i++;
suma=suma+2*i;
}
System.out.println("La suma de los " + n + "primeros pares es " +suma);
}
}
c. La instrucción do-while
Es la estructura en la que las instrucciones repetitivas se ejecutan al menos una vez. La sintaxis es la
siguiente:
Sintaxis
do
{
}while (expresión lógica);
Ejemplo: Escribir un programa para obtener los divisores de un número cualquiera.
/*Divisores.java*/
public class Divisores
{
public static void main(String[] args)
{
int numero=24; /*numero alamcena el valor del cual se
obtendrán sus divisores*/
int div=1; /*div almacenará almacenará cada uno de los
posibles divisores de numero*/
int resto=0;
System.out.println("Los divisores de :" + numero);
System.out.println("---------------------------");
do
{
resto=numero % div;
if (resto==0)
{
System.out.println(div);
}
div++;
}while(div<=(numero/2));
System.out.println(numero);
System.out.println("----------------------");
}
}
d. La instrucción for
Es una forma alternativa para iteraciones simples. La sintaxis es:
for (incialización; expresión condicional; incremento)
{
<instrucciones>;
}
La instrucción for se utiliza cuando el número de iteraciones es exactamente determinado.
Ejemplo : Utilicemos el for para resolver el ejemplo de los número pares.
/*SumarPares.java*/
public class SumarPares
{
public static void main(String[] args)
{
int n=10;
int i=0;
int suma=0;
for (i=1; i<=n;i++)
{
suma=suma+2*i;
}
System.out.println("La suma de los " + n + "primeros pares es " +suma);
}
}
e. La instrucción switch
Es una estructura condicional múltiple. Se usa para determinar una secuencia de
acciones dependiendo del valor de la expresión a evaluar.
Sintaxis
switch (expresión)
{
case <valor> : {<instrucciones>; break;}
...
default: {<instrucciones>; break;}
}
Ejemplo: Escribir un programa para realizar una de las cuatro operaciones básicas sobre dos operandos
cualesquiera.
/*Operadores.java*/
public class Operandos
{
public static void main(String[] args)
{
int operando1 = 12;
int operando2= 32;
char operador = '-';
int resultado=0;
switch(operador)
{
case '+' : {
resultado=operando1+operando2;
break;
}
case '-' : {
resultado=operando1-operando2;
break;
}
case '*' : {
resultado=operando1*operando2;
break;
}
case '/' : {
resultado=operando1/operando2;
break;
}
}
System.out.println("=>" + operando1 + operador + operando2 + "=" + resultado);
}
}