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); } }