Download introducción a java

Document related concepts
no text concepts found
Transcript
QUIMESTRE II
PARCIAL I
INTRODUCCIÓN
A
JAVA
¿Qué es Java?
La tecnología Java es un
lenguaje de
programación y una
plataforma.
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.3
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.4
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.5
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.6
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.7
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.8
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.9
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.10
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.11
Características Principales
• Sencillo
• Orientado a objetos
• Distribuido
• Interpretado
• Robusto
• Seguro
• Arquitectura
neutra
• Portable
• Altas
prestaciones
• Multithread
(multihilo)
• Dinámico
Características: Sencillo
• Elimina algunas de las características de C y C++:
• No aritmética de punteros.
• No existen referencias.
• No existe typedef ni #define.
• No sobrecarga operadores.
• No herencia múltiple.
• Posee clase String.
• No necesidad de asignar y liberar memoria
• (Garbage Collector).
}
Características:
Orientado a objetos
• Java trabaja con sus datos como objetos y con
interfaces a esos objetos.
• Implementa:
• Encapsulación.
• Herencia simple.
• Abstracción.
• Reutilización.
• Polimorfismo.
- Interfaces.
- Paquetes.
Características: Distribuido
• Concebido para trabajar en un entorno conectado
en red.
• En sí no es distribuido, proporciona librerías y
herramientas para que los programas puedan ser
distribuidos, que los programas corran en varias
máquinas interactuando.
Características: Interpretado
Compilador tradicionalIntérprete de ByteCodes
Compilador Java
Traslada sentencias
alto-nivel a múltiples
instrucciones.
Creación de librerías
como resultado de
compilaciones previas.
Juntando, se crea
programa ejecutable.
Traduce código
fuente a código
intermedio.
Interprete de Java
Virtual
Machine(JVM)
(ByteCodes
interpretados
(ejecutados))
Características: Robusto
• No se interrumpe fácilmente.
• Evita sobreescribir o corromper memoria
mediante punteros.
• Manejo de excepciones.
• Verificación de ByteCodes (por ejemplo
no acceso ilegal de memoria).
Características: Seguro
• Aplicaciones
seguras ya que no
acceden a zonas delicadas de
memoria o de sistema
• No existen punteros, no acceso a zonas
delicadas de memoria.
• Una applet no puede acceder al sistema,
a los archivos de la persona que lo está
viendo.
Características:
Arquitectura neutra
• Java compila el código a un fichero objeto de
formato independiente de la arquitectura de
la máquina en que se ejecutará.
• Cualquier plataforma donde exista una JVM
se puede ejecutar el código objeto
independientemente de la máquina en el que
ha sido generado.
Características: Arquitectura
Código fuente se compila
neutra
a un código de bytes
independientemente
de la máquina.
 Los ByteCodes se
