SlideShare una empresa de Scribd logo
JAVA ++
Ing. Jorge Butler B.
2
INTRODUCCION
Surgió en 1991.
Como lenguaje de programación en 1995.
Al programar en JAVA no se parte de cero
sino utiliza clases ya existentes.
El JDK (Java Development Kit) es un
conjunto de programas y librerías que
permiten desarrollar, compilar y ejecutar
programas en Java. Permite detener la
ejecución de un programa para ver el
valor de las variables.
3
INTRODUCCION
Un package es una agrupación de clases
que tienen una finalidad relacionada.
Existe una jerarquía de packages que se
refleja en en nombres compuestos
separados por un punto.
Es habitual nombrar los packages con
letras minúsculas y los nombres de clases
deben empezar siempre con mayúscula.
4
CONCEPTO DE CLASE Y
HERENCIA
Una clase es una agrupación de datos
(variables o campos) y de funciones
(métodos) que operan sobre esos datos.
A estos datos y funciones pertenecientes a
una clase se les denomina variables y
métodos o funciones miembro.
La POO se basa en el programación de
clases. Un programa se construye a partir
de un conjunto de clases
5
CLASE Y HERENCIA
Una vez definida e implementada una clase,
es posible declarar elementos de esta clase
de modo similar a como se declaran las
variables ( int, double, float, etc.).
Los elementos declarados de una clase se
denominan objetos de la clase.
La clase es lo genérico, es el patrón o
modelo para crear objetos.
6
CLASE Y HERENCIA
Cada objeto tiene sus propias copias de las
variables miembro , con sus propios valores
Las clases pueden tener variables static que
son propias de la clase y no de cada objeto.
La HERENCIA permite que se pueda
definir nuevas clases basadas en clases
existentes.
Una derivada de otra (extends) hereda
todas sus variables y métodos.
7
CLASE Y HERENCIA
La clase derivada puede añadir variables y
métodos a los heredados.
Todas las clases en Java son derivadas de
la clase java.lang.Object, por lo que
heredan todos los métodos y variables de
ésta.
Para indicar que una clase deriva de otra
se utiliza la palabra extends:
class CirculoGrafico extends Circulo
8
EJEMPLO DE
INSTRUCCIONES
En los ejemplos:
import java.util.Vector;
import java.awt.*;
Se importan clases de los packages de Java.
En el primero a la clase Vector y en el
segundo a todas las clases.
En Java todas son clases ; no se puede
definir una variable o una función que no
pertenezca a una clase.
9
EJEMPLO .....
class Ejemplo1
{ public static main(String arg[ ])
Las clases son verdaderos tipos de datos o
datos creados por el usuario.
Un objeto es una variable concreta de una
clase.
La definición de un programa siempre
comienza con el método main.
10
EJEMPLO......
System.out.println(“comienza el main”);
Imprime una cadena de caracteres en la
salida estándar del sistema.
Circulo c = new Circulo(2.0, 2.0, 4.0);
Es equivalente a:
Circulo c;
c = new Circulo (2.0, 2.0, 4.0);
11
EJEMPLO....
En esas instrucciones se crea una
referencia llamada c a un objeto de la
Clase Circulo.
Crear una referencia es como “crear” un
nombre válido para referirse a un objeto de
la clase.
Con el operador new se crea un objeto
propiamente dicho.
12
EJEMPLO.....
Los parámetros o argumentos que se
incluyen a continuación del nombre de la
clase se le pasan al constructor de la clase
y representan las coordenadas del centro y
el radio.
Debe tener en cuenta que una Clase es lo
genérico, en este caso Círculos, y un objeto
es algo en concreto, en este caso c es un
circulo especifico.
13
EJEMPLO....
La clase especifica que cada objeto
necesita tres datos: dos coordenadas y un
radio, que son las variables miembros de la
clase.
La sentencia:
System.out.println(“Radio = “ + c . r +
“unidades.”);
imprime un texto que contiene el valor del
radio.
14
EJEMPLO....
El operador + permite unir tres subcadenas
y se le conoce como operador de
concatenación.
Observe que el radio del objeto c aceza
colocando el nombre del objeto con un
punto y seguido por el nombre de la
variable.
15
EJEMPLO...
La palabra public indica que puede ser
utilizada por cualquier clase
La palabra static indica que es un método
de clase, es decir, un método que puede ser
usado aunque no se haya creado ningún
objeto de la clase.
16
NOMENCLATURA
En Java es habitual utilizar nombre con
minúscula.
Cuando un nombre consta de varias
palabras es habitual poner una a
continuación de otra, poniendo con
mayúscula la primera letra de la siguiente
palabra. Ej.. totalNotas.
El nombre de las clases deben comenzar
con mayúsculas.
17
NOMENCLATURA
Los nombres de objetos, los nombres de
métodos y variables miembro, el de las
variables locales comienzan siempre con
minúscula.
18
ESTRUCTURA GENERAL
Un programa fuente tiene una extensión
java (*.java).
Los programas compilados son *.class.
Un programa fuente puede tener mas de
una clase pero solo una puede ser public.
El nombre del archivo fuente debe coincidir
con el de la clase public
19
ESTRUCTURA GENERAL
Si en un archivo aparece la declaración:
public class MiClase {........}
entonces el nombre del archivo debe ser
MiClase. Java.
Deben coincidir mayúsculas y minúsculas.
Las clase de java se agrupan en packages
que son librerías de clases.
Si la clase no se define como miembro de
un package se utiliza el directorio activo.
20
VARIABLES
Es un nombre que contiene un valor que
puede cambiar a lo largo del programa.
Hay dos tipos principales de variables:
– Variables de tipos primitivos, están
definidas mediante un valor único.
– Variables referencia, son referencias o
nombres de una información mas
compleja como un array u objeto de una
determinada clase.
21
VARIABLES
Desde el punto de vista de su papel en el
programa, las variables pueden ser:
– Variables miembro de una clase: se
definen dentro de una clase, fuera de
cualquier método; pueden ser primitivos
o de referencia.
– Variables locales: se definen dentro de
un método o dentro de cualquier bloque
de instrucciones.
22
NOMBRE DE VARIABLES
Pueden ser cualquier conjunto de
caracteres numéricos o alfanuméricos.
No pueden incluirse como nombres las
palabras reservadas del Java.
Los tipos primitivos de variables aquellas
variables variables sencillas que contienen
los tipos de información mas habituales
tales como valores boleanos, caracteres y
de valores numéricos enteros o flotantes.
23
TIPOS PRIMITIVOS DE
VARIABLES
El Java dispone de 8 tipos: un tipo puede
almacenar valores verdadero y falso; otro
almacenar caracteres (char), y 6 tipos para
guardar valores numéricos.
Cuatro tipos para enteros (byte, short, int,
long).
Dos para valores de punto flotante (float y
double)
24
CARACTERISTICAS DE LOS
TIPOS PRIMITIVOS
El tipo boolean no es un valor numérico
(0-1) como en el C/C++, sino un valor true
o false.
El tipo char ocupa 2 bytes por carácter.
Los tipos byte, short, int, long son números
enteros que pueden ser positivos y
negativos. No existe el sin signo.
Se utiliza la palabra void para indicar la
ausencia de un tipo de variable
determinado.
25
DEFINICION E
INICIALIZACION DE
VARIABLES
Se define especificando el tipo y el nombre.
Las variables primitivas se inicializan a
cero (salvo boolean y char, que se
inicializan a false y ‘0’).
Las variables de tipo referencia son
inicializadas por defecto a un valor null.
Una referencia es una variable que indica
donde se encuentra un objeto (lugar en la
memoria del computador)
26
DEFINICION E
INICIALIZACION DE
VARIABLES
Si se desea que esta referencia apunte a un
nuevo tipo de objeto es necesario utilizar el
operador new, sino no se encuentra
apuntando a ningún objeto asignandosele el
valor null.
Un tipo particular de referencia son los
arrays o vectores ya sean de variables
primitivas o de objetos.
27
EJEMPLO DE
DECLARACION E
INICIALIZACION
int x; // Declaración de variable primitiva
int y = 5;
MyClass unaRef; // Referencia a un objeto
MyClass; se inicializa a null.
unaRef = new MyClass( );// La referencia
apunta al nuevo objeto creado.
MyClass segundaRef = unaRef;// Segunda
referencia, se inicializa igual a unaRef.
28
EJEMPLO DE
DECLARACION E
INICIALIZACION
int [ ] vector;//Array inicializado a null.
vector=new int[10];vector inicializado en 0
double [ ] v={1.0, 2.6, 3.1};// Declaración
e inicialización vector de 3 elementos.
MyClass [ ] lista = new MyClass[5]// Se
crea vector de 5 referencias a objetos. Las
5 referencias inicializadas en null.
29
EJEMPLO DE
DECLARACION E
INICIALIZACION
lista[0] = unaRef;
lista [1] = new MyClass;
En el ejemplo las referencias unaRef,
segundaRef y lista[0] actuarán sobre el
mismo objeto.
30
AMBITO DE UNA
VARIABLE
En Java todas las variables deben estar
incluidas en una clase.
Todas las variables definidas dentro de un
bloque son visibles y existen dentro de este
bloque.
Las variables definidas dentro de un if no
son validas al finalizar las sentencias
correspondientes a dicho if.
31
AMBITO DE UNA VARIABLE
Las variables miembro de una Clase
declarada como public son accesibles a
través de una referencia a un objeto de
dicha clase utilizando un operador punto.
Las variables miembro declaradas como
private no son accesibles directamente
desde otras clases.
Las funciones miembro de una clase tienen
acceso directo a todas las variables
miembro de la clase.
32
AMBITO DE UNA VARIABLE
Las funciones miembro de una clase B
derivada de una clase A , tienen acceso a
todas las variables miembro de A
declaradas como public o protected, pero
no las declaradas como private.
Es posible declarar una variable dentro de
un bloque con el mismo nombre que una
variable miembro , pero no con el mismo
nombre de otra variable local.
33
AMBITO DE UNA VARIABLE
La variable declarada dentro de un bloque
oculta a la variable miembro en ese bloque.
Para acceder a la variable miembro oculta
será preciso utilizar el operador this.
La forma de crear nuevos objetos es
utilizando el operador new.
34
AMBITO DE UNA VARIABLE
Cuando se utiliza el operador new, la
variable de tipo referencia guarda la
posición de memoria donde esta
almacenado este nuevo objeto.
La eliminación de los objetos la realiza el
garbage collector, quien automáticamente
libera o borra la memoria ocupada por un
objeto cuando no existe una referencia
apuntando hacia dicho objeto.
35
OPERADORES
Aritméticos: +, -, *, / , %.
Asignación: +=, -=, *=, /=, %=
Unarios: +, - sirven para mantener o
cambiar el signo de una variable, constante
o expresión.
El operador instanceof permite saber si un
objeto pertenece a una determinada clase o
no. Nombre_objeto instanceof nom_clase
36
OPERADORES
El operador condicional ? Permite realizar
bifurcaciones.
expresión_booleana ? res1 : res2
z = (x > y) ? X+3 : x+5;
Evalúa y devuelve res1 se el resultado es
true y res2 si es false.
El Java dispone del operador de
incremento ++ y decremento --.
37
OPERADORES
Existen los siguiente operadores relacionales:
<, >, >=, <=, ==, !=.
Existen los sgtes. Operadores lógicos:
&&, | | , ! , & , |
Si se considera solamente un & o | la
evaluación del segundo operando se realiza
ahunque la evaluación del primer operando
de respuesta negativa.
38
OPERADORES
El operador + se utiliza para concatenar
cadena de caracteres.
System.out.println(“El resultado asciende a
“ + result + “unidades”);
Todos los operadores excepto los de
asignación se evalúan se izquierda a
derecha.
39
SENTENCIA IF
Las estructuras de control permiten tomar
decisiones y realizar un proceso repetidas
veces.
Las bifurcaciones permiten ejecutar una
entre varias acciones en función del valor
de una expresión lógica o relacional.
La bifurcación if permite ejecutar un
conjunto de sentencias en función del valor
que tenga la condición.
40
SENTENCIA IF
if (expresión booleana)
{ ...........................
sentencias;
}
else
{ .........................
sentencias;
}
41
EJEMPLO DE SENTENCIA
IF
int numero = 61;
if (Math.abs(numero) < 10)
Math.abs calcula el valor absoluto
System.out.println(“numero tiene un
digito”);
else if (Math.abs(numero)<100)
System.out.println(“tiene dos digitos”);
else
System.out.println(“tiene mas de dos”);
42
SENTENCIA SWITCH
Es una alternativa al if para mas de dos
salidas.
switch (expresion)
{ case value1: sentencia; break;
case value2: sentencia; break;
case value3: sentencia; break;
default: sentencia;
}
43
SENTENCIA SWITCH
No es posible establecer rango de
condiciones, sino se debe comparar con
valores concretos.
En ausencia del break se ejecutan todas las
condiciones que siguen hasta encontrar un
break o termine el switch.
44
SENTENCIA SWITCH
char c = (char) (Math.random( ) * 26 +’a’);
Generación aleatoria de letras minúsculas
System.out.println (“La letra “ + c);
switch ( c )
{ case ‘a’:
case ‘e’:
case ‘i’:
case ‘o’:
case ‘u’ :
System.out.println (“es una vocal”); break;
}
45
BUCLE WHILE
El conjunto de sentencias se ejecuta
mientras la condición sea true.
while (condicion)
{ sentencia;
}
while (x>10)
{ P = Q+8;
x= x-1;
}
46
BUCLE FOR
Es semejante al while, con la diferencia que
el incremento o decremento de la variable
de control se realiza automáticamente.
for (int i=1, j=i+10; i<5; i++, j=2*i)
{System.out.println(“ i = “+ i + “j =” + j);
}
Salida: 1,11; 2,4; 3,6; 4,8
47
BUCLE DO WHILE
Es similar al bucle while pero con la
particularidad de que el control está al
final del bucle..
do
{ sentencia;
................
} while (condición)
48
SENTENCIA BREAK Y
CONTINUE CON ETIQUETAS
Las etiquetas permiten indicar un lugar
donde continuar la ejecución de un
programa después de un break o un
continue.
El único lugar donde se pueden incluir
etiquetas es justo delante de un bloque de
instrucciones entre llaves (if, switch, while,
do...while, for) y solo se deben utilizar
cuando se tiene uno o mas bucles dentro de
otro bucle y se desea salir o continuar
49
EJEMPLO BREAK
bucleI:
for (int i=0, j=0; i<100; i++)
{ while (true)
{ if ((++j) >5)
break bucleI;
finaliza ambos bucles
else break; } }
finaliza bucle interno
50
CLASES EN JAVA
La clases son el centro de la POO.
Las clases pueden ser declaradas como
públicas (public) y como package
(accesible sólo para otras clases del
package)
Las variables miembro y los métodos
pueden ser public, private, protected, y
package.
Una clase puede derivar de otra y es ese
caso hereda todas sus variables y métodos.
51
CLASES EN JAVA
Una clase derivada puede añadir nuevas
variables y métodos y/o redefinirlos.
Los objetos de distintas clases
pertenecientes a una misma jerarquía o que
implementan una misma interface pueden
tratarse de una forma general e
individualizada, al mismo tiempo.
Una clase es una agrupación de datos y de
funciones que operan sobre esos datos.
52
CLASES EN JAVA
[public] class nombre
{ declaración de variables y métodos
.............................
}
La palabra public es opcional, si no se pone
la clase solo es visible para las demás
clases del package. Todos los métodos y
variables deben ser definidos dentro de las
llaves de la clase.
53
CLASES EN JAVA
Un objeto es un ejemplar concreto de la
clase, las clases son como los tipos de
variables.
Todas las variables y funciones deben
pertenecer a una clase. No hay variables y
funciones globales.
Si una clase deriva de otra (extends),
hereda todas sus variables y métodos.
54
CLASES EN JAVA
Java tiene una jerarquía de clases estándar
de la que pueden derivar las clases que
crean los usuarios.
Una clase solo puede heredar de una única
clase.
Si no se indica de que clase deriva, por
defecto la clase deriva de Object que es la
base de toda la jerarquía de clases.
55
CLASES EN JAVA
En un archivo se pueden definir varias
clases, pero no puede haber mas que una
clase public . Este archivo se debe llamar
igual que la clase public con extensión
java.
Si una clase contenida en un archivo no es
public puede tener otro nombre.
Las clases se pueden agrupar en packages
introduciendo al comienzo del archivo:
package nombre_del_package
56
VARIABLES MIEMBRO DE
OBJETO
Cada objeto tiene su propia copia de
variables miembro.
Las variables miembro de una clase,
también llamadas campos pueden ser de
tipos primitivo (boolean, int, long, etc.) u
referencia a objetos de otra clase.
No pueden existir datos sin inicializar.
Las de tipo primitivo se actualizan
automáticamente.
57
VARIABLES MIEMBRO DE
OBJETO
También es posible hacerlo en la
declaración :
long nDatos = 100;
Las variables miembro se inicializan en el
mismo orden en que aparecen en la
codificación de la clase si es que unas
dependen de otras.
Se puede aplicar un método a un objeto
poniendo el nombre del objeto y luego el
nombre del método separados por un punto
58
VARIABLES MIEMBRO DE
OBJETO
Las variables miembro pueden ir
precedidas en su declaración por uno de los
modificadores de acceso: public, private,
protected, package.
59
VARIABLES MIEMBRO DE
CLASE
Una clase puede tener variables propias de
la clase y no de cada objeto
A estas variables se le conocen con el
nombre de variables de clase o static.
Pueden usarse para definir constantes
comunes para todos los objetos de la clase.
Son parecidas a las variables globales en
C++.
60
VARIABLES MIEMBRO DE
CLASE
Las variables de clase se crean
anteponiendo la palabra static a su
declaración.
Para llamarlas se puede utilizar el nombre
de la clase o del objeto antepuesto con un
punto. Circulo.nCirculos
Si no se les da valor en la declaración, las
variables miembro static se inicializan con
los valores por defecto.
61
VARIABLES DE TIPO FINAL
Una variable de tipo primitivo declarada
como final no puede cambiar su valor a lo
largo de la ejecución.
Puede ser considerada como una constante
y equivale a la palabra const del C++.
Pueden ser final tanto las variables
miembro como las locales.
62
METODOS DE OBJETOS
Son funciones definidas dentro de una clase
Salvo los métodos static o de clase, se
aplican siempre a un objeto de la clase por
medio del operador punto.
public
Circulo elMayor(Circulo c)
{ if (this . r>=c)
return this
else return c;
63
METODOS DE OBJETOS
Al comienzo se debe definir el tipo del valor
de retorno.
Los métodos tienen visibilidad directa de
las variables miembro del objeto, es decir
acceder a ellas sin calificarlas con un
nombre de objeto o también mediante el
operador this.
El valor de retorno puede ser un valor de
tipo primitivo o una referencia..
64
METODOS DE OBJETOS
Solo puede haber un valor de retorno que
puede ser un objeto o un array.
Se puede devolver un objeto de la misma
clase o de una subclase.
Los métodos pueden definir variables
locales que a diferencia de las variables
miembro no se inicializan por defecto.
Si se incluye la palabra native en la
definición permite incluir funcione escritas
en otros lenguajes que se encuentran
almacenadas en al librería DLL.
65
METODOS
SOBRECARGADOS
Al igual que el C++ permite usar métodos
distintos con el mismo nombre que se
diferencian por el número y/o tipo de los
argumentos.
Si existe el método cuyos argumentos se
ajuste exactamente al tipo de los
argumentos de la llamada, se llama a este.
Si no existe uno que se ajuste exactamente,
se intenta promover los argumentos de la
llamada al tipo inmediato superior y se
llama al método que coincida.
66
PASO DE ARGUMENTOS
Los argumentos de los tipos primitivos se
pasan siempre por valor.
Se puede pasar una referencia a un objeto y
dentro de la función utilizar los métodos de
ese objeto.
Dentro de un método se pueden usar
variables locales de los tipos primitivos o
referencias, las cuales dejan de existir al
termino de la ejecución del método.
Los argumento ficticios de un método
tienen categoría de variables locales del
método.
67
METODOS DE CLASE
Son los métodos que no actúan sobre
objetos concretos a través del operador
punto.
Pueden recibir objetos de su clase como
argumentos explícitos, pero no tienen
argumento implícito ni pueden utilizar this.
Los métodos y variables de clase se crean
anteponiendo la palabra static.
Para llamarlos se utiliza el nombre de la
clase: Math . sin (ángulo)
68
CONSTRUCTORES
Es un método que se llama
automáticamente cada vez que se crea un
objeto de una clase.
La principal función del constructor es
reservar memoria e inicializar las variables
miembro de la clase.
Los constructores no tienen valor de
retorno y su nombre es igual al de la clase.
69
CONSTRUCTORES
Su argumento implícito es el objeto que se
está creando.
Una clase tiene varios constructores que se
diferencian por el tipo y número de
argumentos.
Se llama constructor por defecto al que no
tiene argumentos.
El constructor de una subclase puede
llamar al constructor de su superclase por
medio de la palabra super.
70
CONSTRUCTORES
De esta forma un constructor solo tiene que
inicializar por si mismo las variables no
heredadas.
Si el programador no crea un constructor
para una clase, el compilador crea uno por
defecto.
Los constructores pueden tener los
modificadores de acceso public, private, etc
71
INICIALIZADORES STATIC
Es un método que se llama
automáticamente al crear la clase . Se
diferencia del constructor en que no es
llamado para cada objeto sino una vez para
toda la clase.
Los inicializadores static se crean dentro de
la clase, como métodos sin nombre y sin
valor de retorno, con tan solo la palabra
static y el código entre llaves.
72
PACKAGES
Es una agrupación de clases.
Para que una clase pase a formar parte de
un package, por ejm. Llamado pkgName se
tiene que codificar:
package pkgName
como primera sentencia del archivo.
Los nombres de los packages se suelen
escribir con minúscula para distinguirlos
de las clases.
73
PACKAGES
Todas las clases que forman parte de un
package deben estar en el mismo directorio.
Se utilizan para agrupar clases
relacionadas.
La sentencia import permite abreviar el
nombre de las clases, variables y métodos,
evitando el tener que escribir
continuamente el nombre del package.
Se importan por defecto el package
java.lang y el package actual o por defecto.
74
LA CLASE OBJECT
Es la raíz de toda la jerarquía de clases,
todas las clases derivan de ella.
Una clase puede redefinir cualquiera de los
métodos heredados de su superclase.
El nuevo método sustituye al heredado.
Los métodos de la superclase que han sido
redefinidos pueden ser accedidos por medio
de la palabra super.
75
CLASES O METODOS
ABSTRACTOS
Una clase abstracta es aquella de la que no
se pueden crear objetos.
Su utilidad es permitir que otras clases
deriven de ella.
public abstract class Geometria
Una clase abstract puede tener métodos
que no son abstract.
Un método abstract no puede ser static.
76
INTERFACES
Es un conjunto de declaraciones de
métodos (sin definición) .
Una clase puede implementar una o varias
interfaces.
public class CirculoGrafico extends
Circulo implements Dibujable, Clonable
Una interface se define de modo similar a
una clase
77
INTERFACES
public interface Dibujable
{ public void setposicion(double x,
double y);
public void dibujar(Graphics dw);
}
Cada interface public debe ser definida en
un fichero *.java con el mismo nombre de
la interface.
78
INTERFACES
Solo permiten los modificadores public y
package.
Cuando una interface deriva de otra
incluye todas sus constantes y
declaraciones de métodos.
Las constantes definidas en una interface se
pueden utilizar en cualquier clase
precediendolas del nombre de la interface.
79
ARRAYS
Se tratan como objetos de una clase
definida.
Son objetos pero con características
propias
Los arrays pueden ser asignados a objetos
de la clase Object y los métodos de Object
pueden ser utilizados con arrays.
Se crean con el operador new seguido del
tipo y número de elementos.
80
ARRAYS
Se puede acceder al número de elementos
de un array con la variable miembro
implícita length. Ejm: vect . Length
Se accesa a los elementos con los corchetes
y un índice que varia de 0 a length-1.
Se puede crear array de objetos de
cualquier tipo. En principio un array de
objetos es un array de referencias que hay
que completar llamando al operador new.
81
ARRAYS
Los elementos de un array se inicializan al
valor por defecto del tipo correspondiente.
Cero para valores numéricos cadena vacía
para string, false para booleano y null para
referencias.
Como todos los objetos, los arrays se pasan
como argumentos a los métodos por
referencia.
82
ARRAYS
Se pueden inicializar con los valores entre
llaves, separados por comas.
También los arrays de objetos se pueden
inicializar con varias llamadas a new
dentro de unas llaves.
Si se igualan dos referencias a un array no
se copia el array, sino que se tiene un array
con dos nombres, apuntando al mismo
objeto.
83
ARRAYS
Es posible dos formas para crear una
referencia a un array:
double[ ] x; //preferible
double x [ ];
Creación del array con el operador new
x = new double [100];
La referencia y la creación se pueden
juntar
double[ ] x = new double [100];
84
EJEMPLOS DE CREACION
DE ARRAYS
Crear un array de 10 enteros que se
inicializan en cero.
int v[ ] = new int[10];
Crear un array inicializando con valores:
int v[ ] = (0,1,2,3,4,5,6,7,8,9);
string dias[ ] =
(“lunes”,”martes”,”miercoles”,”jueves”);
85
EJEMPLOS DE CREACION
DE ARRAYS
Array de 5 objetos
MiClase listaObj[ ] = new MiClase [5]
for (i=0; i<5; i++)
listaObj[i] = new MiClase (....);
86
ARRAYS
BIDIMENCIONALES
Se crean de un modo muy similar al de C+
+
Puede crearse directamente de la forma:
int [ ] [ ] mat = new int [3] [4];
También se puede crear con los sgtes pasos
int [ ] [ ] mat;
mat = new int(nfilas)[ ];
for (i=0; i<nfilas; i++)
mat [i] = new int(ncols);
87
EJEMPLO DE ARRAYS
BIDIMENCIONALES
Crear una matriz de 3 * 3 inicializada en 0:
double mat [ ] [ ] = new double [3][3]
Matriz con carga de valores:
int [ ] [ ] b = ((1,2,3),
(4,5,6),
(7,8,9));
int c=new[3][] //array de referencia a array
c[0]=new int[5]; c[1]=new in[4];
88
CLASES STRING Y
STRINGBUFFER
Están orientadas a manejar cadenas de
caracteres constantes (que no pueden
cambiar), o que el programador ingrese la
cadena de caracteres.
Ambas clases pertenecen al package
java.lang y por lo tanto no hay que
importarlas.
Los métodos de string se pueden utilizar
directamente sobre literales como por
ejemplo “hola”.length;
89
METODOS DE LA CLASE
STRING
Los objetos de la clase string se pueden
crear a partir de cadenas de caracteres
definidas entre “, como por ejemplo
“hola”.java.
La forma de crear objetos de la clase es la
siguiente:
String str1 = “HOLA”
String str2 = new String (“HOLA”);
90
METODOS DE LA CLASE
STRING
El método charAt(int) devuelve el carácter
en la posición especificada.
El método getChars(int,int, char[ ], int )
copia los caracteres indicados en la
posición indicada de un array de
caracteres.
indexOf (String,[int]) devuelve la posición
en la que aparece por primera vez un string
en otro string , a partir de una posición
dada.
91
METODOS DE LA CLASE
STRING
lastIndexOff(strig,[int]) devuelve la última
vez un string aparece en otro empezando en
una posición y hacia el principio.
lenght( ) devuelve el número de caracteres.
replace(char,char) sustituye un carácter
por otro en un string.
startsWith(string) indica si un string
comienza con otro string o no.
92
METODOS DE LA CLASE
STRING
substring(int,int) devuelve un string
extraído de otro.
toLowerCase( ) convierte en minúsculas.
toUpperCase( ) convierte en mayúsculas.
trim( ) elimina los espacios en blanco.
valueOf( ) devuelve la representación como
string de sus argumentos.
93
METODOS DE LA CLASE
STRINGBUFFER
La clase stringBuffer se usa siempre que se
desea modificar una cadena de caracteres.
Hay muchos métodos cuyos argumentos
deben ser objetos string , que antes de
pasar esos argumentos se debe realizar la
conversión.
stringBuffer( ), stringBuffer(int),
stringBuffer(string) son constructores.
94
METODOS DE LA CLASE
STRINGBUFFER
capacity( ) devuelve le espacio libre del
stringBuffer.
charAt(int) devuelve el carácter en la
posición especificada.
getChars(int,int,char[ ] int) copia los
caracteres indicados en la posición
indicada de un array de caracteres.
insert(in, ) inserta un string o un valor en
la posición especificada
95
METODOS DE LA CLASE
STRINGBUFFER
length( ) devuelve le número de caracteres
de una cadena.
reverse( ) cambia el orden de los
caracteres.
setCharAt(int,car) cambia el carácter en la
posición indicada.
setLenght( int ) cambia el tamaño de un
stringBuffer.
toString( ) convierte en objeto de tipo string
96
WRAPPERS
Son clases diseñadas para ser un
complemento de los tipos primitivos.
Los tipos primitivos se pasan como
argumento a los métodos por valor(ya que
no son objetos), mientras que los objetos se
pasan por referencia.
No hay forma de modificar en un método un
argumento de tipo primitivo y que esa
modificación se trasmita al entorno que
hizo la llamada.
97
WRAPPERS
La forma de lograrlo es usando un wrapper
Es un objeto cuya variable miembro es el
tipo primitivo que se quiere modificar.
Existe una clase wrapper para cada uno de
los tipos primitivos numéricos, esto es,
existen las clases Byte, Short, Integer,
Long, Float y Double.
Observe que los nombres empiezan con
mayúscula siguiendo la nomenclatura del
Java.
98
CLASE DOUBLE
La clase java . lang . Double deriva de
Number, que a su vez deriva de Object.
Esta clase contiene un valor primitivo de
tipo double.
Los métodos Double(double) y
Double(String) son los constructores de
esta clase.
doubleValue( ), floatValue( ), intValue( ),
shortValue( ) y byteValue( ) son los
métodos para obtener el valor del tipo
primitivo.
99
CLASE DOUBLE
String tostring( ), Double valueOf(String)
son los conversores con la clase string.
equals(Object) sirve para comparar con
otro objeto.
MAX_DOUBLE, MIN_DOUBLE,
POSITIVE_INFINITY,
NEGATIVE_INFINITY, TYPE son
constantes predefinidas.
100
CLASE INTEGER
La clase java.lang.Integer tiene como
variable miembro un valor del tipo int. Sus
métodos son los siguientes:
Integer(int), Integer(String) son los
constructores de la clase.
doubleValue( ), floatValue( ), longValue( ),
intValue( ), shortValue( ), y byteValue( )
son los conversores con otros tipos
primitivos.
101
CLASE INTEGER
Integer decode(String), Integer parseInt
(String), String toString( ), Integer
ValueOf(String) son conversores con string.
MAX_VALUE, MIN_VALUE, TYPE son
constantes predefinidas.
Los Wrappers Byte, Short y Long son
similares a Integer
Los Wrappers son utilizados para convertir
cadenas de caracteres (texto) en números.
102
CLASE INTEGER
Los ejemplos siguientes muestran algunas
conversiones:
String numDecimalString = “8.976”;
float numFloat =
Float.valueOf(numDecimalString).floatValu
e( );
double numDouble =
Double.valueOf(numDecimalString).double
Value( );
103
CLASE INTEGER
String numIntString = “1001”;
int numInt=
Integer.valueOf(numIntString).intValue( );
En el caso de que el texto no se pueda
convertir directamente al tipo especificado
se lanza una excepción de tipo
NumberFormatException, por ejemplo si se
intenta convertir directamente el texto
“4.897” en un entero.
104
CLASE MATH
Java.lang.Math deriva de Object.
Proporciona métodos static para realizar
las operaciones matemáticas más
habituales.
Proporciona además las constantes E y PI.
Sus métodos son los siguientes:
abs( ), acos( ), sin( ), tan( ), asin( ), exp(),
atan( ), max( ), min( ), ramdom( ), round( ),
power( , ) (devuelve el primer argumento
elevado al segundo)
105
CLASE MATH
rint(double) devuelve el entero mas
próximo.
sqrt( ) devuelve la raíz cuadrada.
IEEEremainder(double,double) calcula el
resto.
toDegrees(double) pasa de radianes a
grados.
toRadians( ) pasa de grados a radianes.
106
CLASE VECTOR
Representa un array de objetos que puede
crecer y reducir, según el número de
elementos.
Permite acceder a los elementos con un
índice,aunque no permite el uso de
corchetes.
El método capacity( ) devuelve le tamaño
del vector.
107
CLASE VECTOR
El método size( ) devuelve le número de
elementos que realmente contiene, mientras
que capacityIncrement es una variable que
indica el salto que se dará en el tamaño
cuando se necesite crecer.
El método elementCount devuelve le
número de componentes válidos del vector.
108
METODOS DE LA CLASE
VECTOR
Vector( ), Vector(int), Vector(int,int) son
constructores que crean un vector vacío,
uno de la capacidad indicada y un vector
de la capacidad e incremento indicados.
109
El ABSTRACT WINDOWS
TOOLKIN (AWT)
Se encarga de construir interfaces gráficas.
Se utiliza en la creación de eventos.
Para construir una interface gráfica se
requiere lo siguiente;
– Un contenedor o container, que es la
ventana donde se situarán los
componentes (botones, barras de
desplazamientos, etc)
110
El ABSTRACT WINDOWS
TOOLKIN (AWT)
– Los componentes: menús, botones de
comandos, barras de desplazamiento,
cajas y áreas de texto, botones de opción
y selección, etc.
– El modelo de eventos. El usuario
controla la aplicación actuando sobre los
componentes con el ratón o con el
teclado. Cada vez que el usuario realice
una determinada acción se produce un
evento.
111
El ABSTRACT WINDOWS
TOOLKIN (AWT)
El AWT crea un objeto de una determinada
clase de evento, derivada de AWTEvent. Este
evento es transmitido a un determinado método
para que lo gestione.
112
OBJETOS EVENT SOURCE Y
EVENT LISTENER
El modelo de eventos en Java está basado
en que los objetos sobre los que se
producen los eventos (event source)
“registran” los objetos que habrán de
gestionarlos (event listener), para lo cual
los event listeners habrán de disponer de
los métodos adecuados.
Estos métodos se llamarán
automáticamente cuando se produzca el
evento.
113
OBJETOS EVENT SOURCE Y
EVENT LISTENER
La forma de garantizar que los event
listeners disponen de los métodos
apropiados para gestionar los eventos es
obligarles a implementar una determinada
interface listener.

Más contenido relacionado

La actualidad más candente

Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
martosfre
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
martosfre
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
Renny Batista
 
JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
Jose Antonio
 
Poo Java
Poo JavaPoo Java
Poo Java
eccutpl
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Sergio Sanchez
 
2.android java
2.android   java2.android   java
2.android java
guidotic
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
cibernano
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
Clara Patricia Avella Ibañez
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
Kimuro Vissaseus
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
Clara Patricia Avella Ibañez
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
brayan0015
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Clasesyobjetos
ClasesyobjetosClasesyobjetos
Clasesyobjetos
Christian Simbaña
 
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIASUnidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Cindy Adriana Bohórquez Santana
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 

La actualidad más candente (20)

Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
2.android java
2.android   java2.android   java
2.android java
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Apoo v
Apoo vApoo v
Apoo v
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
Introduccio al Java
Introduccio al JavaIntroduccio al Java
Introduccio al Java
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Clasesyobjetos
ClasesyobjetosClasesyobjetos
Clasesyobjetos
 
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIASUnidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIAS
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 

Similar a Curso Java - Programación Digital

secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
202100941c
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2Mariano Galvez
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
ar qb
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de java
UNEFA
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
MariaTeresaGarznPrez
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
Marielena Lujano
 
Clases y variables
Clases y variablesClases y variables
Clases y variablesmaderin33
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
TAtiizz Villalobos
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigosHectorMamani
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
Karla Estefania Villanueva Epigmenio
 
Que es una clase en java
Que es una clase en javaQue es una clase en java
Que es una clase en java
Andres Vasquez
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
JCarlosCrespo
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo
 

Similar a Curso Java - Programación Digital (20)

secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
Variables en java
Variables en javaVariables en java
Variables en java
 
Datos previos
Datos previosDatos previos
Datos previos
 
Leccion 6 Java
Leccion 6 JavaLeccion 6 Java
Leccion 6 Java
 
a) Introducción
a) Introduccióna) Introducción
a) Introducción
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de java
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
Clases y variables
Clases y variablesClases y variables
Clases y variables
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
Que es una clase en java
Que es una clase en javaQue es una clase en java
Que es una clase en java
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 

