2/2/2006
Fundamentos de JAVA
Angel KuriEnero, 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 instanciab) De clasec) 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 Tamaño Rangobyte 8 bits -128 a +127short 16 bits -32,768 a +32767int 32 bits -2,147,483,648 a + 232-1long 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 longagregando 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 // OctalE2 = 0xBA21 // Hexadecimal
2/2/2006
Formas de Representación
Las variable reales tienen, normalmente, una parte entera y una decimal:
R1 = 3.1416R2 = -10E+11
Un número puede forzarse a tipo floatusando 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íaS1 = “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 CaracteresEscape Significado\n Línea nueva\t Tabulador\b Retroceso\r Regreso de carro\f Salto de página\\ Antidiagonal\’ ó \” Comillas sencillas/dobles\ddd ó \xdd Octal/Hexadecimal\udddd Unicode
2/2/2006
Operadores Aritméticos
Operador Significado Ejemplo+ Suma x = x+y;- Resta y = y-12;* Multiplicación z = x*y;/ División x = z/y;% Residuo y = y%3;
2/2/2006
Ejemplo de Aplicación*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));
}}
2/2/2006
Otras Formas de Asignación
Expresión Significadox += y x = x + yx -= y x = x-yx *= y x = x*yx /= y x = x/yx %= y x = x%yy = ++x y = cambia x; asigna a yy = x++ y = asigna a y; cambia x
2/2/2006
Ejemplo de Pre/Postfijo (1/2)
2/2/2006
Comparaciones
Operador Significado Ejemplo= = Igual x = = 3!= Distinto x != 8< Menor que y < 5> Mayor que z > 18<= Menor o igual x <= 16>= Mayor o igual w >= -2
2/2/2006
Operadores Lógicos
Estos son: AND, OR, NOT, XORSus símbolos:
Operador SímboloAND & o &&OR | o ||NOT !XOR ^
2/2/2006
Operadores LógicosAND
Argumento 1 Argumento 2 A1 & A2false false falsefalse true falsetrue false falsetrue true true
2/2/2006
Operadores LógicosOR
Argumento 1 Argumento 2 A1 | A2false false falsefalse true truetrue false truetrue true true
2/2/2006
Operadores LógicosXOR
Argumento 1 Argumento 2 A1 ^ A2false false falsefalse true truetrue false truetrue true false
2/2/2006
Operadores LógicosNOT
Argumento A1 !A1false truetrue 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 Significado& AND de bits| OR de bits^ XOR de bits<< Corrimiento izquierdo>> Corrimiento derecho>>> Llenar con ceros a la derecha
2/2/2006
Operadores de Bits
Operador 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
2/2/2006
Aritmética de Cadenas
El operador de suma (+) puede usarse para crear y concatenar cadenas.
EnSystem.out.println(nombre+”es un “+color);
se crea una sola cadena que es la concatena-ció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 NOTs2) ORs y NOTs
Demuestre que los resultados son iguales.