Conceptos Basicos Java y ED
Conceptos Basicos Java y ED
3
Conceptos Básicos de Java
Sensible a mayúsculas/minúsculas.
Palabras reservadas.
Comentarios.
Lenguaje de formato libre.
Identificadores.
Variables y constantes.
Convenciones de nomenclatura.
Tipos de datos.
Operadores.
4
Conceptos Básicos de Java
Palabras reservadas
5
Conceptos Básicos de Java
Paquetes
Paquetes: es un conjunto de clases e interfaces relacionadas que proveen acceso
protegido y administración de nombres.
Las clases e interfaces que son parte de la Plataforma Java están agrupadas
en paquetes de acuerdo a su función:
java.applet : para manejo de Applets.
java.io: para manejo de entrada/salida.
java.awt: para manejo de la GUI.
El programador agrupa sus clases e interfaces en paquetes, anteponiendo la claúsula
package NombreDel Paquete a las declaraciones de todas las clases e interfaces
agrupadas.
La plataforma JAVA importa automáticamente los siguientes paquetes: el default
package, el paquete java.lang y el paquete actual.
El alcance de la sentencia package es todo el archivo fuente.
Ejemplo:
6
Conceptos Básicos de Java
Paquetes (2)
Sentencia import: indica al compilador dónde están ubicadas las clases que estamos
importando.
Ejemplos:
import <nombre.paquete>.<NombreClase>;
import java.lang.String;
import <nombre.paquete>.*;
import java.lang.*;
7
Conceptos Básicos de Java
/* Comentario de más de
una línea */
Comentario de documentación. Se usa con javadoc
/** Método XYZ:
Realiza la labor X sobre los datos Y
devolviendo Z */
8
Conceptos Básicos de Java
9
Conceptos Básicos de Java
10
Conceptos Básicos de Java
11
Conceptos Básicos de Java
12
Conceptos Básicos de Java
13
Conceptos Básicos de Java
14
Conceptos Básicos de Java
Operador condicional: ? :
<exprBooleana> ? <valor1> : <valor2>
Permite bifurcaciones condicionales sencillas
15
Conceptos Básicos de Java
Control de Flujo
Las sentencias de control del flujo de ejecución permiten tomar decisiones y
realizar un proceso repetidas veces
Hay dos tipos principales de sentencias de control de flujo:
Condicionales: if, switch
Bucles: for, while, do while
Otras sentencias que permiten interrumpir el flujo normal de ejecución son break
y continue
16
Conceptos Básicos de Java
if (<exprBooleana>) { if (cont == 0) {
System.out.println(“cont = cero”);
<grupoSentencias>; System.out.println(“otra sentencia”);
} }
------------------------------------------------------- -------------------------------------------------------------------------------
if (<exprBooleana>) { if (cont == 0) {
<grupoSentencias>; System.out.println(“cont = cero”);
}else{ }else{
<grupoSentencias>; System.out.println(“cont != cero”);
} }
------------------------------------------------------- -------------------------------------------------------------------------------
if (<exprBooleana>) { if (nota<4) {
<grupoSentencias>; System.out.println("Insuficiente");
}else if (<exprBooleana>){ }else if (nota<6) {
<grupoSentencias>; System.out.println("Suficiente");
}else{ }else{
<grupoSentencias>; System.out.println(“Muy Bien");
} }
17
Conceptos Básicos de Java
18
Conceptos Básicos de Java
<inicialización> asignación del valor inicial de las variables que intervienen en la expresión
<exprBooleana> condición booleana
<actualización> nuevo valor de las variables en <inicialización>
19
Conceptos Básicos de Java
do while
20
Conceptos Básicos de Java
int i; resultado
for (i=1; i<=4; i++) {
Iteración: 1
if (i==3) break;
Iteración: 2
System.out.println("Iteración: "+i);
}
Continue
La instrucción continue sirve para transferir el control del programa desde la instrucción continue directamente a la
cabecera del bucle (for, do-while o while) donde se encuentra.
int i; resultado
for (i=1; i<=4; i++) {
Iteración: 1
if (i==3) continue;
Iteración: 2
System.out.println("Iteración: "+i);
Iteración: 4
}
21
Control de Flujo de las instrucciones de
• Selección :
• if, if-else y switch.
• Iteración :
• while, do-while y for.
• Transferencia :
• break, continue, return, try-catch-finally y assert.
22
Ejemplo
23
Consola I/O
• System.out : salida estándar al monitor
• Genera un objeto de tipo PrintStream
• System.in : entrada estándar del teclado
• Genera un objeto de tipo InputStream
• System.err : escribe un error estándar
24
Ejemplo para leer del teclado
25
Otro Ejemplo para leer del teclado
26
ESTRUCTURA DE DATOS
Ejemplo de uso Array
Declaración public char[] createArray() {
char s[]; char[] s;
Point p[]; s = new char[26];
char[] s; for ( int i=0; i<26; i++ ) {
Point[] p; s[i] = (char) (’A’ + i);
Un array es un objeto. }
Se crea con new return s;
}
31
Redimensionando un Array
NO SE PUEDE HACER
int[] myArray = { 1, 2, 3, 4, 5, 6 };
// nuevo array más grande
int[] hold = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// copia todo lo de myArray al array hold
33
Colección ordenada
CON elementos duplicados
Colección desordenada
SIN elementos duplicados
34
Ejemplo para SET
import java.util.*;
public class SetExample {
public static void main(String[] args) {
Set set = new HashSet();
set.add("one"); Imprime:
set.add("second"); [one, second, 5.0, 3rd, 4]
set.add("3rd");
set.add(new Integer(4));
set.add(new Float(5.0F));
set.add("second"); // duplicate, not added
set.add(new Integer(4)); // duplicate, not added
System.out.println(set);
}
}
35
Ejemplo para LIST
import java.util.*
public class ListExample {
public static void main(String[] args) {
List list = new ArrayList();
list.add("one");
Imprime:
list.add("second"); [one, second, 3rd, 4, 5.0, second, 4]
list.add("3rd");
list.add(new Integer(4));
list.add(new Float(5.0F));
list.add("second"); // duplicate, is added
list.add(new Integer(4)); // duplicate, is added
System.out.println(list);
}
} 36
Collections desde la versión 1.1
• La clase Vector implementa la interface List.
• La clase Stack es una subclase de Vector y soporta los métodos push,
pop, y peek.
• La clase Hashtable implementa la interface Map.
• La interface Enumeration es una variación de la interface Iterator.
Un enumeration es devuelto en los métodos de Vector, Stack, y
Hashtable.
37
Collections : Generics
38
39
Iterators
• Iteration es el proceso de recuperar cada elemento en una collecion.
• Un Iterator de un Set está desordenado.
• Un ListIterator de un List puede ser escaneado hacia adelante (usando el
método next ) o hacia atrás (usando el método previous).
Ejemplo:
List list = new ArrayList();
add some elements
Iterator elements = list.iterator();
while ( elements.hasNext() ) {
System.out.println(elements.next());
}
40
PROGRAMACIÓN ORIENTADA A OBJETOS
Conceptos Básicos de Java
Clases
Clases (3)
Modificadores de clase: son palabras reservadas que se anteponen a la declaración de
clase.
Sintaxis: modificador class NombreClase
Los modificadores posibles son los siguientes:
public. Toda clase public debe ser declarada en un fichero fuente con el nombre de
esa clase pública: NombreClase.java. De esta afirmación se deduce que en un
fichero fuente puede haber más de una clase, pero sólo una con el modificador
public.
abstract. Las clases abstractas no pueden ser instanciadas. Sirven únicamente
para declarar subclases que deben redefinir aquellos métodos que han sido
declarados abstract.
final. Una clase declarada final impide que pueda ser superclase de otras clases.
Dicho de otra forma, ninguna clase puede heredar de una clase final.
43
Conceptos Básicos de Java
Métodos
Los Métodos son bloques de código (subprogramas) definidos dentro de una clase.
Sintaxis: <tipoRetorno> <nombreMétodo> ( <listaArgumentos> )
donde <tipoRetorno> tipo devuelto por el método.
<nombreMétodo> identificador válido en Java.
<listaArgumentos> sucesión de pares tipo-valor separados por coma
ejemplo:
String darFormato (String dia, String mes, String anio) {
String s ;
s = dia + “/” + mes + “/” + anio ;
return s ;
}
Un método tiene acceso a todos los atributos de su clase.
Pueden ser llamados o invocados desde cualquier sitio.
Un método puede invocar a otros métodos.
En Java no se puede definir un método dentro de otro.
La ejecución de todos los programas se inician con el método main().
44
Conceptos Básicos de Java
Métodos (3)
Constructor: es un método especial de las clases que sirve para inicializar los objetos
que se instancian como miembros de una clase.
public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int vdia, int vmes, int vanio) {
dia = vdia;
mes = vmes;
anio = vanio;
}
public void mostrarFecha() {
System.out.println (dia+”/”+mes+”/”+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}
45
Conceptos Básicos de Java
Referencia this
this: es una palabra clave que hace referencia al objeto o instancia actual.
Usos:
Cuando se hace referencia a una variable miembro cuyo identificador coincide con el
identificador de un parámetro.
public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public void mostrarFecha() {
System.out.println (dia+”/”+mes+”/”+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}
46
Conceptos Básicos de Java
47
Conceptos Básicos de Java
48
Conceptos Básicos de Java
Herencia
Herencia: es el mecanismo por el que se crean nuevos objetos definidos en términos de
objetoa ya existentes.
Sintaxis: class NombreClaseHija extends NombreClasePadre
class Padre {
String variable;
void metodo() {
variable = “Padre”;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = “Hija”;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
49
Herencia Simple
public class Employee {
public String name = "";
public double salary;
public Date birthDate;
public String getDetails() {...}
}
Referencia super
super: es una palabra clave que se utiliza para referenciar atributos o métodos de la
superclase que han sido sobrescritos por la clase hija.
Usos:
Cuando se hace referencia a un atributo de la clase padre.
class Padre {
String variable;
void metodo() {
variable = “Padre”;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = “Hija”;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
51
Conceptos Básicos de Java
52
Conceptos Básicos de Java
class Padre {
String variable;
public Padre(String nombrevar) {
variable = nombrevar;
}
}
class Hija extends Padre {
String variable;
public Hija() {
super(“Padre”);
variable = “Hija”;
}
}
53
Conceptos Básicos de Java
Super
54
Conceptos Básicos de Java
Polimorfismo
Polimorfismo: indica “muchas formas”. Una clase sólo tiene una forma, pero una
variable que hace referencia a la superclase de una jerarquía puede tener muchas
formas (una por cada subclase).
55
Objetos Polimórficos
Employee [] staff = new Employee[1024];
staff[0] = new Manager();
staff[1] = new Employee();
staff[2] = new Engineer();
Interfaces
Interfaces: una interfaz es una colección de definiciones de métodos sin implementación
y declaraciones de constantes, agrupadas bajo un nombre.
Define un protocolo de comportamiento que debe ser implementado por cualquier
clase que pretenda utilizar ciertos servicios, con independencia de las relaciones
jerárquicas.
Las interfaces sirven para:
Declarar métodos que serán implementados por una o más clases. Define un conjunto de
métodos pero no los implementa.
Definir la interfaz de programación de un objeto, sin mostrar el cuerpo actual de la clase.
Una interfaz permite a objetos no relacionados interactuar.
Una clase que implementa una interfaz debe implementar cada uno de los métodos
que ésta define.
Una interfaz puede extender múltiples interfaces. Por lo tanto, se tiene herencia
múltiple de interfaces. Una interfaz sólo puede ser extendida por otra interfaz.
Una clase puede implementar varias interfaces.
57
Conceptos Básicos de Java
Interfaces
Declaracion:
58
Conceptos Básicos de Java
Interfaces
Representación en UML:
59
Conceptos Básicos de Java
Interfaces
Representación en UML:
60
Gracias