Download Fundamentos de JAVA
Document related concepts
no text concepts found
Transcript
Fundamentos de JAVA Angel Kuri Enero, 2006 2/2/2006 Enunciados y Expresiones Los siguientes son enunciados sencillos: int i = 1 import java.awt.Font System.out.println(“Esta moto es una “ + color + “ “ + marca); m.engineState = true; 2/2/2006 Expresiones Los enunciados anteriores se denominan expresiones si regresan un valor. Todos los enunciados terminan con “;”. Un enunciado compuesto o bloque constituyen unidades funcionales independientes. Se abren con “{“ y se cierran con “}” 2/2/2006 Variables y Tipos de Datos JAVA maneja tres tipos de variables: a) De instancia b) De clase c) Locales Las variables locales se declaran y usan dentro de las definiciones de método. Por ejemplo, como índices, contadores locales, etc. JAVA no cuenta con variables globales. 2/2/2006 Declaración de Variables Ejemplos: int miEdad; String miNombre; boolean estaCansado; int x,y,z; String primerNombre, apellido; 2/2/2006 Declaración de Variables int MiEdad,NumeroDeZapatos=7; String miNombre=“Angel”; int a=1, b=2, c=3; Los nombres de las variables pueden iniciar con letra, guión bajo o signo de pesos ($). Después pueden constar de casi cualquier símbolo. 2/2/2006 Tipos de Variables Las variables constan de nombre y tipo. Los tipos pueden ser: - Uno de los 8 tipos primitivos (boolean, int, byte, short, long, float, double, char) - El nombre de una clase o interfaz (por ejemplo, String, Font) - Un arreglo 2/2/2006 Variables Enteras Tipo byte short int long Tamaño Rango 8 bits -128 a +127 16 bits -32,768 a +32767 32 bits -2,147,483,648 a + 232-1 64 bits -263 a +263-1 (-9,223,372,036,854,775,808) 2/2/2006 Variables Reales Las variables reales o de punto flotante siguen el estándar IEEE754. Existen variables de precisión sencilla o de precisión doble. Las primeras constan de 32 bits. Las segundas constan de 64 bits. 2/2/2006 Formas de Representación Existen varias formas de especificar valores en los números: Un 4, por ejemplo es una literal entera de tipo int (aunque puede asignarse a una variable short o byte). Puede forzarse un número pequeño a long agregando L (o l) a ese número. X = 4L // Entero tipo long 2/2/2006 Formas de Representación Los enteros también pueden expresarse en octal o en hexadecimal: E1 = 0777 E2 = 0xBA21 2/2/2006 // Octal // Hexadecimal Formas de Representación Las variable reales tienen, normalmente, una parte entera y una decimal: R1 = 3.1416 R2 = -10E+11 Un número puede forzarse a tipo float usando este formato: R5 = 212.345f R3 = -3129F 2/2/2006 Variables de Cadena Las variables de cadena son instancias de la clase String. Las literales de cadena consisten de una serie de caracteres dentro de comillas dobles: String S1, S2; S1 = “Este es un ejemplo”; 2/2/2006 Literales de Cadena String S1, S2; S1 = “Súbitamente entendí”; S2 = “”; // una cadena vacía S1 = “Una cadena con un \t tabulador”; S2 = “Cadenas anidadas son \”cadenas dentro de\” otras cadenas”; S1 = “Esta cadena es traída a Ud. por JAVA\u2122”; // El Unicode es de (TM). 2/2/2006 Códigos de Caracteres Escape \n \t \b \r \f \\ \’ ó \” \ddd ó \xdd \udddd 2/2/2006 Significado Línea nueva Tabulador Retroceso Regreso de carro Salto de página Antidiagonal Comillas sencillas/dobles Octal/Hexadecimal Unicode Operadores Aritméticos Operador + * / % 2/2/2006 Significado Suma Resta Multiplicación División Residuo Ejemplo x = x+y; y = y-12; z = x*y; x = z/y; y = y%3; Ejemplo de Aplicación* 2/2/2006 class ArithmeticTest { public static void main (String args[ ]) { short x=6; int y=4; float a=12.5f; float b=7f; System.out.println(""); System.out.println("x es "+x+" y es "+y); System.out.println("x + y es "+ (x+y)); System.out.println("x - y es "+ (x-y)); System.out.println("x / y es "+ (x/y)); System.out.println("x % y es "+ (x%y)); } } Otras Formas de Asignación Expresión x += y x -= y x *= y x /= y x %= y y = ++x y = x++ 2/2/2006 Significado x=x+y x = x-y x = x*y x = x/y x = x%y y = cambia x; asigna a y y = asigna a y; cambia x Ejemplo de Pre/Postfijo (1/2) 2/2/2006 Comparaciones Operador == != < > <= >= 2/2/2006 Significado Igual Distinto Menor que Mayor que Menor o igual Mayor o igual Ejemplo x==3 x != 8 y<5 z > 18 x <= 16 w >= -2 Operadores Lógicos Estos son: AND, OR, NOT, XOR Sus símbolos: Operador Símbolo AND & o && OR | o || NOT ! XOR ^ 2/2/2006 Operadores Lógicos AND Argumento 1 Argumento 2 false false false true true false true true 2/2/2006 A1 & A2 false false false true Operadores Lógicos OR Argumento 1 Argumento 2 false false false true true false true true 2/2/2006 A1 | A2 false true true true Operadores Lógicos XOR Argumento 1 Argumento 2 false false false true true false true true 2/2/2006 A1 ^ A2 false true true false Operadores Lógicos NOT Argumento A1 !A1 false true true false 2/2/2006 Operadores Lógicos Por el Teorema de De Morgan: !(a | b) = !a & !b !(a & b) = !a | !b De donde se desprende que cualquier operación lógica puede ser lograda con: a) El operador & y el operador ! o bien b) El operador | y el operador ! 2/2/2006 Operadores de Bits Operador & | ^ << >> >>> 2/2/2006 Significado AND de bits OR de bits XOR de bits Corrimiento izquierdo Corrimiento derecho Llenar con ceros a la derecha Operadores de Bits Operador & ~ <<= >>=/>>>= &=/|=/^= 2/2/2006 Significado AND de bits NOT de bits Asignación de corrimiento izquierdo (x=x>>y) Asignación >>/>>> Asignación (x=x&y/x|y/x^y) 2/2/2006 2/2/2006 Aritmética de Cadenas El operador de suma (+) puede usarse para crear y concatenar cadenas. En System.out.println(nombre+”es un “+color); se crea una sola cadena que es la concatenación de todos los operandos. Si cualquiera de los operandos no es cadena, se convierte en tal automáticamente. 2/2/2006 Notas Complementarias JAVA no permite el manejo de constantes locales. Es posible crear instancias constantes y variables de clase. Para encontrar los tipos de las variables que no son las básicas de JAVA es posible usar el operador instanceof del cual hablaremos más adelante. 2/2/2006 Ejercicio 1 Desarrolle un programa que aplique los operadores lógicos de manera que se demuestre claramente la equivalencia lógica implícita en el teorema de De Morgan. a) Declare una clase llamada DeMorgan. b) Efectúe una prueba lógica usando: 1) ANDs y NOTs 2) ORs y NOTs Demuestre que los resultados son iguales. 2/2/2006