Más de Andy Juan Sarango Veliz

Examen final de CCNA Routing y Switching Academia OW
Examen final de CCNA Routing y Switching  Academia OWExamen final de CCNA Routing y Switching  Academia OW
Examen final de CCNA Routing y Switching Academia OW
Andy Juan Sarango Veliz
 
Criptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de SeguridadCriptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de Seguridad
Andy Juan Sarango Veliz
 
Alfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador WebAlfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador Web
Andy Juan Sarango Veliz
 
Alfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos BásicosAlfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos Básicos
Andy Juan Sarango Veliz
 
Alfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos BásicosAlfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos Básicos
Andy Juan Sarango Veliz
 
Gestión y Operación de la Ciberseguridad
Gestión y Operación de la CiberseguridadGestión y Operación de la Ciberseguridad
Gestión y Operación de la Ciberseguridad
Andy Juan Sarango Veliz
 
Tecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de serviciosTecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de servicios
Andy Juan Sarango Veliz
 
3. wordpress.org
3. wordpress.org3. wordpress.org
3. wordpress.org
Andy Juan Sarango Veliz
 
2. wordpress.com
2. wordpress.com2. wordpress.com
2. wordpress.com
Andy Juan Sarango Veliz
 
1. Introducción a Wordpress
1. Introducción a Wordpress1. Introducción a Wordpress
1. Introducción a Wordpress
Andy Juan Sarango Veliz
 
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Andy Juan Sarango Veliz
 
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Andy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital ISoftware Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital I
Andy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FMSoftware Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FM
Andy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AMSoftware Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AM
Andy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionSoftware Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio Companion
Andy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: IntroducciónSoftware Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: Introducción
Andy Juan Sarango Veliz
 
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
Andy Juan Sarango Veliz
 
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generaciónLos cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
Andy Juan Sarango Veliz
 
