Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Universidad Nacional del Sur Operadores y Expresiones Ing. Ricardo Coppo [email protected] Primer programa en Java Operadores y Expresiones de Java Ing. Ricardo Coppo 2 Principios de Computadoras II Universidad Nacional del Sur Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario de javadoc Operadores y Expresiones de Java Ing. Ricardo Coppo 3 Principios de Computadoras II Universidad Nacional del Sur Comentarios y Sangría Algunas recomendaciones: Usar comentarios en forma adecuada Nombre del archivo Autor Función o tarea que realiza el programa Usar sangría para visualizar la estructura del código Tabulaciones de 3 o 4 caracteres Usar líneas en blanco para mejorar legibilidad Operadores y Expresiones de Java Ing. Ricardo Coppo 4 Principios de Computadoras II Universidad Nacional del Sur Identificadores Un identificador da nombre a las clases, variables y otros elementos del programa Un identificador debe empezar con una letra Se diferencian las mayúsculas y las minúsculas: ‘tiempo’ no es igual a ‘Tiempo’ ) Un identificador NO puede ser una palabra reservada Operadores y Expresiones de Java Ing. Ricardo Coppo 5 Principios de Computadoras II Universidad Nacional del Sur System.out System.out es el “objeto” de salida estándar Posee “métodos” que permiten escribir directamente en la terminal o ventana de comandos. Son similares a los vistos en Pascal print( “texto” ) println( “texto” ) printf( “formato”, “texto” ) // Sin fin de línea final // Imprime e inicia nueva línea // print formateado System.out.println( “Hello world” ); Operadores y Expresiones de Java Ing. Ricardo Coppo 6 Principios de Computadoras II Universidad Nacional del Sur Bienvenidos a Java 2 Operadores y Expresiones de Java Ing. Ricardo Coppo 7 Principios de Computadoras II Universidad Nacional del Sur Secuencias escape Algunos caracteres no pueden escribirse directamente en el código. Entre ellos está el “fin de línea” y el “tabulador” Para facilitar su escritura se utiliza una notación especial denominada “secuencia escape” La secuencia escape es una combinación de dos caracteres. La primera, (un ‘\’) alerta al compilador que a la siguiente letra se le debe dar un significado especial. Operadores y Expresiones de Java Ing. Ricardo Coppo 8 Principios de Computadoras II Universidad Nacional del Sur Secuencias escape Secuencia de escape \n Nueva línea \t Tabulador \\ Inserta barra invertida \” Inserta comillas \r Retroceso de carro Operadores y Expresiones de Java Ing. Ricardo Coppo Descripción 9 Principios de Computadoras II Universidad Nacional del Sur Bienvenidos a Java 3 Operadores y Expresiones de Java Ing. Ricardo Coppo 10 Principios de Computadoras II Universidad Nacional del Sur Declaración de variables Una variable es capaz de almacenar información durante la ejecución del programa. Posee tipo, nombre y valor. Sintaxis: tipo identificador [ = inicializador ]; double velocidadMaxima = 100.0; Operadores y Expresiones de Java Ing. Ricardo Coppo 11 Principios de Computadoras II Universidad Nacional del Sur Declaración de constantes y variables Normas de estilo Empezar los identificadores de variable con minúscula, las palabras intermedias se inician con mayúsculas. Ejemplo: int alumnosAprobados; Las constantes se escriben totalmente en mayúsculas. Ejemplo: Operadores y Expresiones de Java Ing. Ricardo Coppo final static double PI = 3.1415; 12 Principios de Computadoras II Universidad Nacional del Sur Tipos primitivos TIPO REPRESENTACION INTERNA RANGO byte Entero de 8 bits -128 a +127 short Entero de 16 bits -32768 a 32767 int Entero de 32 bits -2-31 a 2+32-1 long Entero de 64 bits -2-63 a 2+63-1 float Punto flotante de 32 bits Mantisa de 6 dígitos significativos Exponente (10-46 a 10+38) double Punto flotante de 64 bits Mantisa de 15 dígitos significativos Exponente (10-324 a 10+308) char Entero de 16 bits - Unicode boolean Valor booleano Operadores y Expresiones de Java Ing. Ricardo Coppo 13 true - false Principios de Computadoras II Universidad Nacional del Sur Constantes literales Número decimal Los números de punto flotante deben llevar “.” Número octal Precedido con 0 045 Número hexadecimal Precedido con 0x 0x25 Letra / carácter Comillas simples ‘a’ Cadena Comillas dobles “Hola” Operadores y Expresiones de Java Ing. Ricardo Coppo 14 int double 37 37.0 Principios de Computadoras II Universidad Nacional del Sur Operadores y Expresiones Los operadores permite relacionar variables y constantes para formar expresiones. Un operador puede actuar sobre 1, 2 o 3 operandos. Los operadores unarios se aplican sobre 1 operando Los binarios usan dos Los ternarios emplean tres Para su estudio se debe considerar la precedencia la asociatividad (orden de evaluación) de los mismos Operadores y Expresiones de Java Ing. Ricardo Coppo 15 Principios de Computadoras II Universidad Nacional del Sur Operadores unarios Actuán sobre un solo operando Normalmente se indica como operador prefijo, aunque algunos admiten la notación postfija también. Operador - Ejemplo - valor Operación Menos unario. Invierte el signo del operando numéricao ++ i++ ó ++i Incrementa la variable. En forma postfija utiliza el valor de i en la expresión y LUEGO la incrementa. En forma prefija Incrementa primero y luego usa el valor. (Solo tiene importancia en expresiones complejas) -- i-- ó Decrementa la variable. Idem que el incremento --i Operadores y Expresiones de Java Ing. Ricardo Coppo 16 Principios de Computadoras II Universidad Nacional del Sur Operadores binarios Requieren dos operandos. Java utiliza la notación “infija”, es decir, el operador se escribe entre los dos operandos op1 <operador> op2 a+b Se dividen en operadores de asignación, aritméticos, relacionales y lógicos. Operadores y Expresiones de Java Ing. Ricardo Coppo 17 Principios de Computadoras II Universidad Nacional del Sur Operador de asignación simple Modifica el valor de una variable Puede interpretarse como un operador que retorna un resultado igual al valor asignado Sintaxis: Ejemplos: identificador = expresión a = 3 x = y delta = x2 – x1 area = ( base * altura ) / 2 Operadores y Expresiones de Java Ing. Ricardo Coppo 18 Principios de Computadoras II Universidad Nacional del Sur Operadores aritméticos Existen 5 operadores aritméticos en Java Operador + suma - resta * producto (multiplicación) / división % Operadores y Expresiones de Java Ing. Ricardo Coppo Operación que ejecuta resto de la división entera 19 Principios de Computadoras II Universidad Nacional del Sur Operadores aritméticos Ejemplos a * b * c // Observar que no se puede escribir // abc como en algebra 7 / 4 // Es división entera, el resultado // es 1 7 % 4 // Indica resto o módulo, el // resultado es 3 9 / 5 // No se puede escribir como (a+b)*c // El uso de paréntesis indica el // orden de evaluación Operadores y Expresiones de Java Ing. Ricardo Coppo 20 9 5 Principios de Computadoras II Universidad Nacional del Sur Operadores aritméticos Coerción silenciosa (automática) Lo hace directamente el compilador cuando no presupone riesgo de pérdida de información double d = 0.0, f = 3.0; int i = 1; d = i + f; Coerción explícita Formato: (tipo) <expr> d = (double) i + f; Operadores y Expresiones de Java Ing. Ricardo Coppo 21 Conversión del entero a punto flotante Principios de Computadoras II Universidad Nacional del Sur Operadores aritméticos Conversión automática de tipos La regla general es que el operando de tipo de menor precisión es convertido automáticamente a la de la mayor Original Se convierte a Resultado int + long long + long long int + float float + float float int + double double + double double char + int int + int int char + long long + long long char + double double + double double Operadores y Expresiones de Java Ing. Ricardo Coppo 22 Principios de Computadoras II Universidad Nacional del Sur Operadores de asignación combinadas Operación Se puede combinar una operación aritmética con la asignación Pueden hacerse cadenas de asignación Ejemplo Significado += a += 3 a = a+3 -= a -= 3 a = a-3 *= a *=3 a = a*3 /= a /=3 a = a/3 %= a %=3 a = a%3 a = b = c es equivalente a a = ( b = c) Operadores y Expresiones de Java Ing. Ricardo Coppo 23 Principios de Computadoras II Universidad Nacional del Sur Operadores aritméticos y de asignación Operadores y Expresiones de Java Ing. Ricardo Coppo 24 Principios de Computadoras II Universidad Nacional del Sur Operadores relacionales Operadores relacionales Operador Ejemplo < a < b <= a <= b > a > b >= a >= b Operación Verdad si a es menor que b (estrictamente menor) Verdad si a es menor o igual que b Verdad si a es mayor que b (estrictamente mayor) Verdad si a es mayor o igual que b Operadores de igualdad Operador Ejemplo == a == b Verdad si a igual que b != a != b Verdad si a distinto que b Operadores y Expresiones de Java Ing. Ricardo Coppo Operación 25 Principios de Computadoras II Universidad Nacional del Sur Operaciones lógicas (booleanas) “&&” – AND a V V F F b resultado V V F F V F F F Operadores y Expresiones de Java Ing. Ricardo Coppo “||” - OR a V V F F 26 b resultado V V F V V V F F Principios de Computadoras II Universidad Nacional del Sur Operadores lógicos Operadores lógicos Operador Ejemplo Operación ! !a Operador unario not. SI a es verdadero entonces la expresión es falsa, si a es falsa entonces la expresión es verdadera && a && b Verdad si a AND b || a || b Verdad si a OR b Operadores y Expresiones de Java Ing. Ricardo Coppo 27 Principios de Computadoras II Universidad Nacional del Sur El operador condicional (ternario) Se pueden realizar operaciones de selección con el operador condicional Sintáxis: Se ejecuta exprVerd o exprFalso de acuerdo al resultado de evaluar la condición. El operador ‘? :’ es el único operado ternario de Java condición ? Operadores y Expresiones de Java Ing. Ricardo Coppo exprVerd : exprFalso 28 Principios de Computadoras II Universidad Nacional del Sur El operador condicional Ejemplos ( x > 0 ) ? 3 : 5 ( x < y ) ? x : y max = ( x >= y ) ? x : y noSeHace += ( x > 0 && y > 0 ) ? x+y++ : x-y-- Operadores y Expresiones de Java Ing. Ricardo Coppo 29 Principios de Computadoras II Universidad Nacional del Sur Precedencia de los operadores Categoría Operadores Asociatividad Unarios - ++ -- ! Der. a Izq. Multiplicación, división y resto * / % Izq. a Der. Suma y resta + - Izq. a Der. Op. relacionales < <= > >= Izq. a Der. Op. de igualdad == != Izq. a Der. And lógico (Y) && Izq. a Der. Or lógico (O) || Izq. a Der. Op. condiconal ? : Der. a Izq. Op. asignación = += -= *= /= %= Der. a Izq. Operadores y Expresiones de Java Ing. Ricardo Coppo 30 Principios de Computadoras II Universidad Nacional del Sur Expresiones Una expresión es una combinación de operadores, variables, e invocaciones a métodos que se evalúa para obtener un resultado. La expresión posee tipo y valor (igual que las variables simples) que depende de los elementos que han sido utilizados en su formación Una expresión no posee nombre. Operadores y Expresiones de Java Ing. Ricardo Coppo 31 Principios de Computadoras II Universidad Nacional del Sur Expresiones Ejemplos: a + b + c // Se evalúa de izquierda a derecha a + b / 100 // La división tiene mayor precedencia a = 45 // La asignación también es una // expresión, su valor es el valor // asignado a == 45 a == b && c!= d // Expresión condicional - booleano // Expresión condicional Operadores y Expresiones de Java Ing. Ricardo Coppo 32 Principios de Computadoras II Universidad Nacional del Sur Aplicación suma de enteros Operadores y Expresiones de Java Ing. Ricardo Coppo 33 Principios de Computadoras II Universidad Nacional del Sur Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Universidad Nacional del Sur Operadores y Expresiones Ing. Ricardo Coppo [email protected]