Documente Academic
Documente Profesional
Documente Cultură
El lenguaje Java
Orientado a Objetos
Tipos estrictos
Clases estrictas
Tipos Primitivos
Tipos numéricos
Tipos enteros:
byte, enteros 8-bits con signo complemento a 2,
short, enteros 16-bits con signo complemento a 2
int, enteros 32-bits con signo complemento a 2
long, enteros 64-bits con signo complemento a 2
Tipos en coma flotante:
float, real en coma flotante, 32-bits IEEE 754
double, real en coma flotante, 64-bits IEEE 754
Tipos no numéricos
char, carácter 16-bits Unicode
boolean, tipo lógico, cuyos valores son true (cierto) y false
(falso)
Operadores
Igualdad y desigualdad: == , !=
Comparación: <, <=, >, >=
Suma y resta unarios: +, -
Suma, multiplicación, división y módulo: +, -, *, /, %
Incremento y decremento prefijos y posfijos: ++, --
Desplazamiento con signo y sin signo: <<, >>, >>>
Negación lógica unaria de bits: ~
Lógica de bits: &, |, ^
Lógica booleana: &&, ||
Expresiones
Grupos de Precedencia
Grupo 0: ( )
Grupo 1: ++, --, + (unario), - (unario)
Grupo 2: *, /, %
Grupo 3: +, -, + (concatenación)
Funciones especiales:
Seno x => Math.sin(x)
x2 => Math.pow(x,2)
Math.round(6.6) => 7
Asignación
Utilización de operadores:
var1 = var2 + var3; // asignar a var1 el valor de var2 +
var3
var1 = var2 - ver3; // asignar a var1 el valor de var2 -
var3
var1 = var2 * ver3; // asignar a var1 el valor de var2 *
var3
var1 = var2 / ver3; // asignar a var1 el valor de var2 /
var3
var1 = var2 % ver3; // asignar a var1 el valor de var2 %
var3
Asignaciones de incremento
decremento:
variable++; // añadir uno a variable
variable--; // restar uno a varibale
variable += exp; // añadir exp a variable
variable -= exp; // restar exp a variable
Declaración de Variables
tipo nombre;
tipo nombre1, nombre2, nombre3;
tipo nombre = valor;
Declaración de Constantes:
static final tipo nombre = valor;
Conversiones entre tipos
Asignar una variable a otra cuyo tipo es mayor de
tamaño:
byte => short => int => long => float => double
(tipo)expresion
Paquetes
Paquetes Java más importantes:
- lang – para funciones del lenguaje;
- util – para utilidades adicionales;
- io – para entrada y salida;
- text – para formateo especializado;
- awt – para gráficos e interfaz gráfica de
usuario
Para acceder a cualquiera de estos paquetes, excepto
lang que está siempre disponible, usamos el siguiente
modelo:
import java.nombrepaquete.*;
Declaración de Clases
Ejemplo:
clasePublica elObjeto;
clasePublica elObjeto1, elObjeto2, elObjeto3;
clasePublica elObjeto4 = elObjeto;
clasePublica elObjeto5 = new clasePublica();
Declaraciones de Campos
modificadores tipo nombreCampo;
elObjeto.doblePublico = 5.0;
double doble = elObjeto.doblePublico;
Clase.doblePublicoEstatico = 7.0;
Double doble = Clase.doblePublicoEstatico;
Declaración de Métodos
modificador tipo nombreMetodo(<lista de parametros formales>) {
< cuerpo del método; campos e instrucciones >
return expresion; // solo métodos que devuelven resultado
}
<lista de parametros formales> = (tipo campo, tipo campo, ...)
modificador significa lo mismo que para los campos.
tipo es el tipo devuelto por el método, puede ser:
- void si el método no devuelve nada
un tipo primitivo
una clase
nombreMetodo es el nombre del método
Ejemplo de Clase
public class Clase {
private int enteroPrivado;
static private int enteroEstaticoPrivado;
public void estableceEntero(int entero) {
enteroPrivado = entero;
}
public int recuperaEntero() {
return entero;
}
static public void estableceEnteroEstatico(int entero) {
enteroEstaticoPrivado = entero;
}
static public int recuperaEnteroEstatico() {
return enteroEstatico;
}
}
Llamadas a Métodos
metodo(<lista parametros reales>); // metodos de la propia clase
objeto.metodo(<lista dparametros reales>); // metodos no estaticos
nombreclase.metodo(<lista parametros reales>); //metodos estaticos
Ejemplo:
elObjeto.estableceEntero(7);
int entero = elObjeto.recuperaEntero();
Clase.estableceEnteroEstatico(8);
int entero = Clase.recuperaEnteroEstatico();
Declaración de Métodos Constructores
Ejemplo:
public class Clase {
private int enteroPrivado;
public Clase() {
enteroPrivado = 0;
}
public Clase(int entero) {
enteroPrivado = entero;
}
}
Llamadas a Métodos
Constructores
nombreClase objeto = new nombreClase(<lista parametros reales>);
Ejemplo:
Clase elObjeto;
elObjeto = new Clase();
Ejemplo
public class ClaseExtendida extends Clase {
}
Una clase que extiende otra, se llama subclase o clase hija, mientras que
la clase a la que extiende (la original) se llama superclase o clase
paterna.
La subclase hereda los miembros (propiedades y métodos) de la
superclase.
Cambio de tipo
Cualquier objeto de una subclase puede ser asignado a un objeto
de su superclase.
Cualquier objeto de una superclase puede ser asignado a una
subclase con una conversión explícita (cambio de tipo).
package nombrePaquete;
modificador class nombreClase {
< declaracion de la clase >
}
El identificador this
Ejemplo:
public class Clase {
private int entero;
public boolean equals(Clase c) {
return (c.entero==entero);
}
}
Asignación de Objetos
modificador class nombreClase implements Cloneable {
public Object clone() {
nombreClase obj = new nombreClase(parametros);
< instrucciones para copiar los campos a obj >
return obj;
}
}
if (condicion)
instrucción;
else instrucción;
if (velocidad>limite)
System.out.println("Multazo");
else System.out.println("Buen conductor");
Sucesivos else-if
if (condicion) instrucción;
else if (condicion) instrucción;
else if (condicion) instrucción;
....
else instrucción;
if (nota>=9) calificacion=’SB’;
else if (nota>=7) calificacion=’N’;
else if (nota>=5) calificacion=’A’;
else calificacion=’S’;
La instrucción switch
switch (expresion) {
case valor: instrucción; break;
case valor: instrucción; break;
....
default: instrucción; break;
}
switch(nota) {
case 10:
case 9: calificacion = ‘SB’; break;
case 8:
case 7: calificacion = ‘N’; break;
case 6:
case 5: calificacion = ‘A’; break;
default: calificacion = ‘S’; break;
}
Bucles for
for(inicio; prueba; actualización) {
< cuerpo del bucle for >
}
for(inicio; ; actualización) {
< cuerpo del bucle for >
if (condicion) break;
}
Bucles condicionales while
<instrucciones para inicializar las condiciones>
while (condiciones) {
<instrucciones para llevar a cabo el
bucle y cambiar condiciones >
}
int i=0;
while(i<5) {
System.out.println("hola");
i++;
}
Bucles condicionales do
while
<instrucciones para inicializar las condiciones>
do {
<instrucciones para llevar a cabo el bucle y
cambiar condiciones >
} while (condiciones);
int i=0;
do {
System.out.println("hola");
i++;
} while (i<5);
Cadenas de Caracteres
La clase String
Creación de una cadena:
String miCadena = "Esta es la cadena";
Cadena Vacía vs Cadena Nula
String s1; // Cadena Nula, igual al valor null
String s2= ""; // Cadena Vacía
Cadenas (continuación)
Comparación de cadenas:
if (cadena1.equals(cadena2))
System.out.println("Las cadenas son iguales");
else System.out.println("Las cadenas no son iguales");
Concatenación de cadenas:
String c3 = c1+c2;
Salida por pantalla
import java.io.*;
System.out.println(elementos);
System.out.println();
System.out.print(elementos);
BufferedReader in = new
BufferedReader(new InputStreamReader(System.in));
int i=Integer.valueOf(in.readLine().trim()).intValue();
double d=Double.valueOf(in.readLine().trim()).doubleValue();
Entrada/Salida desde Archivos