Core Java (IBM)
Core Java (IBM)
Core Java (IBM)
Negocios en la Web
Volumen 1: Fundamentos de Java
Volumen 6: Applets
Plataforma Java
Componentes
•
La Maquina Virtual de Java (JVM)
•
La Interfaz de Programación de Aplicaciones o API (Application Programming
Interface)
API Java
Colección de
Componentes de
Software apropiadas
para el desarrollo de
programas en Java.
Volumen 1: Fundamentos de Java
Estructuras de Control
switch-case
int var = 2, opcion;
switch(var){
case 1: var = var + 1;
break;
case 2: var = var +2;
break;
default: var = var +10;
}
System.out.println(var);
Salida: 4
Volumen 2: Programación Orientada a Objetos
package transporte;//Opcional
import java.lang.String;//Opcional Una clase es una entidad
autocontenida que tiene las
class Bicicleta{ definiciones de los atributos y el
comportamiento que son
int nRuedas; comunes a todos los objetos de
int tipoRuedas; software de un tipo en particular
Los atributos se convierten en
Variables String color; las variables y el
comportamiento se refleja con
float velocidad; los métodos en una clase Java
A partir de una clase se pueden
crear instancias llamadas
public void acelerar(float a){} objetos
public void desacelerar(float a){}
Métodos
public void frenar(){}
public void cambiarVelocidad(int v){}
}
Componentes Propósito
{
Implementación de la clase
}
Volumen 2: Programación Orientada a Objetos
Métodos en Java
Los métodos de
instancia están
Son métodos que se relacionados con
declaran en una clase un objeto en
no para ser utilizados
Métodos de instancia particular.
como mensajes a los
objetos sino para
producir acciones que
no están asociadas a
Métodos de clase
ningún objeto en
particular. Métodos que
no tienen
Métodos abstractos implementaci
ón
Métodos final
Un método final es Es un método
un método que no Java cuya
se puede redefinir
Métodos nativos implementación
en una subclase se ha realizado
de la clase en en otro lenguaje
donde se definió de programación
Métodos sincronizados
Modificadores de Acceso
Private Subclase Clase Subclase Clase
Modificador Clase mismo mismo otro otro
paquete Paquete paquete paquete
Proctected
private si no no no no
Public protected si si si si no
Sin modificador public si si si si si
(se asume
package) package si si si no no
Volumen 2: Programación Orientada a Objetos
Herencia
Fundamentos
•
En Java, la clase de la cual se hereda es llamada superclase y la clase que hereda de
otra clase es llamada subclase
•
Para especificar que una clase hereda de otra clase, la clase que hereda debe usar la
palabra clave extends después del nombre de la clase en su declaración
Ejemplo
class Transporte{
int color;
float velocidad;
int capacidad;
public Transporte(int c, int cap){
color = c; capacidad = cap;
}
}
class Aereo extends Transporte{
float altura;
public Aereo(int c, int cap, float a){
super(c,cap);
altura = a;
}
}
Volumen 2: Programación Orientada a Objetos
1. public class A{
2. public int suma(int n1, int n2){
3. return ( n1 + n2 );
4. }
5. public int suma(int n1, int n2, int n3){
6. return ( n1 + n2 + n3 );
7. } Sobrecargado
Sobreescritura de Métodos
Original
class X {
public void mostrar(){
System.out.println(“Objeto Padre“);
}
}
class Y extends X {
public void mostrar(){
System.out.println(“Objeto Hijo");
}
}
Sobreescrito en
la subclase
Volumen 2: Programación Orientada a Objetos
Interfaces
Fundamentos
•
Las interfaces son similares a las clase, pero no tienen ninguna variable de instancia y
no se proporciona la implementación para los métodos declarados en ella
•
Se usan básicamente, para especificar que debe hacer una clase, pero no cómo, de
esto se encargan las clases que implementen la interfaz
Ejemplo
Implementación
public interface Telefono{ public class Celular implements
void llamar(int tlf); Telefono, Agenda{
} public void llamar(int tlf){
public interface Agenda{ // código para llamar }
void grabarNumero(String nombre,int tlf); public void grabarNumero(String
int buscarNumero(String nombre); nombre,int tlf){
// código para grabar}
public int buscarNumero(String
nombre){
// código para buscar}
public static void main(String
args[]){
Telefono nokia = new Celular();
}
}
Volumen 3: Manejo de Excepciones
Excepciones
Qué es una excepción?
Una excepción es un evento anormal que se lanza cuando ocurre una
condición especial durante la ejecución de un programa
Soporte Java public class Prueba {
public static void
•
try main(String[] args) {
int a = 50;
•
catch int b = 0;
try{
•
throw int c = a / b;
System.out.println(“Valor: "
•
throws class Carro{ + c);
private float velocidad = 0; }catch(ArithmeticException
•
finally private
200;
final float MAX_V = e){
System.out.println(“Error:
try{ public void acelerar(float ”+e);
conectar_a_base_de_datos(); inc)throws MotorException{ }
}catch(DBException e){ if( ( velocidad + }
... inc ) > MAX_V){ }
}finally{ throw new
if( conexionExistente() ){ MotorException(“No es
System.out.println(“Liberando posible pasar la velocidad
conexión a DB”); Maxima”);
liberar_conexion_a_base_de_dat }else
os(); velocidad +=
System.out.println(“Conexión inc;
liberada!”); }
} }
}
Volumen 4: Facilidades de Entrada/Salida
Flujos
Fundamentos
•
Un flujo (stream) es una secuencia de bytes que viajan de un origen a un destino
2. Componentes
3. Administradores de Diseño
Frame
MenuContainer
Volumen 5: Crear Interfaces AWT y Swing
Administradores de Diseño
Fundamentos
•
Un administrador de diseño puede ser definido como un objeto que realiza la
distribución espacial de los componentes dentro de un contenedor
•
Un administrador de diseño (Layout Manager) ordena automáticamente los controles
dentro de una ventana usando algún tipo de algoritmo
•
El administrador de diseño puede ser establecido usando el método setLayout() de la
siguiente manera: container.setLayout(layout);
Soporte Java
•
FlowLayout
•
BorderLayout
•
CardLayout
•
GridLayout
•
GridBagLayout
Volumen 5: Crear Interfaces AWT y Swing
Modelo de Delegación de Eventos
Clases Descripción
ActionEvent Creado cuando presionamos un botón,
hacemos doble clic en un elemento de
lista, o elegimos un elemento de menú
ComponentEvent Creado cuando un componente cambia su
tamaño, posición o visibilidad
ContainerEvent Creado cuando añadimos o removemos un
componente de un contenedor
ItemEvent Creado mientras hacemos clic en un
checkbox o un elemento de lista; también
cuando seleccionamos o deseleccionamos
elementos de menú seleccionables
KeyEvent Creado cuando se recibe entrada del
teclado
MouseEvent Creado mientras se arrastra, mueve, hace
clic o presiona un ratón; también cuando el
ratón entra o sale de un componente
TextEvent Creado mientras hay un cambio en el valor
de un área de texto o campo de texto
WindowEvent Creado cuando se activa, cierra, desactiva, Tipos de Eventos
maximiza, minimiza, abre o se sale de una
ventana
Volumen 5: Crear Interfaces AWT y Swing
Cliente Servidor
ServerSocket s = new
Socket cliente; ServerSocket(8765);
cliente= new Socket(ip,port); Socket c = server.accept();
Se establece la conexión
ObjectOutputStream oos = new ObjectInputStream ois = new
ObjectOutputStream( ObjectInputStream(
cliente.getOutputStream()); cliente.getInputStream());
Obtenemos los flujos de datos
API
Collections
Volumen 8: Conceptos Avanzados
Colecciones en diferentes escenarios
Volumen 8: Conceptos Avanzados
JDBC (Java Data Base Connectivity)
Pasos para acceder a una Base de Datos
1. Se debe cargar en memoria el controlador (driver) que habilitará la conexión entre el
programa Java y el sistema de base de datos
2. A través de este controlador, se establece una conexión a la base de datos
3. Una vez establecida la conexión, por medio de esta se ejecutan las sentencias SQL
que sean requeridas
4. Al finalizar se debe cerrar todas las conexiones a bases de datos que estén activas
Soporte Java
El API JDBC está constituído por las siguientes clases e interfaces:
•
java.sql.Driver
•
java.sql.Connection
•
java.sql.Statement
•
java.sql.ResultSet
•
java.sql.ResultSetMetaData
•
java.sql.DabataseMetaData
•
java.sql.PreparedStatement
•
java.sql.CallableStatement
Volumen 8: Conceptos Avanzados
Crear una Conexión
import java.sql.*;
public class PruebasJDBC {
public static void main(java.lang.String[] args) {
Connection conn = null;
try {
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
System.out.println("Driver cargado...");
conn = DriverManager.getConnection(
"jdbc:db2:Sample", "db2admin",
"db2admin");
System.out.println("Conexión establecida...");
} catch (ClassNotFoundException e) {
System.out.println("Driver no encontrado");
} catch (SQLException e) {
System.out.println("Error DB: " + e);
} finally {
try {
if (conn != null) conn.close();
} catch (SQLException se){}
}
}
}
Volumen 8: Conceptos Avanzados
Características Avanzadas
Seguridad
•
El principal objetivo de la seguridad en Java es controlar el acceso a los recursos del
computador incluyendo todos sus dispositivos
•
Algunos conceptos importantes de la seguridad son: Identificación, Autenticación,
Autorización, Integridad de los datos, Encriptamiento, Auditoría
Firmas Digitales
•
Una firma digital es el proceso en el que las llaves públicas y privadas son producidas
y se relacionan matemáticamente
Certificados Digitales
•
Los certificados digitales se usan estrechamente con las firmas digitales
•
Junto con la verificación de la identidad del desarrollador del código, los certificados
pueden usarse para verificar, adicionalmente, si el código vino de una fuente no
familiar confiable.
•
Un certificado firmado presenta e identifica una llave pública. Una tercera autoridad de
certificación verifica que puede confiarse en el emisor
Volumen 8: Conceptos Avanzados
Características Avanzadas
Internacionalización
•
La Internacionalización es el proceso de diseñar una aplicación que pueda ser
adaptada a varios lenguajes y regiones.
JavaBean
•
Las tecnologías de componentes se incorporan a la plataforma Java a través del
concepto de JavaBeans. Las características que distinguen un JavaBean de una
simple clase de Java son:
•
Introspección
•
Persistencia
•
Personalización
•
Manejo de Eventos
•
Propiedades
Clase java.lang.Math
•
Esta clase contiene métodos para resolver operaciones numéricas básicas, tales
como: cálculo de logaritmo, raíz cuadrada, valor absoluto, funciones trigonométricas