28/11/2011 Temas Datos y sus tipos en Java Expresiones Aritméticas y Lógicas Operaciones aritméticos Orden de operaciones – Expresiones Constantes y Variables COMP 2110 Revisado: 28 de noviembre de 2011 Evaluación de instrucciones Nota: En esta presentación se utilizan términos en inglés que representan palabras claves en el lenguaje de programación Java. Estos términos aparecen subrayados y en color verde. 2 Datos: Definición Tipos de datos primitivos Datos Tres tipos de datos primitivos en Java: 1. Integral – números enteros: negativos, cero, positivos (sin decimales) 2. Floating-point – números reales: decimales Números, letras o palabras que se utilizan para hacer cálculos, comparaciones y decisiones. float – números reales entre -3.4E38 y 3.4E38 con 7 dígitos significativos double – números reales entre -1.7E308 y 1.7E308 con 15 dígitos significativos 3. boolean – valores lógicos: cierto o falso [true, false] (1 bit) 3 4 Datos tipo Integers Ejemplos: Identifica el tipo de dato Estos se subdividen en cinco grupos (y ocupan un -6728 36,782 espacio determinado en memoria): ‘+’ 75.904 char – una letra, símbolo o dígito; hasta 65,536 0 7800.0 valores; se escriben entre apóstrofes (2 bytes) byte – (1 byte) short – enteros entre -32,768 y 32,767 (2 bytes) int – enteros entre -109 y 109 aproximadamente (4 bytes) long – enteros entre -1020 hasta1020 aprox. (8 bytes) 9.8 -0.1087 -763 0.0045 ‘A’ -3.56 5 COMP 2110 ‘8’ ¿Cuál es la diferencia entre la coma y el punto en Java? 6 Ir a soluciones. 1 28/11/2011 Caracteres - char Operaciones aritméticas Los datos tipo char pueden convertirse en Operación números enteros int y vice-versa, utilizando sus equivalentes en el sistema de códigos Unicode. Por ejemplo: (int)(‘A’) = 65 (char) (65) = A En el teclado, Alt65 presenta la letra A. 65 en el sistema binario es 0100 0001. 7 Suma + Resta - Multiplicación * División – el resultado depende del tipo de dato Módulo – busca el residuo % / 8 Orden de operaciones Precedencia Alto nivel Se realiza primero. Bajo nivel Se realiza al final 9 Símbolo Ejercicios: Para datos int Si hay más de una operación en el mismo nivel, comienza con la de la izquierda. Ejercicios: Para datos float o double 2+5= 34 – 20 = 45 – 90 = 2*7= 14 / 7 = 15 / 4 = 7%3= 12 % 4 = 11 COMP 2110 2+5= 34 – 20 = 45 – 90 = 2*7= 14 / 7 = 15 / 4 = 7%3= 12 % 4 = Operaciones Multiplicación (*) División (/) Módulo (%) Suma (+) Resta (-) 10 Ir a soluciones. Declaración de constantes y variables 3*7–6/2= 4+5/4= 2*6/3= 9%4+3= 8–9+4= 6%4+3–8= 6+4%3–8= 8–9%4= Ir a soluciones. 3*7–6/2= 4+5/4= 2*6/3= 9%4+3= 8–9+4= 6%4+3–8= 6+4%3–8= 8–9%4= En Java se declaran las constantes y variables al comienzo del programa Se incluye el tipo de dato y su nombre Cada línea de código termina en punto y como (;), excluyendo decisiones y bucles 12 2 28/11/2011 Constantes Variables Siempre tienen el mismo valor Pueden asumir distintos valores durante la ejecución de un programa No cambian durante la ejecución de un programa. Se escriben en letras minúsculas Dos o más palabras se unen y la segunda empieza Su nombre se escribe en mayúsculas. Dos o más palabras se separan con el símbolo de con mayúscula: notación del camello subrayado (_). Ejemplos: Ejemplos: double sueldoBruto; int contador, x; char ch; final int GRUPO = 22; final float PAGO_POR_HORA = 6.50f; 13 14 Evaluación de instrucciones - 1 Evaluación de instrucciones - 2 Dadas las variables i, j, k de tipo int Dadas las variables x, y, z de tipo int Cuál será el resultado de esta serie de Cuál será el resultado de esta serie de instrucciones: instrucciones: i = 12; x = 15; i = i +9; x = x % 4; j = i; y = x + 7 - 3; k = j / 2; z = y / 2; k = k / 3; i 15 j z = z / 3; k Ir a soluciones. 16 Ejercicios de Práctica y z Ir a soluciones. Referencia: Dados: a = 13, b = 5, c = 17.5 Presenta la solución en int. Enunciado x Malik, D. S. (2006). Java Programming: From Solución int Problem Analysis to Program Design (2nd. Ed.). Mexico: Thomson. [Cap. 2]. Solución double Ver páginas 36 a 46 y 97 a 99 en Reserva. a+b–c 15/2 + c a / (double) (b) + 2 * c 14 % 3 + 6.3 + b/a (int)(c) % 5 + a – b 13.5 / 2 + 4.0 * 3.5 + 18 17 COMP 2110 18 3 28/11/2011 Soluciones: Identifica el tipo de dato Soluciones: -6728 int 36,782 int dos veces ‘+’ char 75.904 float 0 int 7800.0 float 9.8 float -0.1087 float -763 int 0.0045 float ‘A’ char -3.56 float ‘8’ char ¿Cuál es la diferencia entre la coma y el punto en Java? Una coma separa dos datos; no se usa en los valores numéricos para indicar millares. 19 Vuelve a la diapositiva número 6. 20 Soluciones: Para datos int Ejercicios: Para datos float o double 2+5=7 34 – 20 = 14 45 – 90 =-45 2 * 7 = 14 14 / 7 = 2 15 / 4 = 3 7%3=1 12 % 4 = 0 2 + 5 = 7.0 34 – 20 = 14.0 45 – 90 =-45.0 2 * 7 = 14.0 14 / 7 = 2.0 15 / 4 = 3.75 7 % 3 = 1.0 12 % 4 = 0.0 3 * 7 – 6 / 2 = 18 4+5/4=5 2*6/3=4 9%4+3=4 8–9+4=3 6 % 4 + 3 – 8 = -3 6 + 4 % 3 – 8 = -1 8–9%4=7 Vuelve a la diapositiva número 10. 21 Vuelve a la diapositiva número 11. 22 Soluciones: Evaluación de instrucciones -1 3 * 7 – 6 / 2 = 18.0 4 + 5 / 4 = 5.25 2 * 6 / 3 = 4.0 9 % 4 + 3 = 4.0 8 – 9 + 4 = 3.0 6 % 4 + 3 – 8 = -3.0 6 + 4 % 3 – 8 = -1.0 8 – 9 % 4 = 7.0 Soluciones: Evaluación de instrucciones -2 Dadas las variables i, j, k de tipo int Dadas las variables x, y, z de tipo int Cuál será el resultado de esta serie de Cuál será el resultado de esta serie de instrucciones: instrucciones: i = 12; x = 15; i = i +9 = 12 + 9 = 21; j = i = 21; k = j / 2 = 21 / 2 = 10; k = k / 3 = 10 / 3 = 3; x = x % 4 = 15 % 4 = 3 12 21 21 10 3 i j k y = x + 7 – 3 = 3 + 7 – 3 = 7; z = y / 2 = 7 / 2 = 3; z = z / 3 = 3 / 3 = 1; 15 3 x 23 COMP 2110 Vuelve a la diapositiva número 15. 24 7 3 1 y z Vuelve a la diapositiva número 16. 4