Download elementos de lenguajes java
Document related concepts
no text concepts found
Transcript
Programación III ELEMENTOS DE LENGUAJES JAVA double 64 bits CARACTERES DE JAVA Se agrupan en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. boolean true o false Letras, dígitos y otros. Letras mayúsculas de los alfabetos internacionales: A–Z Las minúsculas de los alfabetos internacionales: a–z Dígitos del alfabeto internacional: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Caracteres: “_”, “$” y cualquier carácter Unicode. El compilador de java trata las letras mayúsculas y minúsculas como caracteres diferentes, Anio y anio son diferentes. Secuencias de Escape Una secuencia de escape esta formado por el carácter \ de una letra o combinación de dígitos. Se utilizan para acciones como nueva línea, tabular o para hacer referencia a caracteres no imprimibles. Secuencia \n \t \b \r \f \’ \” \\ \ddd \udddd \u0007 \u000B Definición Ir al principio de la siguiente línea Tabulador horizontal Retroceso (backspace) Retorno de carro sin avance de línea Alimentación de línea (impresoras) Comilla simple Comilla doble Barra invertida (backslash) Carácter ASCII (Octal) Carácter ASCII (Unicode) Alerta pitido Tabulador Vertical (impresoras) TIPOS DE DATOS TIPO byte short int RANGO -128 a +127 (8 bits) -32768 a +32767 (16 bits) -2147483648 a +2147483647 (32 bits) long char -9223372036854775808 a 9223372036854775807 (64 bits) 0 a 65535 float 32 bits Lic. Omar Alavi EJEMPLO byte b=0; short i=0, j=0; int a = 200; int b = -30; int c = 0xF003; long a = 200; long b =125; long c = 0x1F; char car = ‘a’; char car = 97; float a = 3.23; double a 3.14159; = PALABRAS CLAVE Son identificadores predefinidos por el compilador Java. Por lo tanto, un identificador definido por el usuario no puede tener el mismo nombre que una palabra clave. abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while COMENTARIOS Comentario tradicional: Pueden ocupar más de una línea. /* */ Comentario de una sola línea: // Comentario de documentación: /** * */ CONSTANTES final static int cte1 = 1; final static String cte2 = “Pulse una tecla…”; final double pi = 3.1415926; DECLARACION DE VARIABLES Una variable representa un espacio de memoria para almacenar un valor de un determinado tipo. El valor de una variable, a diferencia de una constante, puede cambiar durante la ejecución de un programa. short dia, mes, anio; int contador = 0; String Nombre=””, Apellidos=””; Iniciación de variables: 1 Programación III Las variables miembro de una clase son iniciadas por omisión por el compilador de Java para cada objeto que se declare de la misma: las variables numérica con 0, y los caracteres con ‘\0’ y las referencias a las cadenas de caracteres y el resto de las referencias a otros objetos null. En cambio las variables locales no son iniciadas por el compilador Java. Por lo tanto es nuestra obligación iniciarlas, de lo contrario el compilador visualizará un mensaje de error en todas las sentencias que haga referencia a esas variables. EXPRESIONES NUMERICAS Una expresión es un conjunto de operandos unidos mediante operadores. CONVERSION ENTRE TIPOS DE DATOS Cuando Java tiene que evaluar una expresión en la que intervienen operandos de diferentes tipos, primero convierte, sólo para realizar las operaciones solicitadas, los valores de los operandos al tipo de operando cuya precisión sea más alta. Java permite una conversión explícita (conversión forzada) del tipo de una expresión mediante una construcción denominada cast, que tiene la forma: (tipo) expresión Cualquier valor de un tipo entero o real puede ser convertido a o desde cualquier tipo numérico. No se puede realizar conversiones entre los tipos enteros o reales y el tipo boolean. resultado es entero, en el resto de los casos el resultado es real. % Módulo: o resto de la división entera. Los operandos deben ser enteros. int a = 10, b=3, c; float x = 2.0, y; y = x + a; // El resultado es 12.0 c = a / b; //El resultado es 3 de tipo int. c = a % b; //El resultado es 1 de tipo int. y = a / b; //El resultado es 3 de tipo int. Se // Convierte a float para asignar a y c = (int)( x / y); // El resultado es 0.6666667 de tipo //float se convierte a int y c = 0. OPERADORES RELACIONALES El resultado de una operación de relación es un valor booleano true o false. Operador < > <= >= != == Ejemplos: int x = 10, y boolean r; r = x == y; r = x > y; r = x != y; Operador && o & float r; r = (float)Math.sqrt(10); //El resultado se redondea //ya que sqrt devuelve double || o | Lic. Omar Alavi = 0; // r = false // r = true // r = true OPERADORES LOGICOS El resultado de una operación lógica (AND, OR, XOR y NOT) es un valor booleano verdadero o falso (true o false) fDato = (float)dDato; lDato = (long)fDato; bDato = (byte)(dDato + fDato); OPERADORES OPERADORES ARITMETICOS Operador Operación + Suma. Operandos enteros o reales Resta. Operandos enteros o reales Multilicación: Operandos enteros o * reales División: Operandos enteros o / reales. Si ambos son enteros el Operación ¿Menor que? ¿Mayor que? ¿Menor o igual que? ¿Mayor o igual que? ¿Distinto que? ¿Igual que? ! ^ Operación AND. Da como resultado true si al evaluar cada uno de los operandos el resultado es true. Si uno de ellos es false, el resultado es false. OR. El resultado es false si al evaluar cada uno de los operandos el resultado es false. Si uno de ellos es true el resultado es true. NOT. El resultado de aplicar este operador es false si al evaluar su operando es resultado es true, y true en caso contrario XOR. Da como resultado true si al evaluar cada uno de los operandos el resultado de uno es true y el del otro false; en otro caso el resultado es false. 2 Programación III Ejemplos: int p = 10, q = 0; boolean r; r = p != 0 && q != 0; r = p != 0 || q > 0 r = q < p && p <= 10; r = ! r; if (a != 0 && b != 0) x = i; //Siguiente línea del programa // r = false // r = true // r = true // si r = true è r = false OPERADORES DE ASIGNACION Operador ++ -= *= /= %= += -= Operación Incremento Decremento Asignación simple Multiplicación más asignación División mas asignación Módulo mas asignación Suma más asignación Resta más asignación Ejemplos: int x = 0, n = 10, i = 1; n++; //Incrementa el valor de n en 1. ++n; //Incrementa el valor de n en 1. x = ++n; //Incrementa n en 1 y asigna el //resultado a x. x = n++; //Asigna el valor de n a x y después // y después incrementa en 1. i += 2; //Realizar la operación i = i + 2; x *=n – 3; //Realizar la operación x = x *(n-3) y //no x = x * n – 3. SENTENCIAS DE CONTROL SENTENCIA if if (condición) sentencia 1; [else Sentencia 2;] Donde condición es una expresión booleana, y sentencia 1 y sentencia 2 representa una sentencia simple o compuesta. Cada sentencia simple debe finalizar con un punto y coma. if (a == b * 5) { x = 4; a = a + x; } else b = 0; // siguiente línea del programa ERROR típico es escribir, en lugar de la condición anterior: if (a = b * 5) // … En este caso suponiendo que a es de tipo int el compilador no puede convertir a boolean. a = b * 5; if (a) // … Donde se observa que a no puede dar un resultado boolean si seria correcto: a = b * 5; if(a != 0 ) // . . . Que equivale a: if ((a = b * 5 ) != 0) // . . . En este ejemplo la sentencia return se ejecutará solamente cuando car sea igual al carácter ‘s’. if (car == ‘s’) return; ANIDAMIENTO DE SENTENCIAS if if (condición 1) if (condición 2) sentencia 1; else sentencia 2; Ejemplos: if (x != 0) b = a / x; b = b + 1; if (a < b) c = c + 1; // Siguiente línea del programa Lic. Omar Alavi 3 Programación III Ejemplos: SENTENCIA switch Si ocurre que a no es igual a 0, la ejecución continua en la siguiente línea del programa. if (a == 0) if (b != 0) s = s + b; else s = s + a; // siguiente línea del programa. La sentencia switch permite ejecutar una de varias acciones, en función del valor de una expresión. Es una sentencia especial para decisiones múltiples. La sintaxis para utilizar esta sentencia es: Ahora, si en lugar del anterior deseamos que se ejecute s = s + a cuando a no es igual a 0, entonces debemos incluir entre llaves el segundo if sin la clausula else; esto es: if (a == 0) { if (b != 0) s = s + b; } else s = s + a; // siguiente línea del programa Laboratorio Nº 2. Realizar una aplicación que de cómo resultado el menor de tres números a, b y c. ESTRUCTURA else if Esta estructura es consecuencia de las sentencias if anidadas. Su formato general es: if (condición 1) sentencia 1; else if (condición 2) sentencia 2; else if (condición 3) sentencia 3: . . . else sentencia n; La evaluación de esta estructura sucede así: si se cumple la condición 1, se ejecuta la sentencia 1 y si no se cumple se examinan secuencialmente las condiciones siguientes hasta el último else, ejecutándose la sentencia correspondiente al primer else if, cuya condición es cierta. Si todas las condiciones son falsas, se ejecuta la sentencia n correspondiente al último else. Lic. Omar Alavi switch (expresión) { case expresión-constante 1: [sentencia 1;] [case expresión-constante 2:] [sentencia 2;] [case expresión-constante 3:] [sentencia 3;] . . . [default:] [sentencia n;] } Donde expresión es una expresión de tipo char, byte, short o int y expresión-constante es una constante también entera y de los mismos tipos. Tanto la expresión como las expresiones constantes son convertidas implícitamente a int. Por último, sentencia es una sentencia simple o compuesta. En el caso de tratarse de una sentencia compuesta, no hace falta incluir las sentencias simples entre {}. La sentencia switch evalúa la expresión entre paréntesis y compara su valor con las constantes de cada case. La ejecución de las sentencias del bloque de la sentencia switch, comienza en el case cuya constante coincida con el valor de la expresión y continúa hasta el final del bloque o hasta una sentencia que transfiera el control fuera del bloque de switch; por ejemplo, break. La sentencia switch puede incluir cualquier número de cláusulas case. Si no existe una constante igual al valor de la expresión, entonces se ejecutan las sentencias que están a continuación de default, si esta cláusula ha sido especificada. La cláusula default puede colocarse en cualquier parte del bloque y no necesariamente al final. 4