ITIL Foundation ITIL 4 Edition
ITIL Foundation ITIL 4 EditionITIL Foundation ITIL 4 Edition
ITIL Foundation ITIL 4 Edition
Andy Juan Sarango Veliz
 

Más de Andy Juan Sarango Veliz (20)

Examen final de CCNA Routing y Switching Academia OW
Examen final de CCNA Routing y Switching  Academia OWExamen final de CCNA Routing y Switching  Academia OW
Examen final de CCNA Routing y Switching Academia OW
 
Criptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de SeguridadCriptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de Seguridad
 
Alfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador WebAlfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador Web
 
Alfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos BásicosAlfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos Básicos
 
Alfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos BásicosAlfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos Básicos
 
Gestión y Operación de la Ciberseguridad
Gestión y Operación de la CiberseguridadGestión y Operación de la Ciberseguridad
Gestión y Operación de la Ciberseguridad
 
Tecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de serviciosTecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de servicios
 
3. wordpress.org
3. wordpress.org3. wordpress.org
3. wordpress.org
 
2. wordpress.com
2. wordpress.com2. wordpress.com
2. wordpress.com
 
1. Introducción a Wordpress
1. Introducción a Wordpress1. Introducción a Wordpress
1. Introducción a Wordpress
 
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
 
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
 
Software Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital ISoftware Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital I
 
Software Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FMSoftware Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FM
 
Software Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AMSoftware Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AM
 
Software Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionSoftware Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio Companion
 
Software Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: IntroducciónSoftware Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: Introducción
 
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
 
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generaciónLos cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
 
ITIL Foundation ITIL 4 Edition
ITIL Foundation ITIL 4 EditionITIL Foundation ITIL 4 Edition
ITIL Foundation ITIL 4 Edition
 

Último

PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
LuisPerezIgnacio1
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
CarlosAroeira1
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
Pol Peña Quispe
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
michiotes33
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 

Último (20)

PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV1º Caso Practico Lubricacion Rodamiento Motor 10CV
1º Caso Practico Lubricacion Rodamiento Motor 10CV
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOLNORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
NORMATIVA AMERICANA ASME B30.5-2021 ESPAÑOL
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 

Curso Java - Programación Digital

  • 1. JAVA ++ Ing. Jorge Butler B.
  • 2. 2 INTRODUCCION Surgió en 1991. Como lenguaje de programación en 1995. Al programar en JAVA no se parte de cero sino utiliza clases ya existentes. El JDK (Java Development Kit) es un conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java. Permite detener la ejecución de un programa para ver el valor de las variables.
  • 3. 3 INTRODUCCION Un package es una agrupación de clases que tienen una finalidad relacionada. Existe una jerarquía de packages que se refleja en en nombres compuestos separados por un punto. Es habitual nombrar los packages con letras minúsculas y los nombres de clases deben empezar siempre con mayúscula.
  • 4. 4 CONCEPTO DE CLASE Y HERENCIA Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y métodos o funciones miembro. La POO se basa en el programación de clases. Un programa se construye a partir de un conjunto de clases
  • 5. 5 CLASE Y HERENCIA Una vez definida e implementada una clase, es posible declarar elementos de esta clase de modo similar a como se declaran las variables ( int, double, float, etc.). Los elementos declarados de una clase se denominan objetos de la clase. La clase es lo genérico, es el patrón o modelo para crear objetos.
  • 6. 6 CLASE Y HERENCIA Cada objeto tiene sus propias copias de las variables miembro , con sus propios valores Las clases pueden tener variables static que son propias de la clase y no de cada objeto. La HERENCIA permite que se pueda definir nuevas clases basadas en clases existentes. Una derivada de otra (extends) hereda todas sus variables y métodos.
  • 7. 7 CLASE Y HERENCIA La clase derivada puede añadir variables y métodos a los heredados. Todas las clases en Java son derivadas de la clase java.lang.Object, por lo que heredan todos los métodos y variables de ésta. Para indicar que una clase deriva de otra se utiliza la palabra extends: class CirculoGrafico extends Circulo
  • 8. 8 EJEMPLO DE INSTRUCCIONES En los ejemplos: import java.util.Vector; import java.awt.*; Se importan clases de los packages de Java. En el primero a la clase Vector y en el segundo a todas las clases. En Java todas son clases ; no se puede definir una variable o una función que no pertenezca a una clase.
  • 9. 9 EJEMPLO ..... class Ejemplo1 { public static main(String arg[ ]) Las clases son verdaderos tipos de datos o datos creados por el usuario. Un objeto es una variable concreta de una clase. La definición de un programa siempre comienza con el método main.
  • 10. 10 EJEMPLO...... System.out.println(“comienza el main”); Imprime una cadena de caracteres en la salida estándar del sistema. Circulo c = new Circulo(2.0, 2.0, 4.0); Es equivalente a: Circulo c; c = new Circulo (2.0, 2.0, 4.0);
  • 11. 11 EJEMPLO.... En esas instrucciones se crea una referencia llamada c a un objeto de la Clase Circulo. Crear una referencia es como “crear” un nombre válido para referirse a un objeto de la clase. Con el operador new se crea un objeto propiamente dicho.
  • 12. 12 EJEMPLO..... Los parámetros o argumentos que se incluyen a continuación del nombre de la clase se le pasan al constructor de la clase y representan las coordenadas del centro y el radio. Debe tener en cuenta que una Clase es lo genérico, en este caso Círculos, y un objeto es algo en concreto, en este caso c es un circulo especifico.
  • 13. 13 EJEMPLO.... La clase especifica que cada objeto necesita tres datos: dos coordenadas y un radio, que son las variables miembros de la clase. La sentencia: System.out.println(“Radio = “ + c . r + “unidades.”); imprime un texto que contiene el valor del radio.
  • 14. 14 EJEMPLO.... El operador + permite unir tres subcadenas y se le conoce como operador de concatenación. Observe que el radio del objeto c aceza colocando el nombre del objeto con un punto y seguido por el nombre de la variable.
  • 15. 15 EJEMPLO... La palabra public indica que puede ser utilizada por cualquier clase La palabra static indica que es un método de clase, es decir, un método que puede ser usado aunque no se haya creado ningún objeto de la clase.
  • 16. 16 NOMENCLATURA En Java es habitual utilizar nombre con minúscula. Cuando un nombre consta de varias palabras es habitual poner una a continuación de otra, poniendo con mayúscula la primera letra de la siguiente palabra. Ej.. totalNotas. El nombre de las clases deben comenzar con mayúsculas.
  • 17. 17 NOMENCLATURA Los nombres de objetos, los nombres de métodos y variables miembro, el de las variables locales comienzan siempre con minúscula.
  • 18. 18 ESTRUCTURA GENERAL Un programa fuente tiene una extensión java (*.java). Los programas compilados son *.class. Un programa fuente puede tener mas de una clase pero solo una puede ser public. El nombre del archivo fuente debe coincidir con el de la clase public
  • 19. 19 ESTRUCTURA GENERAL Si en un archivo aparece la declaración: public class MiClase {........} entonces el nombre del archivo debe ser MiClase. Java. Deben coincidir mayúsculas y minúsculas. Las clase de java se agrupan en packages que son librerías de clases. Si la clase no se define como miembro de un package se utiliza el directorio activo.
  • 20. 20 VARIABLES Es un nombre que contiene un valor que puede cambiar a lo largo del programa. Hay dos tipos principales de variables: – Variables de tipos primitivos, están definidas mediante un valor único. – Variables referencia, son referencias o nombres de una información mas compleja como un array u objeto de una determinada clase.
  • 21. 21 VARIABLES Desde el punto de vista de su papel en el programa, las variables pueden ser: – Variables miembro de una clase: se definen dentro de una clase, fuera de cualquier método; pueden ser primitivos o de referencia. – Variables locales: se definen dentro de un método o dentro de cualquier bloque de instrucciones.
  • 22. 22 NOMBRE DE VARIABLES Pueden ser cualquier conjunto de caracteres numéricos o alfanuméricos. No pueden incluirse como nombres las palabras reservadas del Java. Los tipos primitivos de variables aquellas variables variables sencillas que contienen los tipos de información mas habituales tales como valores boleanos, caracteres y de valores numéricos enteros o flotantes.
  • 23. 23 TIPOS PRIMITIVOS DE VARIABLES El Java dispone de 8 tipos: un tipo puede almacenar valores verdadero y falso; otro almacenar caracteres (char), y 6 tipos para guardar valores numéricos. Cuatro tipos para enteros (byte, short, int, long). Dos para valores de punto flotante (float y double)
  • 24. 24 CARACTERISTICAS DE LOS TIPOS PRIMITIVOS El tipo boolean no es un valor numérico (0-1) como en el C/C++, sino un valor true o false. El tipo char ocupa 2 bytes por carácter. Los tipos byte, short, int, long son números enteros que pueden ser positivos y negativos. No existe el sin signo. Se utiliza la palabra void para indicar la ausencia de un tipo de variable determinado.
  • 25. 25 DEFINICION E INICIALIZACION DE VARIABLES Se define especificando el tipo y el nombre. Las variables primitivas se inicializan a cero (salvo boolean y char, que se inicializan a false y ‘0’). Las variables de tipo referencia son inicializadas por defecto a un valor null. Una referencia es una variable que indica donde se encuentra un objeto (lugar en la memoria del computador)
  • 26. 26 DEFINICION E INICIALIZACION DE VARIABLES Si se desea que esta referencia apunte a un nuevo tipo de objeto es necesario utilizar el operador new, sino no se encuentra apuntando a ningún objeto asignandosele el valor null. Un tipo particular de referencia son los arrays o vectores ya sean de variables primitivas o de objetos.
  • 27. 27 EJEMPLO DE DECLARACION E INICIALIZACION int x; // Declaración de variable primitiva int y = 5; MyClass unaRef; // Referencia a un objeto MyClass; se inicializa a null. unaRef = new MyClass( );// La referencia apunta al nuevo objeto creado. MyClass segundaRef = unaRef;// Segunda referencia, se inicializa igual a unaRef.
  • 28. 28 EJEMPLO DE DECLARACION E INICIALIZACION int [ ] vector;//Array inicializado a null. vector=new int[10];vector inicializado en 0 double [ ] v={1.0, 2.6, 3.1};// Declaración e inicialización vector de 3 elementos. MyClass [ ] lista = new MyClass[5]// Se crea vector de 5 referencias a objetos. Las 5 referencias inicializadas en null.
  • 29. 29 EJEMPLO DE DECLARACION E INICIALIZACION lista[0] = unaRef; lista [1] = new MyClass; En el ejemplo las referencias unaRef, segundaRef y lista[0] actuarán sobre el mismo objeto.
  • 30. 30 AMBITO DE UNA VARIABLE En Java todas las variables deben estar incluidas en una clase. Todas las variables definidas dentro de un bloque son visibles y existen dentro de este bloque. Las variables definidas dentro de un if no son validas al finalizar las sentencias correspondientes a dicho if.
  • 31. 31 AMBITO DE UNA VARIABLE Las variables miembro de una Clase declarada como public son accesibles a través de una referencia a un objeto de dicha clase utilizando un operador punto. Las variables miembro declaradas como private no son accesibles directamente desde otras clases. Las funciones miembro de una clase tienen acceso directo a todas las variables miembro de la clase.
  • 32. 32 AMBITO DE UNA VARIABLE Las funciones miembro de una clase B derivada de una clase A , tienen acceso a todas las variables miembro de A declaradas como public o protected, pero no las declaradas como private. Es posible declarar una variable dentro de un bloque con el mismo nombre que una variable miembro , pero no con el mismo nombre de otra variable local.
  • 33. 33 AMBITO DE UNA VARIABLE La variable declarada dentro de un bloque oculta a la variable miembro en ese bloque. Para acceder a la variable miembro oculta será preciso utilizar el operador this. La forma de crear nuevos objetos es utilizando el operador new.
  • 34. 34 AMBITO DE UNA VARIABLE Cuando se utiliza el operador new, la variable de tipo referencia guarda la posición de memoria donde esta almacenado este nuevo objeto. La eliminación de los objetos la realiza el garbage collector, quien automáticamente libera o borra la memoria ocupada por un objeto cuando no existe una referencia apuntando hacia dicho objeto.
  • 35. 35 OPERADORES Aritméticos: +, -, *, / , %. Asignación: +=, -=, *=, /=, %= Unarios: +, - sirven para mantener o cambiar el signo de una variable, constante o expresión. El operador instanceof permite saber si un objeto pertenece a una determinada clase o no. Nombre_objeto instanceof nom_clase
  • 36. 36 OPERADORES El operador condicional ? Permite realizar bifurcaciones. expresión_booleana ? res1 : res2 z = (x > y) ? X+3 : x+5; Evalúa y devuelve res1 se el resultado es true y res2 si es false. El Java dispone del operador de incremento ++ y decremento --.
  • 37. 37 OPERADORES Existen los siguiente operadores relacionales: <, >, >=, <=, ==, !=. Existen los sgtes. Operadores lógicos: &&, | | , ! , & , | Si se considera solamente un & o | la evaluación del segundo operando se realiza ahunque la evaluación del primer operando de respuesta negativa.
  • 38. 38 OPERADORES El operador + se utiliza para concatenar cadena de caracteres. System.out.println(“El resultado asciende a “ + result + “unidades”); Todos los operadores excepto los de asignación se evalúan se izquierda a derecha.
  • 39. 39 SENTENCIA IF Las estructuras de control permiten tomar decisiones y realizar un proceso repetidas veces. Las bifurcaciones permiten ejecutar una entre varias acciones en función del valor de una expresión lógica o relacional. La bifurcación if permite ejecutar un conjunto de sentencias en función del valor que tenga la condición.
  • 40. 40 SENTENCIA IF if (expresión booleana) { ........................... sentencias; } else { ......................... sentencias; }
  • 41. 41 EJEMPLO DE SENTENCIA IF int numero = 61; if (Math.abs(numero) < 10) Math.abs calcula el valor absoluto System.out.println(“numero tiene un digito”); else if (Math.abs(numero)<100) System.out.println(“tiene dos digitos”); else System.out.println(“tiene mas de dos”);
  • 42. 42 SENTENCIA SWITCH Es una alternativa al if para mas de dos salidas. switch (expresion) { case value1: sentencia; break; case value2: sentencia; break; case value3: sentencia; break; default: sentencia; }
  • 43. 43 SENTENCIA SWITCH No es posible establecer rango de condiciones, sino se debe comparar con valores concretos. En ausencia del break se ejecutan todas las condiciones que siguen hasta encontrar un break o termine el switch.
  • 44. 44 SENTENCIA SWITCH char c = (char) (Math.random( ) * 26 +’a’); Generación aleatoria de letras minúsculas System.out.println (“La letra “ + c); switch ( c ) { case ‘a’: case ‘e’: case ‘i’: case ‘o’: case ‘u’ : System.out.println (“es una vocal”); break; }
  • 45. 45 BUCLE WHILE El conjunto de sentencias se ejecuta mientras la condición sea true. while (condicion) { sentencia; } while (x>10) { P = Q+8; x= x-1; }
  • 46. 46 BUCLE FOR Es semejante al while, con la diferencia que el incremento o decremento de la variable de control se realiza automáticamente. for (int i=1, j=i+10; i<5; i++, j=2*i) {System.out.println(“ i = “+ i + “j =” + j); } Salida: 1,11; 2,4; 3,6; 4,8
  • 47. 47 BUCLE DO WHILE Es similar al bucle while pero con la particularidad de que el control está al final del bucle.. do { sentencia; ................ } while (condición)
  • 48. 48 SENTENCIA BREAK Y CONTINUE CON ETIQUETAS Las etiquetas permiten indicar un lugar donde continuar la ejecución de un programa después de un break o un continue. El único lugar donde se pueden incluir etiquetas es justo delante de un bloque de instrucciones entre llaves (if, switch, while, do...while, for) y solo se deben utilizar cuando se tiene uno o mas bucles dentro de otro bucle y se desea salir o continuar
  • 49. 49 EJEMPLO BREAK bucleI: for (int i=0, j=0; i<100; i++) { while (true) { if ((++j) >5) break bucleI; finaliza ambos bucles else break; } } finaliza bucle interno
  • 50. 50 CLASES EN JAVA La clases son el centro de la POO. Las clases pueden ser declaradas como públicas (public) y como package (accesible sólo para otras clases del package) Las variables miembro y los métodos pueden ser public, private, protected, y package. Una clase puede derivar de otra y es ese caso hereda todas sus variables y métodos.
  • 51. 51 CLASES EN JAVA Una clase derivada puede añadir nuevas variables y métodos y/o redefinirlos. Los objetos de distintas clases pertenecientes a una misma jerarquía o que implementan una misma interface pueden tratarse de una forma general e individualizada, al mismo tiempo. Una clase es una agrupación de datos y de funciones que operan sobre esos datos.
  • 52. 52 CLASES EN JAVA [public] class nombre { declaración de variables y métodos ............................. } La palabra public es opcional, si no se pone la clase solo es visible para las demás clases del package. Todos los métodos y variables deben ser definidos dentro de las llaves de la clase.
  • 53. 53 CLASES EN JAVA Un objeto es un ejemplar concreto de la clase, las clases son como los tipos de variables. Todas las variables y funciones deben pertenecer a una clase. No hay variables y funciones globales. Si una clase deriva de otra (extends), hereda todas sus variables y métodos.
  • 54. 54 CLASES EN JAVA Java tiene una jerarquía de clases estándar de la que pueden derivar las clases que crean los usuarios. Una clase solo puede heredar de una única clase. Si no se indica de que clase deriva, por defecto la clase deriva de Object que es la base de toda la jerarquía de clases.
  • 55. 55 CLASES EN JAVA En un archivo se pueden definir varias clases, pero no puede haber mas que una clase public . Este archivo se debe llamar igual que la clase public con extensión java. Si una clase contenida en un archivo no es public puede tener otro nombre. Las clases se pueden agrupar en packages introduciendo al comienzo del archivo: package nombre_del_package
  • 56. 56 VARIABLES MIEMBRO DE OBJETO Cada objeto tiene su propia copia de variables miembro. Las variables miembro de una clase, también llamadas campos pueden ser de tipos primitivo (boolean, int, long, etc.) u referencia a objetos de otra clase. No pueden existir datos sin inicializar. Las de tipo primitivo se actualizan automáticamente.
  • 57. 57 VARIABLES MIEMBRO DE OBJETO También es posible hacerlo en la declaración : long nDatos = 100; Las variables miembro se inicializan en el mismo orden en que aparecen en la codificación de la clase si es que unas dependen de otras. Se puede aplicar un método a un objeto poniendo el nombre del objeto y luego el nombre del método separados por un punto
  • 58. 58 VARIABLES MIEMBRO DE OBJETO Las variables miembro pueden ir precedidas en su declaración por uno de los modificadores de acceso: public, private, protected, package.
  • 59. 59 VARIABLES MIEMBRO DE CLASE Una clase puede tener variables propias de la clase y no de cada objeto A estas variables se le conocen con el nombre de variables de clase o static. Pueden usarse para definir constantes comunes para todos los objetos de la clase. Son parecidas a las variables globales en C++.
  • 60. 60 VARIABLES MIEMBRO DE CLASE Las variables de clase se crean anteponiendo la palabra static a su declaración. Para llamarlas se puede utilizar el nombre de la clase o del objeto antepuesto con un punto. Circulo.nCirculos Si no se les da valor en la declaración, las variables miembro static se inicializan con los valores por defecto.
  • 61. 61 VARIABLES DE TIPO FINAL Una variable de tipo primitivo declarada como final no puede cambiar su valor a lo largo de la ejecución. Puede ser considerada como una constante y equivale a la palabra const del C++. Pueden ser final tanto las variables miembro como las locales.
  • 62. 62 METODOS DE OBJETOS Son funciones definidas dentro de una clase Salvo los métodos static o de clase, se aplican siempre a un objeto de la clase por medio del operador punto. public Circulo elMayor(Circulo c) { if (this . r>=c) return this else return c;
  • 63. 63 METODOS DE OBJETOS Al comienzo se debe definir el tipo del valor de retorno. Los métodos tienen visibilidad directa de las variables miembro del objeto, es decir acceder a ellas sin calificarlas con un nombre de objeto o también mediante el operador this. El valor de retorno puede ser un valor de tipo primitivo o una referencia..
  • 64. 64 METODOS DE OBJETOS Solo puede haber un valor de retorno que puede ser un objeto o un array. Se puede devolver un objeto de la misma clase o de una subclase. Los métodos pueden definir variables locales que a diferencia de las variables miembro no se inicializan por defecto. Si se incluye la palabra native en la definición permite incluir funcione escritas en otros lenguajes que se encuentran almacenadas en al librería DLL.
  • 65. 65 METODOS SOBRECARGADOS Al igual que el C++ permite usar métodos distintos con el mismo nombre que se diferencian por el número y/o tipo de los argumentos. Si existe el método cuyos argumentos se ajuste exactamente al tipo de los argumentos de la llamada, se llama a este. Si no existe uno que se ajuste exactamente, se intenta promover los argumentos de la llamada al tipo inmediato superior y se llama al método que coincida.
  • 66. 66 PASO DE ARGUMENTOS Los argumentos de los tipos primitivos se pasan siempre por valor. Se puede pasar una referencia a un objeto y dentro de la función utilizar los métodos de ese objeto. Dentro de un método se pueden usar variables locales de los tipos primitivos o referencias, las cuales dejan de existir al termino de la ejecución del método. Los argumento ficticios de un método tienen categoría de variables locales del método.
  • 67. 67 METODOS DE CLASE Son los métodos que no actúan sobre objetos concretos a través del operador punto. Pueden recibir objetos de su clase como argumentos explícitos, pero no tienen argumento implícito ni pueden utilizar this. Los métodos y variables de clase se crean anteponiendo la palabra static. Para llamarlos se utiliza el nombre de la clase: Math . sin (ángulo)
  • 68. 68 CONSTRUCTORES Es un método que se llama automáticamente cada vez que se crea un objeto de una clase. La principal función del constructor es reservar memoria e inicializar las variables miembro de la clase. Los constructores no tienen valor de retorno y su nombre es igual al de la clase.
  • 69. 69 CONSTRUCTORES Su argumento implícito es el objeto que se está creando. Una clase tiene varios constructores que se diferencian por el tipo y número de argumentos. Se llama constructor por defecto al que no tiene argumentos. El constructor de una subclase puede llamar al constructor de su superclase por medio de la palabra super.
  • 70. 70 CONSTRUCTORES De esta forma un constructor solo tiene que inicializar por si mismo las variables no heredadas. Si el programador no crea un constructor para una clase, el compilador crea uno por defecto. Los constructores pueden tener los modificadores de acceso public, private, etc
  • 71. 71 INICIALIZADORES STATIC Es un método que se llama automáticamente al crear la clase . Se diferencia del constructor en que no es llamado para cada objeto sino una vez para toda la clase. Los inicializadores static se crean dentro de la clase, como métodos sin nombre y sin valor de retorno, con tan solo la palabra static y el código entre llaves.
  • 72. 72 PACKAGES Es una agrupación de clases. Para que una clase pase a formar parte de un package, por ejm. Llamado pkgName se tiene que codificar: package pkgName como primera sentencia del archivo. Los nombres de los packages se suelen escribir con minúscula para distinguirlos de las clases.
  • 73. 73 PACKAGES Todas las clases que forman parte de un package deben estar en el mismo directorio. Se utilizan para agrupar clases relacionadas. La sentencia import permite abreviar el nombre de las clases, variables y métodos, evitando el tener que escribir continuamente el nombre del package. Se importan por defecto el package java.lang y el package actual o por defecto.
  • 74. 74 LA CLASE OBJECT Es la raíz de toda la jerarquía de clases, todas las clases derivan de ella. Una clase puede redefinir cualquiera de los métodos heredados de su superclase. El nuevo método sustituye al heredado. Los métodos de la superclase que han sido redefinidos pueden ser accedidos por medio de la palabra super.
  • 75. 75 CLASES O METODOS ABSTRACTOS Una clase abstracta es aquella de la que no se pueden crear objetos. Su utilidad es permitir que otras clases deriven de ella. public abstract class Geometria Una clase abstract puede tener métodos que no son abstract. Un método abstract no puede ser static.
  • 76. 76 INTERFACES Es un conjunto de declaraciones de métodos (sin definición) . Una clase puede implementar una o varias interfaces. public class CirculoGrafico extends Circulo implements Dibujable, Clonable Una interface se define de modo similar a una clase
  • 77. 77 INTERFACES public interface Dibujable { public void setposicion(double x, double y); public void dibujar(Graphics dw); } Cada interface public debe ser definida en un fichero *.java con el mismo nombre de la interface.
  • 78. 78 INTERFACES Solo permiten los modificadores public y package. Cuando una interface deriva de otra incluye todas sus constantes y declaraciones de métodos. Las constantes definidas en una interface se pueden utilizar en cualquier clase precediendolas del nombre de la interface.
  • 79. 79 ARRAYS Se tratan como objetos de una clase definida. Son objetos pero con características propias Los arrays pueden ser asignados a objetos de la clase Object y los métodos de Object pueden ser utilizados con arrays. Se crean con el operador new seguido del tipo y número de elementos.
  • 80. 80 ARRAYS Se puede acceder al número de elementos de un array con la variable miembro implícita length. Ejm: vect . Length Se accesa a los elementos con los corchetes y un índice que varia de 0 a length-1. Se puede crear array de objetos de cualquier tipo. En principio un array de objetos es un array de referencias que hay que completar llamando al operador new.
  • 81. 81 ARRAYS Los elementos de un array se inicializan al valor por defecto del tipo correspondiente. Cero para valores numéricos cadena vacía para string, false para booleano y null para referencias. Como todos los objetos, los arrays se pasan como argumentos a los métodos por referencia.
  • 82. 82 ARRAYS Se pueden inicializar con los valores entre llaves, separados por comas. También los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves. Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres, apuntando al mismo objeto.
  • 83. 83 ARRAYS Es posible dos formas para crear una referencia a un array: double[ ] x; //preferible double x [ ]; Creación del array con el operador new x = new double [100]; La referencia y la creación se pueden juntar double[ ] x = new double [100];
  • 84. 84 EJEMPLOS DE CREACION DE ARRAYS Crear un array de 10 enteros que se inicializan en cero. int v[ ] = new int[10]; Crear un array inicializando con valores: int v[ ] = (0,1,2,3,4,5,6,7,8,9); string dias[ ] = (“lunes”,”martes”,”miercoles”,”jueves”);
  • 85. 85 EJEMPLOS DE CREACION DE ARRAYS Array de 5 objetos MiClase listaObj[ ] = new MiClase [5] for (i=0; i<5; i++) listaObj[i] = new MiClase (....);
  • 86. 86 ARRAYS BIDIMENCIONALES Se crean de un modo muy similar al de C+ + Puede crearse directamente de la forma: int [ ] [ ] mat = new int [3] [4]; También se puede crear con los sgtes pasos int [ ] [ ] mat; mat = new int(nfilas)[ ]; for (i=0; i<nfilas; i++) mat [i] = new int(ncols);
  • 87. 87 EJEMPLO DE ARRAYS BIDIMENCIONALES Crear una matriz de 3 * 3 inicializada en 0: double mat [ ] [ ] = new double [3][3] Matriz con carga de valores: int [ ] [ ] b = ((1,2,3), (4,5,6), (7,8,9)); int c=new[3][] //array de referencia a array c[0]=new int[5]; c[1]=new in[4];
  • 88. 88 CLASES STRING Y STRINGBUFFER Están orientadas a manejar cadenas de caracteres constantes (que no pueden cambiar), o que el programador ingrese la cadena de caracteres. Ambas clases pertenecen al package java.lang y por lo tanto no hay que importarlas. Los métodos de string se pueden utilizar directamente sobre literales como por ejemplo “hola”.length;
  • 89. 89 METODOS DE LA CLASE STRING Los objetos de la clase string se pueden crear a partir de cadenas de caracteres definidas entre “, como por ejemplo “hola”.java. La forma de crear objetos de la clase es la siguiente: String str1 = “HOLA” String str2 = new String (“HOLA”);
  • 90. 90 METODOS DE LA CLASE STRING El método charAt(int) devuelve el carácter en la posición especificada. El método getChars(int,int, char[ ], int ) copia los caracteres indicados en la posición indicada de un array de caracteres. indexOf (String,[int]) devuelve la posición en la que aparece por primera vez un string en otro string , a partir de una posición dada.
  • 91. 91 METODOS DE LA CLASE STRING lastIndexOff(strig,[int]) devuelve la última vez un string aparece en otro empezando en una posición y hacia el principio. lenght( ) devuelve el número de caracteres. replace(char,char) sustituye un carácter por otro en un string. startsWith(string) indica si un string comienza con otro string o no.
  • 92. 92 METODOS DE LA CLASE STRING substring(int,int) devuelve un string extraído de otro. toLowerCase( ) convierte en minúsculas. toUpperCase( ) convierte en mayúsculas. trim( ) elimina los espacios en blanco. valueOf( ) devuelve la representación como string de sus argumentos.
  • 93. 93 METODOS DE LA CLASE STRINGBUFFER La clase stringBuffer se usa siempre que se desea modificar una cadena de caracteres. Hay muchos métodos cuyos argumentos deben ser objetos string , que antes de pasar esos argumentos se debe realizar la conversión. stringBuffer( ), stringBuffer(int), stringBuffer(string) son constructores.
  • 94. 94 METODOS DE LA CLASE STRINGBUFFER capacity( ) devuelve le espacio libre del stringBuffer. charAt(int) devuelve el carácter en la posición especificada. getChars(int,int,char[ ] int) copia los caracteres indicados en la posición indicada de un array de caracteres. insert(in, ) inserta un string o un valor en la posición especificada
  • 95. 95 METODOS DE LA CLASE STRINGBUFFER length( ) devuelve le número de caracteres de una cadena. reverse( ) cambia el orden de los caracteres. setCharAt(int,car) cambia el carácter en la posición indicada. setLenght( int ) cambia el tamaño de un stringBuffer. toString( ) convierte en objeto de tipo string
  • 96. 96 WRAPPERS Son clases diseñadas para ser un complemento de los tipos primitivos. Los tipos primitivos se pasan como argumento a los métodos por valor(ya que no son objetos), mientras que los objetos se pasan por referencia. No hay forma de modificar en un método un argumento de tipo primitivo y que esa modificación se trasmita al entorno que hizo la llamada.
  • 97. 97 WRAPPERS La forma de lograrlo es usando un wrapper Es un objeto cuya variable miembro es el tipo primitivo que se quiere modificar. Existe una clase wrapper para cada uno de los tipos primitivos numéricos, esto es, existen las clases Byte, Short, Integer, Long, Float y Double. Observe que los nombres empiezan con mayúscula siguiendo la nomenclatura del Java.
  • 98. 98 CLASE DOUBLE La clase java . lang . Double deriva de Number, que a su vez deriva de Object. Esta clase contiene un valor primitivo de tipo double. Los métodos Double(double) y Double(String) son los constructores de esta clase. doubleValue( ), floatValue( ), intValue( ), shortValue( ) y byteValue( ) son los métodos para obtener el valor del tipo primitivo.
  • 99. 99 CLASE DOUBLE String tostring( ), Double valueOf(String) son los conversores con la clase string. equals(Object) sirve para comparar con otro objeto. MAX_DOUBLE, MIN_DOUBLE, POSITIVE_INFINITY, NEGATIVE_INFINITY, TYPE son constantes predefinidas.
  • 100. 100 CLASE INTEGER La clase java.lang.Integer tiene como variable miembro un valor del tipo int. Sus métodos son los siguientes: Integer(int), Integer(String) son los constructores de la clase. doubleValue( ), floatValue( ), longValue( ), intValue( ), shortValue( ), y byteValue( ) son los conversores con otros tipos primitivos.
  • 101. 101 CLASE INTEGER Integer decode(String), Integer parseInt (String), String toString( ), Integer ValueOf(String) son conversores con string. MAX_VALUE, MIN_VALUE, TYPE son constantes predefinidas. Los Wrappers Byte, Short y Long son similares a Integer Los Wrappers son utilizados para convertir cadenas de caracteres (texto) en números.
  • 102. 102 CLASE INTEGER Los ejemplos siguientes muestran algunas conversiones: String numDecimalString = “8.976”; float numFloat = Float.valueOf(numDecimalString).floatValu e( ); double numDouble = Double.valueOf(numDecimalString).double Value( );
  • 103. 103 CLASE INTEGER String numIntString = “1001”; int numInt= Integer.valueOf(numIntString).intValue( ); En el caso de que el texto no se pueda convertir directamente al tipo especificado se lanza una excepción de tipo NumberFormatException, por ejemplo si se intenta convertir directamente el texto “4.897” en un entero.
  • 104. 104 CLASE MATH Java.lang.Math deriva de Object. Proporciona métodos static para realizar las operaciones matemáticas más habituales. Proporciona además las constantes E y PI. Sus métodos son los siguientes: abs( ), acos( ), sin( ), tan( ), asin( ), exp(), atan( ), max( ), min( ), ramdom( ), round( ), power( , ) (devuelve el primer argumento elevado al segundo)
  • 105. 105 CLASE MATH rint(double) devuelve el entero mas próximo. sqrt( ) devuelve la raíz cuadrada. IEEEremainder(double,double) calcula el resto. toDegrees(double) pasa de radianes a grados. toRadians( ) pasa de grados a radianes.
  • 106. 106 CLASE VECTOR Representa un array de objetos que puede crecer y reducir, según el número de elementos. Permite acceder a los elementos con un índice,aunque no permite el uso de corchetes. El método capacity( ) devuelve le tamaño del vector.
  • 107. 107 CLASE VECTOR El método size( ) devuelve le número de elementos que realmente contiene, mientras que capacityIncrement es una variable que indica el salto que se dará en el tamaño cuando se necesite crecer. El método elementCount devuelve le número de componentes válidos del vector.
  • 108. 108 METODOS DE LA CLASE VECTOR Vector( ), Vector(int), Vector(int,int) son constructores que crean un vector vacío, uno de la capacidad indicada y un vector de la capacidad e incremento indicados.
  • 109. 109 El ABSTRACT WINDOWS TOOLKIN (AWT) Se encarga de construir interfaces gráficas. Se utiliza en la creación de eventos. Para construir una interface gráfica se requiere lo siguiente; – Un contenedor o container, que es la ventana donde se situarán los componentes (botones, barras de desplazamientos, etc)
  • 110. 110 El ABSTRACT WINDOWS TOOLKIN (AWT) – Los componentes: menús, botones de comandos, barras de desplazamiento, cajas y áreas de texto, botones de opción y selección, etc. – El modelo de eventos. El usuario controla la aplicación actuando sobre los componentes con el ratón o con el teclado. Cada vez que el usuario realice una determinada acción se produce un evento.
  • 111. 111 El ABSTRACT WINDOWS TOOLKIN (AWT) El AWT crea un objeto de una determinada clase de evento, derivada de AWTEvent. Este evento es transmitido a un determinado método para que lo gestione.
  • 112. 112 OBJETOS EVENT SOURCE Y EVENT LISTENER El modelo de eventos en Java está basado en que los objetos sobre los que se producen los eventos (event source) “registran” los objetos que habrán de gestionarlos (event listener), para lo cual los event listeners habrán de disponer de los métodos adecuados. Estos métodos se llamarán automáticamente cuando se produzca el evento.
  • 113. 113 OBJETOS EVENT SOURCE Y EVENT LISTENER La forma de garantizar que los event listeners disponen de los métodos apropiados para gestionar los eventos es obligarles a implementar una determinada interface listener.