ejecutan en una
máquina hipotética
que se implementa
por un sistema
run-time, que es
dependiente
de la máquina.
Tiempo de compilación
Tiempo de ejecución
Características: Arquitectura
neutra
• Elementos que forman parte de
arquitectura de Java sobre una
plataforma genérica.
• Dependiente del sistema:
• JVM.
• Librerías fundamentales.
• APIs de Java que
entren en contacto
directo con el hardware.
Características: Portable
Más allá de la portabilidad
básica por ser de
arquitectura
independiente.
Características: Altas
prestaciones
• Compiladores JIT (Just in time): Compilan en el
momento de ejecución.
• Traslada los bytecodes al
código máquina de la plataforma
según los va leyendo, realizando
cierto grado de optimización.
•
JIT no pierde tiempo en
optimizar código que no se ejecutará.
Características: Altas
prestaciones
• Se introdujo un nuevo JIT: HotSpot.
• Incluye compilador dinámico
y una máquina virtual para
Interpretar bytecodes.
• Mejor soporte para ordenadores
con varios procesadores,
mayor escalabilidad.
Características:
Multithread
• Ejecución de varias tareas a la vez. Permite
muchas actividades simultáneas en un
programa.
• Posee
una serie de clases que facilitan su
utilización.
• Mejor
rendimiento interactivo y mejor
comportamiento en tiempo real.
Características:
Dinámico
• No
conecta todos los módulos que
comprenden una aplicación hasta el
mismo tiempo de ejecución.
• Las
librerías nuevas o actualizadas no
paralizan la ejecución de las aplicaciones
siempre que mantengan la API anterior.
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.27
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.28
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.29
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.30
E.T.S de Ingenieros de Telecomunicación - UPNA
22/11/2005
.31
La plataforma Java 2
• Una plataforma software que se ejecuta sobre otra
plataforma hardware/software.
• La Máquina Virtual Java
La interfaz de
Programación
(JVM)
Intérprete de Java
de Aplicaciones (API)
Conjunto de clases ya desarrolladas
La plataforma Java 2
• Capaz de traer automáticamente cualquier
pieza que
funcionar.
el sistema
necesite
para
¿Qué ventajas tengo como
desarrollador?
• Comenzar rápidamente.
• Escribir menos código, 4 veces menos que en
C++.
• Escribir mejor código.
• Desarrollar programas más rápidamente.
• Eliminar dependencias de la plataforma.
• Escribir una vez, ejecutar en cualquier parte.
Sintaxis de Java.
mostrando los comentarios de documentación resultan de
especial importancia a la hora de comentar código. Se
muestra como utilizar la herramienta de documentación
javadoc. El capítulo sigue con la sintaxis válida para los
identificadores, y se listan las palabras reservadas del
lenguaje. El capítulo se cierra con la enumeración de los
separadores y sus usos.
36
Comentarios
En Java existen tres tipos de comentarios:
1.-Comentarios
de una solo línea como en C++
// Esta es una línea comentada.
2.- Comentarios
de bloques como en C.
/* Aquí empieza el bloque comentado
y aquí acaba */
3.-Comentarios
de documentación.
/** Los comentarios de documentación se comentan de este modo */
37
Ejemplo:
Mi Primer programa en Java
public class HolaJava { public static void main(String args[]) { System.out.println("Hola Java"); } }
Para compilar el programa escribe en la línea de instrucciones:
[belfern@anubis Java]$javac HolaJava.java
Si todo va bien no tendrá ningún mensaje de error. Para ejecutar el programa
Escribe en la línea de instrucciones:
[belfern@anubis Java]$java HolaJava
El resultado que se mostrará en la consola es:
Hola Java
38
Documentación.
Es la generación de código ,este no debe
ejecutarse únicamente sin errores, si no que
además debe estar bien documentado. Java
facilita esta tarea utilizando ciertas etiquetas
en los comentarios de documentación.
/**
@version [Información de la versión]
Identificadores
Comienzan por una letra o digitos, un
subrayado «_» o el símbolo de dolar «$»,
39
Nota: Ningún identificador puede llevar el nombre de una palabra
Palabras reservadas
El conjunto de palabras reservadas en Java
abstract
continue
for
switch
new
boolean
default
goto
null
break
do
if
package
this
byte
double
implements
private
threadsafe
byvalue
else
import
protected
case
extends
instanceof
public
transient
catch
false
return
true
char
final
int
interface
class
finally
long
synchronized
throw
short
try
static
void
40
const
float
native
super
while
Separadores
Los paréntesis (): Delimitan listas
parámetros, Delimitan condiciones.
de
Las llaves {}: Definen bloques de código.
Delimitan las lista de valores iniciales de los
arrays
Los corchetes []: Declaran vectores y permiten
acceder a sus elementos
El punto y coma «;»: Terminan instrucciones
41
public class Ejemplo {
public static void main(String[] arg) {
System.out.println("Hola Java");
}
}
42
public class Ejer01
{
public static void main(String arg[]) {
System.out.println("ESTE ES EL SEGUNDO PROGRAMA EN JAVA\n");
}
}
43
public class E2
{
public static void main(String arg[]) {
System.out.println(“Bienvenidos\n");
System.out.println(“Estudiantes de Programación en java\n");
System.out.println(“Ecomundo Centro de Estudios\n");
System.out.println("de la sección diurna\n");
System.out.println(“Primero Bachillerato……\n");
}
}
public class Ejer03
{
public static void main(String Argumentos[])
{
byte largestByte = Byte.MAX_VALUE;
short largestShort = Short.MAX_VALUE;
int largestInteger = Integer.MAX_VALUE;
long largestLong = Long.MAX_VALUE;
float largestFloat = Float.MAX_VALUE;
double largestDouble = Double.MAX_VALUE;
char aChar = 'S';
boolean aBoolean = true;
System.out.println("Maximo valor para Byte:
"+largestByte);
System.out.println("Maximo valor para Shor:
"+largestShort);
System.out.println("Maximo valor para Integer:
"+largestInteger);
System.out.println("Maximo valor para Long:
"+largestLong);
System.out.println("Maximo valor para float:
"+largestFloat);
System.out.println("Maximo valor para double:
"+largestDouble);
if(Character.isUpperCase(aChar))
{
System.out.println("El caracter: "+aChar+" es
mayuscula");
}
else
{
System.out.println("El caracter: "+aChar+" es minuscula");
}
System.out.println("El valor de boolean es:" +aBoolean);
}
}
public class Ejer05
{
public static void main(String Argumentos[])
{
int i = 37;
int j = 42;
int k = 42;
System.out.println("Valores de variables...");
System.out.println(" i = "+i);
System.out.println(" j = "+j);
System.out.println(" k = "+k);
System.out.println("Mayor que...");
System.out.println(" i > j is "+(i>j));//FALSO
System.out.println(" j > i is "+(j>i));//VERDADERO
System.out.println(" k > j is "+(k>j));//VERDADERO
System.out.println("Menor o igual que...");
System.out.println(" i >= j is "+(i>=j));//FALSO
System.out.println(" j >= i is "+(j>=i));//VERDADERO
System.out.println(" k >= j is "+(k>=j));//VERDADERO
System.out.println("Mayor que...");
System.out.println(" i < j is "+(i<j));//FALSO
System.out.println(" j < i is "+(j<i));//VERDADERO
System.out.println(" k < j is "+(k<j));//VERDADERO
System.out.println("Menor igual que...");
System.out.println(" i <= j is "+(i<=j));//FALSO
System.out.println(" j <= i is "+(j<=i));//VERDADERO
System.out.println(" k <= j is "+(k<=j));//VERDADERO
System.out.println("Igual que...");
System.out.println(" i == j is "+(i==j));//FALSO
System.out.println(" j == i is "+(j==i));//VERDADERO
System.out.println(" k == j is "+(k==j));//VERDADERO
System.out.println("Diferente que...");
System.out.println(" i != j is "+(i!=j));//FALSO
System.out.println(" k != i is "+(k!=i));//VERDADERO
}
}
PASOS: EJECUCIÓN DE UN PROGRAMA
1.- Crear una Carpeta disco local C:\> con
nombre su apellido
2.- Se codifica en el programa ---bloc notas
3.- Se guarda la codificación, con el mismo nombre
que se le ha asignado en la codificación----mas la
extensión punto java (.java )
4.-Se lo guarda en la carpeta que lleva su apellido
49
Símbolo del Sistema
Para compilar
Comando
Nombre de la carpeta
Nombre del programa
Ejecución de la compilación
Ejecución del programa
51
Atributos. Atributos estáticos
o
de clase.
Cada atributo debe empezar con un modificador de
acceso. Estos indican la visibilidad, es decir, se puede
tener acceso sólo desde la clase (private), desde la
clase y las clases que heredan de ella (protected),
desde cualquier clase definida en el mismo paquete
(ausencia de modificador) o desde cualquier clase
(public).
EJEMPLO:
public static int cuantasInstancias() {
return numeroInstancias; } }
53
Métodos. Métodos
estáticos o de clase
Permite, acceder directamente a través del
nombre de la clase. Los métodos declarados
static tienen una restricción muy fuerte,
pueden acceder a atributos o métodos
también declarados como static.
EJEMPLO:
public static int cuantasInstancias() {
return numeroInstancias; }
54
Creación de objetos
Un objeto, desde nuestro punto de vista,
puede verse como una pieza de software que
cumple con ciertas características:
 Herencia
 Encapsulamiento
Herencia
Induce una jerarquía en forma de árbol
sobre las clases con raíz en la clase
Object. Una clase se dice que hereda o
extiende a otra clase antecesora
55
Encapsulamiento
Consiste en la ocultación del estado, de los
datos miembro de un objeto, de forma que
sólo es posible modificar los mismos,
mediante las operaciones (métodos, en
Java) definidos para dicho objeto.
Sobrescritura de constructores
los constructores, son métodos invocados en
el momento de la creación de instancias.
Como cualquier otro método se pueden
sobrescribir en el momento de la extensión.
56
Clases abstractas.
Un método se puede declarar como
abstract. El método así declarado
puede no implementar nada.
Qué es una excepción.
Es una situación anómala, que llega
la ejecución de un programa.
57
Tipos de excepciones:
existen dos :Los Errores
Excepciones propiamente dichas
Los Errores: son situaciones irrecuperables, por
ejemplo: fallos de la máquina virtual
Las excepciones : Cuando una excepción se
produce, se acompaña de toda la información
relevante para que podamos gestionarla
Creación de excepciones propias
La excepción más adecuada, y en el constructor
de la clase, llamar a la clase padre con el
mensaje que se desee mostrar cuando se
produzca la excepción.
58
class CAritmetica
{
/*
*Operaciones aritmeticas
*/
public static void main (string [ ] args)
{
int dato1,dato2, resultado;
dato1=20;
dato2=10;
//suma
resultado=dato1+dato2;
system.out.println(dato1+" + "+dato2+"="+resultado);
//resta
resultado=dato1-dato2;
system.out.pintln(dato1+" - "+dato2+"="+resultado);
//producto
resultado=dato1*dato2;
system.out.println(dato1+" * "+dato2+"="+resultado);
//cociente
resultado=dato1/dato2;
system.out.println(dato1+" / "+dato2+"="+resultado);
}
}
public class calculo
{
public static void main(String Argumentos[ ])
{
byte largestByte = Byte.MAX_VALUE;
short largestShort = Short.MAX_VALUE;
int largestInteger = Integer.MAX_VALUE;
long largestLong = Long.MAX_VALUE;
float largestFloat = Float.MAX_VALUE;
double largestDouble = Double.MAX_VALUE;
char aChar = 'S';
boolean aBoolean = true;
System.out.println("Maximo
System.out.println("Maximo
System.out.println("Maximo
System.out.println("Maximo
valor para Byte: "+largestByte);
valor para Shor: "+largestShort);
valor para Integer: "+largestInteger);
valor para Long: "+largestLong);
System.out.println("Maximo valor para float: "+largestFloat);
System.out.println("Maximo valor para double: "+largestDouble);
if(Character.isUpperCase(aChar))
{
System.out.println("El caracter: "+aChar+" es mayuscula");
}
else
{
System.out.println("El caracter: "+aChar+" es minuscula");
}
System.out.println("El valor de boolean es:" +aBoolean);
}
}
public class Ejercicio
{
public static void main(String Argumentos[])
{
int i = 37;
int j = 42;
int k = 42;
System.out.println("Valores de variables...");
System.out.println(" i = "+i);
System.out.println(" j = "+j);
System.out.println(" k = "+k);
System.out.println("Mayor que...");
System.out.println(" i > j is "+(i>j));//FALSO
System.out.println(" j > i is "+(j>i));//VERDADERO
System.out.println(" k > j is "+(k>j));//VERDADERO
System.out.println("Menor o igual que...");
System.out.println(" i >= j is "+(i>=j));//FALSO
System.out.println(" j >= i is "+(j>=i));//VERDADERO
System.out.println(" k >= j is "+(k>=j));//VERDADERO
System.out.println("Mayor que...");
System.out.println(" i < j is "+(i<j));//FALSO
System.out.println(" j < i is "+(j<i));//VERDADERO
System.out.println(" k < j is "+(k<j));//VERDADERO
System.out.println("Menor igual que...");
System.out.println(" i <= j is "+(i<=j));//FALSO
System.out.println(" j <= i is "+(j<=i));//VERDADERO
System.out.println(" k <= j is "+(k<=j));//VERDADERO
System.out.println("Igual que...");
System.out.println(" i == j is "+(i==j));//FALSO
System.out.println(" j == i is "+(j==i));//VERDADERO
System.out.println(" k == j is "+(k==j));//VERDADERO
System.out.println("Diferente que...");
System.out.println(" i != j is "+(i!=j));//FALSO
System.out.println(" k != i is "+(k!=i));//VERDADERO
}
}
Atributos. Atributos estáticos
o
de clase.
Cada atributo debe empezar con un modificador de
acceso. Estos indican la visibilidad, es decir, se puede
tener acceso sólo desde la clase (private), desde la
clase y las clases que heredan de ella (protected),
desde cualquier clase definida en el mismo paquete
(ausencia de modificador) o desde cualquier clase
(public).
EJEMPLO:
public static int cuantasInstancias() {
return numeroInstancias; } }
65
Métodos. Métodos
estáticos o de clase
Permite, acceder directamente a través del
nombre de la clase. Los métodos declarados
static tienen una restricción muy fuerte,
pueden acceder a atributos o métodos
también declarados como static.
EJEMPLO:
public static int cuantasInstancias() {
return numeroInstancias; }
66
Creación de objetos
Un objeto, desde nuestro punto de vista,
puede verse como una pieza de software que
cumple con ciertas características:
 Herencia
 Encapsulamiento
Herencia
Induce una jerarquía en forma de árbol
sobre las clases con raíz en la clase
Object. Una clase se dice que hereda o
extiende a otra clase antecesora
67
Encapsulamiento
Consiste en la ocultación del estado, de los
datos miembro de un objeto, de forma que
sólo es posible modificar los mismos,
mediante las operaciones (métodos, en
Java) definidos para dicho objeto.
Sobrescritura de constructores
los constructores, son métodos invocados en
el momento de la creación de instancias.
Como cualquier otro método se pueden
sobrescribir en el momento de la extensión.
68
Clases abstractas.
Un método se puede declarar como
abstract. El método así declarado
puede no implementar nada.
Qué es una excepción.
Es una situación anómala, que llega
la ejecución de un programa.
69
Tipos de excepciones:
existen dos :Los Errores
Excepciones propiamente dichas
Los Errores: son situaciones irrecuperables, por
ejemplo: fallos de la máquina virtual
Las excepciones : Cuando una excepción se
produce, se acompaña de toda la información
relevante para que podamos gestionarla
Creación de excepciones propias
La excepción más adecuada, y en el constructor
de la clase, llamar a la clase padre con el
mensaje que se desee mostrar cuando se
produzca la excepción.
70
BASE DE
DATOS
BASE DE DATOS
ARCHIVOS
¿Qué
es
una
Base
de
Datos?
• Una Base de Datos no es más que un
conjunto de información (un conjunto
de datos) relacionada que se
encuentra agrupada o estructurada.
• Informáticamente una Base de Datos
es un sistema formado por un
conjunto de datos almacenados en
memorias masivas que permiten
acceso directo a ellos y un conjunto
de programas que manipulan ese
conjunto de datos.
LOGRANDO
BASE DE DATOS
• SON SOFTWARES QUE PERMITEN GUARDAR
INFORMACION EN GRAN VOLUMEN
BASE de DATOS
TABLA
REGISTRO
CAMPOS
DATO
Interfase
INGRESO – CONSULTA – MODIFICAR - ELIMINAR - REPORTE
A
C
C
E
S
O
LENGUAJE DE
PROGRAMACION
VISUALFOX
VISUALBASIC
.NET
ORACLE
INFORMIX
R
E
C
U
R
S
I
V
I
D
A
D
BASE DE DATOS
CLIENTE
EXISTIENDO EN EL AMBIENTE INFORMATICO
Advantage Database
Mysql
LOGRANDO RELACIONARSE
Dbase
A NIVELES DE
File Maker
PROGRAMACIÒN CON
VisualFoxpro
VisualBasic
VISUAL FOX
IBM DB2
VISUAL
BASIC
IBM Informix
VISUAL BASIC.NET
Microsoft Access
ORACLE
Sql server
Nexus Db
POWER BUILDER
Open Access
ASP
Oracle
PHP
Paradox
ENTRE OTROS
Progress(DBMS)
SYBASE ASE
SQL SERVER COMPACT
Definición formal
• Es un conjunto exhaustivo (en su modelización del
mundo real) de datos estructurados, fiables y
homogéneos, organizados independientemente de
su utilización y de su implementación en máquina,
accesibles en tiempo real, compartibles por usuarios
concurrentes que tienen necesidades de
información diferentes y no predecibles en el
tiempo.
Propiedades de los datos
• Estructurados
independientemente
de
las
aplicaciones y del soporte de almacenamiento que
los contiene.
• Presentan la menor redundancia posible.
• Son compartidos por varios usuarios
aplicaciones.
• Están bajo un control centralizado.
y/o
•.
• Un
Sistemas de Gestión de B de D
SGBD es un conjunto de
programas de propósito general que
permite controlar el acceso y la
utilización de la Base de Datos, por
los usuarios, para incluir, modificar o
recuperar información, incluyendo
prestaciones para conseguir la
independencia, la integridad y la
seguridad de los datos, así como la
concurrencia de usuarios.
Características de las Tablas
• Una tabla está formada por Filas y Columnas.
• Las Filas son equivalentes a los Registros
de un
archivo clásico (contienen los valores de los objetos
o entidades descritas).
• Las Columnas son equivalentes a los Campos (que
representan los atributos de los objetos o entidades
descritas). El conjunto de valores que puede tomar
un campo se llama dominio.
TABLA
BASE DE DATOS---- CLIENTES
CAMPOS
DATO
R
E
G
I
S
T
R
O
S
PANTALLA PRINCIPAL DE
ACCESS
PASOS PARA CREAR LA TABLA EN ACCESS
Ejemplo de Tabla
Clave
Primaria
DNI
Nombre
Apellido
Teléfono
2341167
Pedro
Alonso
6273652
Nombre
Campos
Registro
5625711
María
Gómez
6718234
Registro
6718273
José
López
6715629
Registro
Campo
Campo
Campo
Campo
PROCESOS DE OPERACIÓN DE TABLA
PROCESOS DE OPERACIÓN ENTRE TABLAS