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