Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar
Primer programa en Java 2
Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario de javadoc 3
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 4
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 5
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 ) // Sin fin de línea final println( texto ) // Imprime e inicia nueva línea printf( formato, texto ) // print formateado System.out.println( Hello world ); 6
Bienvenidos a Java 2 7
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. 8
Secuencias escape Secuencia de escape \n \t \\ \ \r Descripción Nueva línea Tabulador Inserta barra invertida Inserta comillas Retroceso de carro 9
Bienvenidos a Java 3 10
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; 11
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: final static double PI = 3.1415; 12
Tipos primitivos TIPO byte short int long float double char boolean REPRESENTACION INTERNA Entero de 8 bits Entero de 16 bits Entero de 32 bits Entero de 64 bits Punto flotante de 32 bits Punto flotante de 64 bits Entero de 16 bits - Unicode Valor booleano RANGO -128 a +127-32768 a 32767-2 -31 a 2 +32-1 -2-63 a 2 +63-1 Mantisa de 6 dígitos significativos Exponente (10-46 a 10 +38 ) Mantisa de 15 dígitos significativos Exponente (10-324 a 10 +308 ) true - false 13
Constantes literales Número decimal Número octal Los números de punto flotante deben llevar. Precedido con 0 int 37 double 37.0 045 Número hexadecimal Precedido con 0x 0x25 Letra / carácter Comillas simples a Cadena Comillas dobles Hola 14
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 15
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 i++ ó ++i i-- ó --i Operación Menos unario. Invierte el signo del operando numéricao 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) Decrementa la variable. Idem que el incremento 16
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. 17
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: identificador = expresión Ejemplos: a = 3 x = y delta = x2 x1 area = ( base * altura ) / 2 18
Operadores aritméticos Existen 5 operadores aritméticos en Java Operador + - * / % Operación que ejecuta suma resta producto (multiplicación) división resto de la división entera 19
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 9 5 (a+b)*c // El uso de paréntesis indica el // orden de evaluación 20
Operadores aritméticos Coerción silenciosa (automática) Lo hace directamente el compilador cuando no presupone riesgo de pérdida de información Coerción explícita double d = 0.0, f = 3.0; int i = 1; d = i + f; Formato: (tipo) <expr> d = (double) i + f; 21 Conversión del entero a punto flotante
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 int + long int + float int + double char + int char + long char + double Se convierte a long + long float + float double + double int + int long + long double + double Resultado long float double int long double 22
Operadores de asignación combinadas Se puede combinar una operación aritmética con la asignación Operación += -= *= Ejemplo a += 3 a -= 3 a *=3 Significado a = a+3 a = a-3 a = a*3 /= a /=3 a = a/3 Pueden hacerse cadenas de asignación %= a %=3 a = a%3 a = b = c es equivalente a a = ( b = c) 23
Operadores aritméticos y de asignación 24
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 Operación ==!= a == b a!= b Verdad si a igual que b Verdad si a distinto que b 25
Operaciones lógicas (booleanas) && AND - OR a V V F F b V F V F resultado V F F F a V V F F b V F V F resultado V V V F 26
Operadores lógicos Operadores lógicos Operador! && Ejemplo!a a && b a b Operador unario not. SI a es verdadero entonces la expresión es falsa, si a es falsa entonces la expresión es verdadera Verdad si a AND b Verdad si a OR b Operación 27
El operador condicional (ternario) Se pueden realizar operaciones de selección con el operador condicional Sintáxis: condición? exprverd : exprfalso Se ejecuta exprverd o exprfalso de acuerdo al resultado de evaluar la condición. El operador? : es el único operado ternario de Java 28
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-- 29
Precedencia de los operadores Unarios Categoría Multiplicación, división y resto Suma y resta Op. relacionales Op. de igualdad And lógico (Y) Or lógico (O) Op. condiconal Op. asignación Operadores - ++ --! * / % + - < <= > >= ==!= &&? : = += -= *= /= %= Asociatividad Der. a Izq. Izq. a Der. Izq. a Der. Izq. a Der. Izq. a Der. Izq. a Der. Izq. a Der. Der. a Izq. Der. a Izq. 30
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. 31
Expresiones Ejemplos: a + b + c a + b / 100 a = 45 a == 45 a == b && c!= d // Se evalúa de izquierda a derecha // La división tiene mayor precedencia // La asignación también es una // expresión, su valor es el valor // asignado // Expresión condicional - booleano // Expresión condicional 32
Aplicación suma de enteros 33
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar