Java Inicial para principiantes
Transcript of Java Inicial para principiantes
-
8/10/2019 Java Inicial para principiantes
1/178
-
8/10/2019 Java Inicial para principiantes
2/178
-
8/10/2019 Java Inicial para principiantes
3/178
www.belatrixsf.com |
Qu es JAVA?
P
Lenguaje e !rogramacin ine!eniente e la !lataforma" orienta# $ue utili%a una m&$uina 'irtual !ara ejecutar el cigo com!ilao.
(e !ro'ee una es!ecificacin abierta" utili%aa !or i'ersos !ro'eeim!lementar su !ro!ia m&$uina 'irtual.
-
8/10/2019 Java Inicial para principiantes
4/178
www.belatrixsf.com |
P
Pro'eeores e JV)
*!en J+, -oficial" !ero abierta # e cigo libre
*ficial" e *racle
A!ac/e 0armon# -e A!ac/e" abierta # e cigo libre
)uc/as otras -/tt!122en.wi3i!eia.org2wi3i2List4of4Ja'a4'irtu
-
8/10/2019 Java Inicial para principiantes
5/178
www.belatrixsf.com |
J56 # J+,
P
6l JRE -Ja'a 5untime 6n'ironment es un arc/i'o binario $ue continecesario !ara ejecutar a!licaciones JAVA1 una im!lementacin e bibliotecas !ara correr cual$uier a!licacin JAVA.
6l JDK-Ja'a +e'elo!ment ,it es una arc/i'o binario $ue contiene
im!lementacin e la JV)" bibliotecas !ara correr cual$uier a!licacaem&s" un conjunto e /erramientas necesarias !ara el esarrollo a!licaciones" tal como1 com!ilaor" ebugger" etc.
7u&l es la iferencia entre ambos? J+, 8 J56 9 /erramientas e
-
8/10/2019 Java Inicial para principiantes
6/178
www.belatrixsf.com |
Plataformas JAVA
P
JAVA (6 -(tanar 6ition1 lo $ue com:nmente se enomi7ontiene las bibliotecas b&sicas -lang" mat/" util" etc.
JAVA 66 -6nter!rise 6ition1 agrega com!onentes !ara fac
el esarrollo e a!licaciones granes" generalmente corrienen ser'iores e a!licaciones1 inclu#e J(P" 6J;" (er'lets" e
JAVA )6 -)icro 6ition1 'ersin orientaa a esarrollo m'
-
8/10/2019 Java Inicial para principiantes
7/178
www.belatrixsf.com |
P
-
8/10/2019 Java Inicial para principiantes
8/178
www.belatrixsf.com |
7aracter
-
8/10/2019 Java Inicial para principiantes
9/178
www.belatrixsf.com |
*rientacin a objetos
P
Paraigma e !rogramacin" no est& ataa a un lenguaje.
A#ua a entener un !roblema" concentr&nonos en las entia-moelaas en forma e objetos $ue forman !arte el mismo"interaccin entre las mismas" sus !ro!ieaes # las acciones $!ueen lle'ar a cabo -o e las $ue !ueen ser !arte.
Los objetos son moelaos a tra's e clases" las $ue efinenconce!to o abstraccin e una entia $ue forma !arte el !ro
-
8/10/2019 Java Inicial para principiantes
10/178
www.belatrixsf.com |
=i!os fuertes 's ti!os biles
P
>n lenguaje es e ti!os biles si las 'ariables no tienen un ti!oe incluso !uee tomar 'alores e iferente ti!o a lo largo e la e!rograma.
>n lenguaje es e ti!os fuertes si las 'ariables son e un ti!o cono !uee ser utili%aa como si fuera e otro ti!o a menos $ue uex!l
-
8/10/2019 Java Inicial para principiantes
11/178
www.belatrixsf.com |
)ulti!lataforma
P
6sto es !osible gracias a la existencia e la m&$uina 'irtual e JA-JV). 6l cigo fuente no se con'ierte a cigo e m&$uina" sina un cigo intermeio $ue es inter!retao !or la JV).
+e esta manera" !ara !oer !ortar nuestra a!licacin a otra !lata
solo necesitamos1
m!lementacin e la JV) !ara la !lataforma e estino.
7igo com!ilao $ue ser& inter!retao !or la JV).
-
8/10/2019 Java Inicial para principiantes
12/178
www.belatrixsf.com |
Libre # e es!ecificacin abier
P
>na es!ecificacin efine toos los etalles necesarios !ara !olle'ar aelante correctamente una im!lementacin. >na es!ecificetalla $u se ebe /acer" !ero no cmo.
>na es!ecificacin es abierta si sus etalles son !:blicos.
JAVA es esarrollao # istribu
-
8/10/2019 Java Inicial para principiantes
13/178
www.belatrixsf.com |
Ja'a J+,
+escarga1 /tt!122www.oracle.com2tec/networ32es2ja'a2ja'ase2ownloas
6legir la 'ersin e nuestro (* # ti!o e ar$uitectura -B o CD bits.
Agregar a las 'ariables e entorno el PA=0 a la car!eta bin $ue se encueen el interior e la car!eta e instalacin e la J+,. nstrucciones es!ec
-
8/10/2019 Java Inicial para principiantes
14/178
www.belatrixsf.com |
=i!os !rimiti'os
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
15/178
www.belatrixsf.com |
*!eraores !ara ti!os !rimiti'
+6 E @eneraliae
6l o!eraor e asignacin -ar 'alor a una 'ariable es el s
-
8/10/2019 Java Inicial para principiantes
16/178
-
8/10/2019 Java Inicial para principiantes
17/178
www.belatrixsf.com |
7aracter
-
8/10/2019 Java Inicial para principiantes
18/178
www.belatrixsf.com |
)toos :tiles /ereaos e *b
equals1 inica si el objeto !asao como !ar&metro es el mismoobjeto actual. (e com!ara $ue sean la misma instancia.
toString1 e'uel'e una re!resentacin el objeto en forma e ccaracteres.
7lases e
(e recomiena sobreescribir ambos mtoos con la lgica e ne$ue re!resente nuestra o!eracin e iguala" # lo $ue nosotrosconsieramos $ue es la im!resin e uno e nuestros objetos.
-
8/10/2019 Java Inicial para principiantes
19/178
www.belatrixsf.com |
7lases e
packagear.com.gestion.principal;
publicclassPrincipal {privateString textToPrint;
publicString getTextToPrint() {returntextToPrint;
}
publicvoidsetTextToPrint(String textToPrint) {this.textToPrint= textToPrint;
}
publicPrincipal() {this.textToPrint= "Texto de bienvenida";
}
publicstaticvoidmain() {Principal principal = newPrincipal();principal.setTextToPrint("Texto de bienvenida");System.out.println(principal.getTextToPrint());
}}
Pa$uete
Atributo
)too
7onstructor
)too main
nstanciacin e objeto
-
8/10/2019 Java Inicial para principiantes
20/178
www.belatrixsf.com |
Pa$uete
7reacin e un nue'o !a$uete1 7lic3 erec/o en src Iew
(e utili%a el G.H como elimitaores e !a$uete -!a$uetes ania
7lases e
7onteneor e clases $ue !ermite agru!ar funcionaliaes simi
Las clases eben tener nombre :nico" entro el !a$uete. Puelos nombres e clase !ara iferentes !a$uetes. Los !a$uetes Ges!acio e nombresH o Gnames!aceH.
-
8/10/2019 Java Inicial para principiantes
21/178
www.belatrixsf.com |
7lases e
Atributo
6l nombre el atributo ebe ser :nico !ara la clase. Io !uee cones!acios" !alabras reser'aas" 'alores booleanos" caracteres rese
!ara o!eraciones -9" M" ?..." ni comen%ar con un n:mero.
+efine una caracter
-
8/10/2019 Java Inicial para principiantes
22/178
www.belatrixsf.com |
7lases e
Atributo
La sintaxis e efinicin es1 N)oificaoresO =i!o nombreVariable
privateintvalor;
Para asignar 'alores a la 'ariable" se utili%a el o!eraor G8H.
valor = 1;
-
8/10/2019 Java Inicial para principiantes
23/178
www.belatrixsf.com |
7lases e
)too
La combinacin e nombre e mtoo # ti!os e !ar&metros $ue reser :nica entro e una clase.
7onjunto e o!eraciones o !roceso $ue !rouce un resultao" e'omismo al finali%ar la ejecucin o !roucieno un cambio en un objet
(intaxis e efinicin e mtoos1 N)oificaoresO ti!o5etorno nom=i!oPar&metro nombrePar&metro" =i!oPar&metro nombrePar&metro
-
8/10/2019 Java Inicial para principiantes
24/178
www.belatrixsf.com |
7lases e
)tooLos mtoos se in'ocan con la sintaxis1 nombre*bjeto.mi)too-!aTodos los parmetros se pasan por referencia1 son referencias alos cambios /ec/os a un objeto en un mtoo ser&n 'isibles en el morigen tambin.
(e utili%a la sentencia GreturnH !ara /acer $ue un mtoo e'uel'a u
6jem!lo1publicfloatm!ltiplicar(floatm!ltiplicando floatm!ltiplicador) {
returnm!ltiplicando # m!ltiplicador;}
-
8/10/2019 Java Inicial para principiantes
25/178
www.belatrixsf.com |
7lases e
Partes e la eclaracin e un )
)oificaor
=i!o e 'alor e retorno Iombre el mtoo
Iombre el !=i!o el !ar&metro
)oificaor e !a
publicbooleanimprimir$ensa%e(String mensa%e) {System.out.println(mensa%e);returntrue;
}
(entencia e retorno
-
8/10/2019 Java Inicial para principiantes
26/178
www.belatrixsf.com |
7lases e
nicio e la a!licacin1 7lase Prin
7aa a!licacin tiene una clase $ue contiene un mtoo !rinci!alutili%aa !ara iniciar la ejecucin.
La clase !rinci!al e una a!licacin es a$uella $ue contiene el mGmainH. 7um!le el !a!el e nuestro ejecutable.
packagear.com.c!rso%ava.principal;
publicclassPrincipal {publicstaticvoidmain(String&' args) {
System.o!t.println("ola m!ndo");}
}
-
8/10/2019 Java Inicial para principiantes
27/178
www.belatrixsf.com |
7lases e
7om!ilano # ejecutano
ompilaci!n1 ja'ac M .S Princi!al.ja'a
E"ecuci!n1 ja'a ar.com.cursoja'a.!rinci!al.Princi!al
-
8/10/2019 Java Inicial para principiantes
28/178
www.belatrixsf.com |
Acti'ia
+6 E @eneraliae
7rear un arc/i'o e texto llamao GPrinci!al.ja'aH usano Tor!aPegar el siguiente texto en el arc/i'o creao1
7om!ilar # ejecutar.
packagear.com.gestion.principal;
publicclassPrincipal {
publicstaticvoidmain(String&' args) {System.out.println("ola m!ndo");}
}
-
8/10/2019 Java Inicial para principiantes
29/178
www.belatrixsf.com |
6cli!se -+6
+6 -ntegrate +e'elo!ment 6n'ironment $ue ofrece m:lti!les /# faciliaes !ara el esarrollo JAVA.
>n +6 es solo una /erramienta. Io es necesario !ara !rogramar
>rl e escarga1 /tt!122www.ecli!se.org2ownloas2
nstrucciones e instalacin1 escargar # escom!rimir E naa m&
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
30/178
www.belatrixsf.com |
Tor3s!ace
7ar!eta e trabajo $ue contieneun gru!o e !ro#ectos.
Puee cambiarse encual$uier momento-Uile (witc/ wor3s!ace.
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
31/178
www.belatrixsf.com |
7reano un !ro#ecto
Uile 7reate !roject Ja'a Project ntroucir unIombre Uinis/
Poemos tener en el wor3benc/muc/os !ro#ectos" aun$ue no esrecomenable -o'er/ea.
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
32/178
www.belatrixsf.com |
Acti'ia
+6 E @eneraliae
7rear un nue'o !ro#ecto. 7rear una clase $ue contenga un mtocalcule el cuarao e un n:mero.
Agregar el mtoo main. +efinir una 'ariable e ti!o !rimiti'o int" un 'alor # !asarlo como !ar&metro al mtoo e c&lculo e cuam!rimir !or !antalla el resultao -(#stem.out.!rintln-'alor.
6jecutar usano 6cli!se.
-
8/10/2019 Java Inicial para principiantes
33/178
www.belatrixsf.com |
m!ortar clases !ara su uso
+6 E @eneraliae
7onsiste en im!ortar una clase entro e otra !ara !oer usarla e sta :ltima.
(intaxis1 im!ort !a$uetes./asta.clase.Iombre7lase
importar.com.gestion.abstracta.e*+c!lo;
Atajo en ecli!se1 Uix im!orts -7trl 9 (/ift 9 *.
-
8/10/2019 Java Inicial para principiantes
34/178
www.belatrixsf.com |
*!eraores !ara ti!os !rimiti'
+6 E @eneraliae
Al asignar 'alores a una 'ariable numrica !ueen utili%arse lite-un n:mero. Puee for%arse un literal a un ti!o numrico eterm
U o f1 fuer%a un 'alor numrico al ti!o float. 6j.1 float flotante
L o l1 fuer%a un 'alor numrico al ti!o long. 6j.1 long largo 8
+ o 1 fuer%a un 'alor numrico al ti!o dou#le1 6j.1 ouble
-
8/10/2019 Java Inicial para principiantes
35/178
www.belatrixsf.com |
*!eraores !ara ti!os !rimiti'
+6 E @eneraliae
Los o!eraores !ara com!aracin e n:meros son1 $-menor" $=igual" %-ma#or" %=-ma#or o igual" ==-igual" &=-istinto
JAVA utili%a notacin infija !ara las o!eraciones matem&ticas. Loso!eraores matem&ticos son1 '-unario" signo !ositi'o" (-unario"
negati'o" '-suma" (-resta" )-multi!licacin" *-i'isin" +-rescociente" ''-suma W" ,-resta W.
Para la !receencia e o!eraciones" se utili%an !arntesis.
-
8/10/2019 Java Inicial para principiantes
36/178
www.belatrixsf.com |
*!eraores !ara ti!os !rimiti'
+6 E @eneraliae
*!eraores a ni'el e bits1 $$" %%-rotacin a ni'el e bits sin sign%%%-rotacin a ni'el e bits con signo" --com!lemento a ni'el e-AI+ a ni'el e bits" /-*5 a ni'el e bits # 0 -*5 a ni'el e bi
*!eraores booleanos1 ==-igual" &=-istinto" &-com!lemento" .-*5" 0-*5" ..-AI+ conicional" //-*5 conicional.
-
8/10/2019 Java Inicial para principiantes
37/178
www.belatrixsf.com |
7on'ersin e 'alores
+6 E @eneraliae
JAVA es e ti!os fuertes. (ignifica $ue no !ueo con'ertir 'alores iferentes ti!os numricos? (X se !uee" !ero ebo ex!licitar $ue /acer una con'ersin e ti!os a tra's el o!eraor 7A(= -se encti!o estino entre !arntesis. 6l siguiente cigo es '&lio1
doubledoble = 1.,;int entero = (int) doble;
6l 'alor e GenteroH ser& W -se !iere la !arte ecimal.
@ li
-
8/10/2019 Java Inicial para principiantes
38/178
www.belatrixsf.com |
Acti'ia
+6 E @eneraliae
Qu sucee si con'ertimos e un ti!o e atos origen un ti!o eestino con una !recisin menor? YYY7om!robemosZZZ
7rear una clase con un mtoo main" inclu
-
8/10/2019 Java Inicial para principiantes
39/178
www.belatrixsf.com |
7lases e
Qu es un objeto?
Las clases efinen un mole" efinen las caracterna clase es una abstraccin o generali%acin conce!to e la realia. 6s una es!ecificacin e las caractern objeto es la reali%acin e una clase" es una instancia e una c7onsiste en una existencia concreta $ue cum!le con las caracter
-
8/10/2019 Java Inicial para principiantes
40/178
www.belatrixsf.com |
7lases e
Qu es un objeto? -ejem!lopackagear.com.c!rso%ava.principal;
publicclassPersona {String dni;String nombre;String apellido;
}
+ni1 [.\WB.DWIombre1 )art
-
8/10/2019 Java Inicial para principiantes
41/178
www.belatrixsf.com |
7lases e
7reacin e un objetoAl efinir una 'ariable" inicamos al com!ilaor un nombre con el referimos a una unia e atos e un ti!o eterminao.
>na 'ariable e ti!o !rimiti'a" al ser efinia" tambin reser'a en es!acio !ara ser almacenaa. >na 'ariable $ue referencia un obje
+efinicin e una 'ariable $ue ar referenciaa un objeto e ti!o7alculaora;ase1
3alc!ladora4ase calc!ladora;
7lases e
-
8/10/2019 Java Inicial para principiantes
42/178
www.belatrixsf.com |
7lases e
7reacin e un objeto
Al efinir una 'ariable !ara /acer referencia a un objeto e una cla'alor inicial es inefinio -null. 6n este caso" se reser'a memoriase instancia -crea un objeto e la clase meiante el o!eraor new
6l o!eraor GnewH utili%a el constructor e la clase !ara instanciar
=oa clase tiene un constructor" el cual efine las GreglasH e creaobjeto. (i no creamos uno ex!l
-
8/10/2019 Java Inicial para principiantes
43/178
7lases e
-
8/10/2019 Java Inicial para principiantes
44/178
www.belatrixsf.com |
7lases e
7reacin e un objeto
(e !ermite efinir m&s e unconstructor !ara una misma clase-sobrecarga e constructores.
publicclassPersona {public String nombre;
publicPersona () {}
publicPersona (String nombrethis.nombre= nombre;
}}
Persona calc = newPersona();
nstanciacin usano ne2Persona calc = newPersona(56o*n Sn
7lases e
-
8/10/2019 Java Inicial para principiantes
45/178
www.belatrixsf.com |
7lases e
Acceer miembros e un obje
Para acceer a un atributo !:blico e un objeto" utili%amos el o!e-!unto. Poemos asignar un 'alor al mismo meiante el o!erao
Persona persona = newPersona();persona.nombre= "6o*n Sno7";
Para in'ocar un mtoo e un objeto" utili%amos el o!eraor G.G -!
!ersona.setIombre-"6o*n Sno7");
-
8/10/2019 Java Inicial para principiantes
46/178
7lases e
-
8/10/2019 Java Inicial para principiantes
47/178
www.belatrixsf.com |
7lases e
7om!aracin e objetos
Por efecto" Ja'a com!ara $ue la instancia e los objetos com!arsea la misma. 6ntonces" $u es lo $ue sucei a$u
-
8/10/2019 Java Inicial para principiantes
48/178
www.belatrixsf.com |
Acti'ia
+6 @eneraliae
Qu significa $ue una 'ariable e ti!o objeto /aga GreferenciaH a*bjeto? A'erig_emos...
)oificar el mtoo main !ara $ue cree una instancia e la clase usano el constructor con W !ar&metro -nombre. A continuacin
otra 'ariable e ti!o Persona" # asignarle el 'alor e la 'ariable recreaa. 7ambiar el 'alor el nombre !ara la seguna 'ariable Pee im!rimir el nombre e la !rimera !or !antalla.
7lases e
-
8/10/2019 Java Inicial para principiantes
49/178
www.belatrixsf.com |
7lases e
Arreglos
+efinen un objeto conteneor $ue guara un n:mero fijo e 'alorun ti!o :nico.
=oos los 'alores el arreglo eben ser el mismo ti!o.
(u tama`o es est&tico -no !uee cambiar.
(e reser'a es!acio en memoria una 'e% creamos el arreglo
7lases e
-
8/10/2019 Java Inicial para principiantes
50/178
www.belatrixsf.com |
7lases e
Arreglos
Los elementos e un arreglo son acceios !or un
-
8/10/2019 Java Inicial para principiantes
51/178
www.belatrixsf.com |
Arreglos
Para asignar un 'alor al tercer elemento el arreglo !oemos /ac
Persona terceraPersona = newPersona();Persona&' personas = newPersona&1';personas&/' = terceraPersona;
Para obtener la cantia e elementos e un arreglo" usar lengt/ un int1
Persona&' personas = newPersona&1';System.out.println(personas.lengt*);
7lases e
-
8/10/2019 Java Inicial para principiantes
52/178
www.belatrixsf.com |
Arreglos>n arreglo !uee tener m&s e una imensin1
niciali%acin r&!ia e arreglos1
int&'&' matri = newint&'&';
String&' arreglo = {"!no" "dos" "tres"};
int&'&'&' c!bo = newint&'&'&';
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
53/178
www.belatrixsf.com |
Acti'ia
7rear un arreglo e tama`o !ara contener elementos e ti!o in
Asignar un 'alor a las !rimeras os !osiciones.
Asignar a la tercera !osicin la suma e las otras os !osiciones
m!rimir el resultao !or !antalla.
7lases e
-
8/10/2019 Java Inicial para principiantes
54/178
www.belatrixsf.com |
0erencia
Permite crear clases usano una clase existente como base. (e reusar las !ro!ieaes # mtoos e la clase existente" ubicano# mtoos comunes a muc/os /ijos.
La clase base se llama Gsu!erclaseH" # la $ue la extiene se llama
GsubclaseH.
La clase /ija o subclase !uee agregar funcionalia !ro!ia -extila funcionalia base.
7lases e
-
8/10/2019 Java Inicial para principiantes
55/178
www.belatrixsf.com |
0erenciapublicclass3alc!ladora4ase {
publicString d!enio;
publicfloats!mar(floatprimerS!mandofloatseg!ndoS!mando) {
returnprimerS!mando < seg!ndoS!mando;}
publicfloatrestar(floatmin!endo floats!straendo) {returnmin!endo s!straendo;
}
publicfloatm!ltiplicar(floatm!ltiplicando
floatm!ltiplicador) {returnm!ltiplicando # m!ltiplicador;
}
publicfloatdividir(floatdividendo floatdivisor) {returndividendo > divisor;
}}
packagear.com.c!rso%ava.calc!los;
publicclass3alc!ladora?vanada exte
publicfloatc!adrado(floatnreturnm!ltiplicar(n!m
}}
0erencia1 !alabra reGextensH
-
8/10/2019 Java Inicial para principiantes
56/178
-
8/10/2019 Java Inicial para principiantes
57/178
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
58/178
www.belatrixsf.com |
Acti'ia7mo funciona el polimorfismo? 0agamos un ejem!lo.
7rear una clase GVe/iculoH $ue contenga un mtoo Gencener)oos clases GAutoH # G)otoH $ue /ereen e la clase Ve/iculo -exte7rear un mtoo Gencener)otorH en ambas clases /ijas" e im!ri
!antalla iferentes caenas. )oificar el mtoo main" eclaran'ariables e ti!o 'e/
-
8/10/2019 Java Inicial para principiantes
59/178
www.belatrixsf.com |
)oificaores e acceso
private1 los elementos solo !ueen acceerse ese la misma classe encuentran. 6s el ti!o m&s restricti'o.
+eterminan ese $u clase se !uee acceer a un eterminao el(on a!licables a 'ariables" mtoos o clases.
privatefloatdividir(finalfloatdividendo finalfloatdivisor) {returndividendo > divisor;
}
7lases e
-
8/10/2019 Java Inicial para principiantes
60/178
www.belatrixsf.com |
)oificaores e accesoprotected1 los elementos solo !ueen acceerse ese clases ubicmismo !a$uete" # ese cual$uier clase $ue extiena la clase en $uencuentra.
package ar.com.c!rso%ava.calc!los;
publicclass3alc!ladora4ase {
protectedfloatm!ltiplicar(floatm!ltiplicandofloatm!ltiplicador) {
returnm!ltiplicando # m!ltiplicador;}
}
package ar.com.c!rso%ava.calc!los;
publicclass3alc!ladora?vanada extends
publicfloatc!adrado(floatn!merreturnm!ltiplicar(n!mero
}}
7lases e
-
8/10/2019 Java Inicial para principiantes
61/178
www.belatrixsf.com |
)oificaores e acceso
default1 no se es!ecifica !alabra cla'e. Permite acceer al element:nicamente ese clases $ue se encuentran en el mismo !a$uete $clase $ue lo contiene. Lo siguiente no est permitido -7alculaoraintenta acceer ilegalmente al mtoo multi!licar e su su!erclase
package ar.com.c!rso%ava.calc!los;
publicclass3alc!ladora4ase {
floatm!ltiplicar(floatm!ltiplicandofloatm!ltiplicador) {
returnm!ltiplicando # m!ltiplicador;}
}
package ar.com.c!rso%ava.calc!los.avanad
publicclass3alc!ladora?vanada extends
publicfloatc!adrado(floatn!merreturnm!ltiplicar(n!mero
}}
7lases e
-
8/10/2019 Java Inicial para principiantes
62/178
www.belatrixsf.com |
)oificaores e accesopu#lic1 !ermite acceer al elemento ese cual$uier clase"ine!enientemente e $ue sta !ertene%ca o no al mismo !a$ueteclase conteneora. 6n el siguiente ejem!lo ambas clases est&n ubiciferentes !a$uetes -# el cigo es '&lio1
package ar.com.c!rso%ava.calc!los;
publicclass3alc!ladora4ase {
floatm!ltiplicar(floatm!ltiplicandofloatm!ltiplicador) {
returnm!ltiplicando # m!ltiplicador;}
}
package ar.com.c!rso%ava.calc!los.avanad
publicclass3alc!ladora?vanada {
publicfloatc!adrado(floatn!mero3alc!ladora4ase calc = ne7returncalc.m!ltiplicar(n!
}}
7lases e
-
8/10/2019 Java Inicial para principiantes
63/178
www.belatrixsf.com |
7onsieracin1 acceso a objetI896RT4TE1 +ebe e'itar acceerse2asignar 'alores a los atribun objeto en forma irecta. @eneralmente los atributos son !ri'aofrecen mtoos !:blicos !ara asignar # obtener 'alores al2el o6jem!lo1
publicclassPersona {privateString nombre;
publicString getBombre() {
returnnombre;}
publicvoidsetBombre(String nombre) {this.nombre= nombre;
}}
-
8/10/2019 Java Inicial para principiantes
64/178
7lases e
-
8/10/2019 Java Inicial para principiantes
65/178
www.belatrixsf.com |
)oificaores e clase1 static M 6jpackagear.com.c!rso%ava.principal;
importar.com.c!rso%ava.!tils.Cmpresora$ensa%e;
publicclassPrincipal {publicstaticvoidmain(String&' args) {
String mensa%e = args&';Cmpresora$ensa%e.imprimirMensaje(mensa%e);
}}
packagear.com.c!rso%ava.!tils;
publicclassCmpresora$ensa%e {publicstaticvoidimprimir$ensa%e(String mens
System.out.println(mensa%e);}
}
7lases e
-
8/10/2019 Java Inicial para principiantes
66/178
www.belatrixsf.com |
)oificaores e clase1 fina
final1 ientifica elementos $ue no 'an a cambiar" es ecir" $ue son se a!lica a 'ariables" clases # mtoos. 7aracter
-
8/10/2019 Java Inicial para principiantes
67/178
www.belatrixsf.com |
)oificaores e clase1 final M 6jepackagear.com.c!rso%ava.principal;
importar.com.c!rso%ava.!tils.Cmpresora$ensa%e;
publicclassPrincipal {publicstaticvoidmain(String&' args) {
String mensa%e = args&';Cmpresora$ensa%e.imprimirMensaje(Version: < Cmpresora$ensa%e.-DSCABEC$PD-Cmpresora$ensa%e.imprimirMensaje(mensa%e);
}
} packagear.com.c!rso%ava.!tils;
publicclassCmpresora$ensa%e {publicstaticvoidimprimir$ensa%e(String mens
System.out.println(mensa%e);}
}
7lases e
-
8/10/2019 Java Inicial para principiantes
68/178
www.belatrixsf.com |
)oificaores e clase1 fina
7aractern m;todofinal no !uee ser sobreescrito !or clases /ijas.
6l est&nar e nomenclatura !ara m;todosfinal es el mismoel utili%ao !ara mtoos con'encionales.
>na clasefinal inica $ue no !uee ser extenia !or otra c
7lases e
-
8/10/2019 Java Inicial para principiantes
69/178
www.belatrixsf.com |
)oificaores e clase1 abstra
Permiten efinir o!eraciones comunes $ue eber
-
8/10/2019 Java Inicial para principiantes
70/178
www.belatrixsf.com |
)oificaores e clase1 abstra
Los mtoos abstractos no !ueen tener cuer!o.
>na clase abstracta !uee contener mtoos no abstractos.
(i una clase tiene un mtoo abstracto" ella ebe ser abstracta
>na clase $ue extiene una clase abstracta tiene la obligacin m!lementar toos los mtoos e su !are" o ebe ser abstractambin.
7lases e
-
8/10/2019 Java Inicial para principiantes
71/178
www.belatrixsf.com |
7lases abstractas
+efine una tarea general ejano a los /ijos los etalles es!e
o pueden ser instanciadas. (on conce!tos abstractos.
(i al menos un mtoo tiene el moificaor GabstractH" la clas
ser abstracta. Puee contener mtoos no abstractos -con c
>n mtoo abstracto lle'a el moificaor GabstractH" # no tien
7lases e
-
8/10/2019 Java Inicial para principiantes
72/178
www.belatrixsf.com |
packagear.com.gestion.abstracta;
publicabstractclasse*+c!lo {publicabstractvoidencender$otor();
publicvoidencenderF!ces() {
System.o!t.println("-ncenderl!ces");}
} packagear.com.gestion.abstract
publicclass?!to extendse*+c
@Averridepublicvoidencender$otor
System.out.println(}
}
packagear.com.gestion.abstracta;
publicclass$oto extendse*+c!lo {
@Averridepublicvoidencender$otor() {
System.out.println("Girar llave");System.out.println("Har patada");
}}
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
73/178
www.belatrixsf.com |
Acti'ia
1(+eclarar toos los mtoos e G7alculaora;aseH como est&tic+eclarar la clase como abstracta # efinir en ella un mtoo G!oteabstracto" $ue reciba B n:meros como !ar&metro. Qu sucee G7alculaoraA'an%aaH?
-
8/10/2019 Java Inicial para principiantes
74/178
www.belatrixsf.com |
nterfaces
(on como clases abstractas en su m&xima ex!resin. Iingunomtoos tienen cuer!o. (olo efinen o!eraciones. =oos sus mson !:blicos.Pueen /erear e otras interfaces -0erencia m:lti!le. Io !uim!lementar otras interfaces.
Pueen tener atributos" !ero stos ser&n !:blicos est&ticos # c-aun$ue nosotros no lo ini$uemos.
f
7lases e
-
8/10/2019 Java Inicial para principiantes
75/178
www.belatrixsf.com |
nterfaces
+efinen una es!ecie e contrato1 es!ecifican $u /ar&n # se g$ue el resultao e la o!eracin # sus !arametros no cambiar&
(i una clase im!lementa -meiante la !alabra reser'aa impleuna interfa%" ebe !ro'eer una im!lementacin e toos sus m
>na 'ariable utili%aa !ara referenciar una clase e ti!o interfaser utili%aa !ara /acer referencia a cual$uier instancia e unaim!lementaciones.
f
7lases e
-
8/10/2019 Java Inicial para principiantes
76/178
www.belatrixsf.com |
nterfaces
packagear.com.c!rso%ava.desc!entos;
publicclassHesc!ento3lientePremi!m implementsHesc!ento3liente {@Averridepublicfloatcalc!larHesc!ento(floattotal?Pagar) {
returntotal?Pagar (total?Pagar # / > 1);}
}
packagear.com.c!rso%ava.desc!ento
publicclassHesc!ento3lienteB!evoimplementsHesc!ento3l
@Averridepublicfloatcalc!larHesc!en
returntotal?Pagar;}
}
packagear.com.c!rso%ava.desc!entos;
publicinterfaceHesc!ento3liente {floatcalc!larHesc!ento(floattotal?Pagar);
}
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
77/178
www.belatrixsf.com |
Acti'ia
1(7o!iar el ejem!lo e escuentos" creano las interfaces # clasenecesarias.
-
8/10/2019 Java Inicial para principiantes
78/178
www.belatrixsf.com |
6numeraciones(on ti!os com!lejos con 'alores constantes !reefinios. 6xtie
Io se instancian. Los 'alores se acceen est&ticamente.
+an un ma#or control sobre los 'alores !osibles $ue un mtoace!tar. +efine un conjunto e 'alores !osibles.
Pueen contener 'ariables o mtoos.
>tili%an constructores !ri'aos !ara iniciali%ar sus 'alores. Losconstructores no !ueen ser in'ocaos manualmente.
6 i >
7lases e
-
8/10/2019 Java Inicial para principiantes
79/178
www.belatrixsf.com |
6numeraciones M >sopackagear.com.gestion.en!meraciones;
publicenumHia {LUNES(1)MARTES(/)MIERCOLES()
JUEVES(I) VIERNES(,) SABAO()OMIN!O(0);
privateintdiaHeSemana;
privateHia(intdiaHeSemana) {this.diaHeSemana= diaHeSemana;
}
publicintgetHiaHeSemana() {returndiaHeSemana;
}}
packagear.com.gestion.principal;
importar.com.gestion.en!meraciones.
publicclassPrincipal {publicstaticvoidmain(String
imprimirNumeroeiaeSem}
publicstaticvoidimprimirB!mHia dia) {
System.out.println(dia.g}
}
7lases e
-
8/10/2019 Java Inicial para principiantes
80/178
www.belatrixsf.com |
7onicionales1 (entencias Gif
Los conicionales !ermiten moificar el flujo normal e la ejecucia!licacin. Permiten efinir fragmentos e cigo $ue ser&n ejecuse cum!le eterminaa conicin. La conicin ebe ser una ex!rcu#o resultao sea un 'alor booleano.
>n blo$ue if e una sola l
-
8/10/2019 Java Inicial para principiantes
81/178
www.belatrixsf.com |
7onicionales1 (entencias GifpublicclassPrincipal {publicstaticvoidmain(String&' args) {
longn!mero = Fong.parseLon"(args&');if(n!mero == ) {
System.out.println("-l nJmero ingresado es "e no existir una" se ejecutan los em&s caminos en cascaa.
7lases e
6jem!lo1
-
8/10/2019 Java Inicial para principiantes
84/178
www.belatrixsf.com |
ia #ia $ ia%&a'ueO((args&');
switch(dia) {caseLUNESO
System.out.println("-s l!nes");break;
caseMARTESOSystem.out.println("-s martes");break;
caseMIERCOLESOSystem.out.println("-s miercoles");break;
caseJUEVESOSystem.out.println("-s %!eves");break;
caseVIERNESOSystem.out.println("-s viernes");break;
defaultOSystem.out.println("9inde");break;
}
6jem!lo1 Par&me!rogram
7lases e
6jem!lo sin
-
8/10/2019 Java Inicial para principiantes
85/178
www.belatrixsf.com |
6jem!lo sin
brea3-cascaa1
publicclassPrincipal {publicstaticvoidmain(String&' args) {
Hia dia = Hia.&a'ueO((args&');System.out.println("3!Qnto :!eda para e
switch(dia) {caseLUNESO
System.out.println("Te RaltcaseMARTESO
System.out.println("Te RaltcaseMIERCOLESO
System.out.println("Te RaltcaseJUEVESO
System.out.println("Te RaltcaseVIERNESO
System.out.println("9inalmebreak;
defaultOSystem.out.println("Ua es Rbreak;
}}
}
i i
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
86/178
www.belatrixsf.com |
Acti'ia
1(7o!iar el ejem!lo e escuentos" crear una enumeracin G=i!ocon os 'alores1 Iue'o # Premium.
sar la sentencia switc/ o if !ara eterminar el ti!o e cliente" la im!lementacin e c&lculo e escuento corres!oniente en ba!ar&metro e entraa. >sar una 'ariable e ti!o G+escuento7lien
!ara /acer referencia a la instancia creaa.
(m!rimir !or !antalla el c&lculo e escuento.
;ucles+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
87/178
www.belatrixsf.com |
;ucles>n bucle es una instruccin es!ecial $ue efine un conjunto e
instrucciones $ue eben ejecutarse mientras se cum!la una eteconicin. 0a# mecanismos1
for1 conoce e antemano la cantia e iteraciones necesar
2ile1 e'al:a la conicin al comien%o" si no se cum!le no
ingresa al cuer!o. Puee no ingresar nunca al cuer!o.
do , 2ile1 garanti%a la ejecucin el cuer!o al menos una '6'al:a la conicin al final
-
8/10/2019 Java Inicial para principiantes
88/178
;ucles E for E !asos e ejecuc+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
89/178
www.belatrixsf.com |
;ucles E for E !asos e ejecucWM (e ejecuta el !aso e iniciali%acin. 6ste !aso solo se ejecuta u
Io es obligatorio1 !uee omitirse la sentencia -!ero no el . Pueeiniciali%arse m&s e una 'ariable" se!arano las mismas con una c
BM (e ejecuta el cuer!o el bucle.
M (e ejecuta el !aso e actuali%acin. Puee actuali%arse el 'alorcual$uier 'ariable. 6s o!cional" !uee omitirse -!ero no el $ue lo
DM (e com!rueba la conicin. (i no se cum!le" se sale el bucle.contrario" 'ol'er al !aso B.
;ucles M w/ile+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
90/178
www.belatrixsf.com |
;ucles w/ile?ilenos !ermite ejecutar un blo$ue e cigo m:lti!les 'eces
re'isano $ue una conicin sea 'eraera en caa 'uelta. Laconicin se re'isa antes e ejecutar el cuer!o. +ebio a esto" e!osible $ue el cuer!o nunca se ejecute" en el caso e $ue la consea falsa en el !rimer c/ec3.
publicclassPrincipal {publicstaticvoidmain(String&' args) {
intx = ;
while(x M 1) {x
-
8/10/2019 Java Inicial para principiantes
91/178
www.belatrixsf.com |
;ucles o w/ile
Do , 2ilees mu# similar a w/ile. La :nica iferencia es $ue el
e la conicin se re'isa al terminar la ejecucin el cuer!o" en comien%o. 7omo resultao" el cuer!o el mtoo se ejecuta" comm
-
8/10/2019 Java Inicial para principiantes
92/178
www.belatrixsf.com |
+iferencia entre Gw/ileH # Go w/
publicclassPrincipal {publicstaticvoidmain(St
intx = 1;do{
x
-
8/10/2019 Java Inicial para principiantes
93/178
www.belatrixsf.com |
Acti'ia
1(7rear un arreglo e enteros e W[ elementos. Almacenar W[ 'a
-
8/10/2019 Java Inicial para principiantes
94/178
www.belatrixsf.com |
;ucles continue
La !alabra reser'aa continue nos !ermite omitir el resto el cuebucle # saltar a la siguiente iteracin.
publicclassPrincipal {publicstaticvoidmain(String&' args) {
>> Cmprimimos nJmeros del al V excepto el for(intx = ; x M 1; x
-
8/10/2019 Java Inicial para principiantes
95/178
www.belatrixsf.com |
Acti'ia
1(7rear un arreglo e enteros e W[ elementos. Almacenar W[ 'alo
-
8/10/2019 Java Inicial para principiantes
96/178
www.belatrixsf.com |
;ucles brea3La !alabra reser'aa brea3 nos !ermite salir e la ejecucin el
Io se continuar& iterano" la ejecucin contin:a con la siguienteinstruccin al bucle.publicclassPrincipal {
publicstaticvoidmain(String&' args) {>> S!matoria de n!meros salimos al s!perar el valor 1inti = 1;intac!m!lado = ;while(true) {
ac!m!lado > res!men paraO ac!m!lado = ac!m!ladoif(ac!m!lado K 1) {
break;}
}
System.out.println("?c!m!ladoO "< ac!m!lado);}
}
Acti'ia
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
97/178
www.belatrixsf.com |
Acti'ia
1(7rear un arreglo e enteros e W[ elementos. Almacenar W[ 'a
-
8/10/2019 Java Inicial para principiantes
98/178
www.belatrixsf.com |
>n collection es un objeto $ue agru!a elementos relacionaos. Priferentes o!eraciones !ara almacenar" obtener" buscar # mani!uliferentes formas los elementos $ue contienen.
>n framewor3 e collections est& formao t
Interfaces1 efinen las o!eraciones $ue esem!e`an.
Implementaciones1 im!lementacin concreta e las interface
4lgoritmos1 o!eraciones :tiles # mu# comunes !ara collectio
7ollection Uramewor3 M ;enefic7
-
8/10/2019 Java Inicial para principiantes
99/178
www.belatrixsf.com |
5euce el esfuer%o e esarrollo
ncrementa la !erformance # calia el cigo
Permite la relacionar iferentes a!licaciones $ue utilicen collecasi sin esfuer%o E solo necesitamos conocer el collection fra
Uacilita im!lementaciones !ro!ias E solo ebemos im!lemeninterfaces
7ollection Uramewor3 M 7ollect7
-
8/10/2019 Java Inicial para principiantes
100/178
www.belatrixsf.com |
ollection1 es la clase ra
-
8/10/2019 Java Inicial para principiantes
101/178
www.belatrixsf.com |
(et1 es una nterfa% $ue extiene 7ollection -es una coleccinno amite elementos u!licaos. 6jem!los e im!lementacin0as/(et -no garanti%a oren e iteracin" =ree(et -orena suen base a su 'alor # Lin3e0as/List -orena sus elementos eoren e insercin. (olo brina acceso secuencial.
publicinterfaceSetM-K extends3ollectionM-K {
intsie(); booleanis-mpty(); booleancontains(Ab%ect element); booleanadd(- element); booleanremove(Ab%ect element); CteratorM-K iterator();
booleancontains?ll(3ollectio
booleanadd?ll(3ollectionMN e booleanremove?ll(3ollectionM booleanretain?ll(3ollectionM voidclear(); Ab%ect&' to?rray(); MTK T&' to?rray(T&' a);}
>so e (et E m!lementacin 0a7
-
8/10/2019 Java Inicial para principiantes
102/178
www.belatrixsf.com |
!
packagear.com.gestion.principal;
import%ava.!til.as*Set;import%ava.!til.Set;
publicclassPrincipal {publicstaticvoidmain(String&' args) {
Set cadenas = newas*Set();cadenas.add("Wna cadena");
System.out.println(cadenas.sie());}
}
7ollection Uramewor3 M List7
-
8/10/2019 Java Inicial para principiantes
103/178
www.belatrixsf.com |
List1 coleccin orenaa" $ue !ro'ee acceso aleatorio # secusus elementos. Permite u!licaos. Agrega o!eraciones !araelementos en una !osicin eterminaa" obtener el elemento!osicin eterminaa" buscar" obtener sublistas" etc. m!lemeArra#List" Lin3eList # Vector.
publicinterfaceFistM-K extends3ollectionM-K { - get(intindex);
- set(intindex - element); booleanadd(- element);voidadd(intindex - element);
- remove(intindex);
booleanadd?ll(intindex 3ollec intindexAR(Ab%ect o);
intlastCndexAR(Ab%ect o); FistCteratorM-K listCterator(); FistCteratorM-K listCterator(int FistM-K s!bFist(intRrom intto}
>so e List E m!lementacin Arr7
-
8/10/2019 Java Inicial para principiantes
104/178
www.belatrixsf.com |
!
packagear.com.gestion.principal;
import%ava.!til.?rrayFist;import%ava.!til.Fist;
publicclassPrincipal {publicstaticvoidmain(String&' args) {
Fist cadenas = new?rrayFist();cadenas.add("Wna cadena");
System.out.println(cadenas.get());}}
5ecorrieno (ets # Lists1 tera7
-
8/10/2019 Java Inicial para principiantes
105/178
www.belatrixsf.com |
Para iterar en un (et o un List" !oemos utili%ar la interfa% Giterator
es un objeto $ue nos !ermite recorrer un collection en forma serial !or elemento" en oren. La interfa% iterator contiene elementos1 /next # remo'e. Para recorrer los elementos" tiene un !untero al ele
aseAt1 e'uel'e un 'alor boolean $ue inica si $uean elem
neAt1 e'uel'e el siguiente elemento" # a'an%a el !untero una
remove1 $uita el iterator el elemento actual.
5ecorrieno (ets # Lists1 tera7
-
8/10/2019 Java Inicial para principiantes
106/178
www.belatrixsf.com |
publicclassPrincipal {
publicstaticvoidmain(String&' args) {Set cadenas = newas*Set();cadenas.add("Wna cadena");cadenas.add("Atra cadena");
Cterator iterator = cadenas.iterator();System.out.println(cadenas.sie());
while(iterator.*asBext()) {iterator.next();
iterator.remove();}
System.out.println(cadenas.sie());}
}
publicclassPrincipal {publicstaticvoidmain(String
Fist cadenas = new?rrayFcadenas.add("Wna cadena")cadenas.add("Atra cadena"
FistCterator iterator = cSystem.out.println(cadena
while(iterator.*asBext())iterator.next();
iterator.remove();}
System.out.println(cadena}
}
5ecorrieno Lists1 !or
-
8/10/2019 Java Inicial para principiantes
107/178
www.belatrixsf.com |
publicclassPrincipal {
publicstaticvoidmain(String&' args) {Fist cadenas = new?rrayFist();cadenas.add("Wna cadena");cadenas.add("Atra cadena");
for(inti = ; i M cadenas.sie(); i
-
8/10/2019 Java Inicial para principiantes
108/178
www.belatrixsf.com |
Acti'ia
WM 7rear un collection. Agregar objetos e ti!o (tring
BM terar en el collection -iterator o .get e list usano un bucle
M 6n caa iteracin" com!arar con un 'alor eterminao. Al encAsignar el 'alor en una 'ariable # rom!er el bucle
DM m!rimir el 'alor !or !antalla
=i!ificar collections1 @enerics7
-
8/10/2019 Java Inicial para principiantes
109/178
www.belatrixsf.com |
Ja'a !ermite ti!ificar el contenio e un collection utili%ano gener
esta forma se !uee es!ecificar e $u ti!o ser& el contenio el c+e esta forma" al obtener un elemento el mismo" en lugar e ser # tener $ue castear al ti!o objeti'o" el objeto obtenio ser& el ti!oen los @enerics.
publicclassPrincipal {publicstaticvoidmain(String&' args) {
FistMStringK cadenas = new?rrayFistMStringK();cadenas.add("Wna cadena");
cadenas.add("Atra cadena");
for(inti = ; i M cadenas.sie(); i
-
8/10/2019 Java Inicial para principiantes
110/178
www.belatrixsf.com |
Ja'a !ro'ee un o!eraor es!ecial !ara iterar en los elementos e
7ollection1 la construccin foreac. 6sta construccin nos !ermiten un collection ti!ificao" en forma secuencial" sin necesia e !or
-
8/10/2019 Java Inicial para principiantes
111/178
www.belatrixsf.com |
ct a
1(7rear una clase -o moificar una existente $ue tenga un ti!o enentre sus atributos -ejem!lo1 =i!o7ombustible" con 'alores +6(6
sar for eac/ !ara iterar en los elementos el collection. Al encoasignarlo a una 'ariable" salir el bucle # encenerlo.
7ollection Uramewor3 M )a!7
-
8/10/2019 Java Inicial para principiantes
112/178
www.belatrixsf.com |
)a!1 >n ma!a es una coleccin $ue asocia un 'alor con una leterminar en $u lugar el ma!a se guara un 'alor" se a!lic
e /as/ a la lla'e. Io !ueen existir B 'alores con la misma lla>na lla'e #a existente" sobreescribe el 'alor actual. m!lemencom:n1 0as/)a!.
publicinterface$apMXK { p!t(X Yey val!e); get(Ab%ect Yey);
remove(Ab%ect Yey); booleancontainsXey(Ab%ect Yey); booleancontainsal!e(Ab%ect val!e); intsie(); booleanis-mpty(); voidp!t?ll($apMN extendsX N extendsK m);
voidclear(); publicSetMXK YeySet(); public3ollectionMK val!es(
public
SetM$ap.-ntryMXKK e publicinterface-ntry { X getXey(); getal!e(); setal!e( val!e); }}
-
8/10/2019 Java Inicial para principiantes
113/178
-
8/10/2019 Java Inicial para principiantes
114/178
Patrn singleton
7
-
8/10/2019 Java Inicial para principiantes
115/178
www.belatrixsf.com |
(ingleton es un !atrn e ise`o utili%ao cuano se re$uiere soloBnica instancia de un o#"eto para toda la aplicaci!n. (e logra e/acieno su constructor !ri'ao" # creano un mtoo !:blico $uese encarga e e'ol'er su instancia -:nica" creano el objeto e snecesario. =oas las in'ocaciones al mtoo e'ol'er&n la misma
6ste !atrn !ermite crear objetos e estao global" !ermite e'itar lae objetos innecesarios en memoria" !ermite el control centrali%aoacceso a recursos com!artios" etc.
Patrn singleton
7
-
8/10/2019 Java Inicial para principiantes
116/178
www.belatrixsf.com |
packagear.com.gestion.principal;
publicclass-xpertoWs!arios {
privatestatic-xpertoWs!arios e)pertoUsuarios= null;
publicstatic-xpertoWs!arios getCnstancia() {if(e)pertoUsuarios== null) {
e)pertoUsuarios= new-xpertoWs!arios();}
returne)pertoUsuarios;}
private-xpertoWs!arios() {}
publicWs!ario crearWs!ario(String nombreWs!ario String contraseZa) {>> crear !s!ario
}}
nterfaces gr&ficas
7
-
8/10/2019 Java Inicial para principiantes
117/178
www.belatrixsf.com |
Ja'a ofrece una biblioteca !ara construs -@ra!/ic >ser nte
(TI@. 5eem!la% a la antigua biblioteca e @>s e Ja'a" AT-actualmente en esuso.
0a# os formas e organi%ar las 'entanas en swing1
SDI1 iferentes 'entanas" se!araas e ine!enientes
8DI1 'entanas contenias entro e una misma 'entana !rin
-
8/10/2019 Java Inicial para principiantes
118/178
Ventanas1 JUrame
7
-
8/10/2019 Java Inicial para principiantes
119/178
www.belatrixsf.com |
JUrame !ermite 'arias acciones e cierre -clic3 en la e la 'en
JUrame.DIS96SEC6C56SE1 cierra el JUrame actual. (i:ltimo JUrame" la a!licacin termina
JUrame.EITC6C56SE1 termina la a!licacin
JUrame.D6C6TIFC6C56SE1 es/abilita la e la
JUrame.IDEC6C56SE1 escone la 'entana. Puee 'olmostrarse !osteriormente -'isible 8 true # estao 8 (tate.I*
A!licacin1 B 'entanas JUram
7
-
8/10/2019 Java Inicial para principiantes
120/178
www.belatrixsf.com |
import%avax.s7ing.69rame;
publicclassPrincipal { publicstaticvoidmain(String&' args) { 69rame ventana = new69rame(); ventana.setTitle("$i primera ventana"); ventana.setSie( /); ventana.setFocation( ); ventana.setisible(true); ventana.setHeRa!lt3loseAperation(69rame.IS*OSE+ON+CLOSE);
69rame ventana/ = new69rame(); ventana/.setTitle("$i seg!nda ventana"); ventana/.setSie( /); ventana/.setFocation(I ); ventana/.setisible(true); ventana/.setHeRa!lt3loseAperation(69rame.IS*OSE+ON+CLOSE); }}
La#outs
7
-
8/10/2019 Java Inicial para principiantes
121/178
www.belatrixsf.com |
Puee efinirse un la#out !ara too com!onente conteneor e
com!onentes. 6l la#out efine cu&l ser& la ubicacin e loscom!onentes $ue se agreguen al conteneor. 6l la#out se es!ecusano el mtoo GsetLa#outH e los conteneores. Algunos ejem
GoA5aHout1 coloca los com!onentes 'erticalmente.
3lo25aHout1 coloca los com!onentes /ori%ontalmente.
null1 eja la ubicacin en nuestras manos" meiante el uso Gabsolute !ositioningH -coorenaas cartesianas.
Labels1 JLabel
7
-
8/10/2019 Java Inicial para principiantes
122/178
www.belatrixsf.com |
La clase JLabel !ermite efinir una eti$ueta E un elemento $ue m
texto en su interior.
)toos :tiles1
setTeAt1 efine un texto !ara la eti$ueta
getTeAt1 obtiene el texto $ue la eti$ueta muestra actualment
6Fabel label = new6Fabel("$i primera eti:!eta");
;otones1 J;utton7
-
8/10/2019 Java Inicial para principiantes
123/178
www.belatrixsf.com |
La clase J;utton !ermite efinir un botn" el texto $ue muestra #
un e'ento.
64!tton boton = new64!tton();boton.add?ctionFistener(new?ctionFistener() {
@AverridepublicvoidactionPerRormed(?ction-vent event) {
6AptionPane.s,o-Messa"eia'o"(contenedor "Texto");}
});
n!uts1 J=extUiel
7
-
8/10/2019 Java Inicial para principiantes
124/178
www.belatrixsf.com |
La clase J=extUiel !ermite efinir casillas e texto $ue ser&n utili%!or un usuario !ara introucir atos en el sistema.
Poemos mani!ular el texto $ue los mismos muestran a tra's eGset=extH" # recu!erar su contenio a tra's el mtoo Gget=extH.
6Text9ield text9ield = new6Text9ield();text9ield.setText("Texto a mostrar inicialmente");
=ablas1 J=able
7
-
8/10/2019 Java Inicial para principiantes
125/178
www.belatrixsf.com |
La clase J=able !ermite crear una tabla. (e !ermite la efinicin columnas $ue !osteriormente !oremos !oblar" !ara mostrar infoen forma tabular. J=able mantiene internamente un moelo con lainformacin e columnas $ue est& mostrano" # las filas $ue contun momento ao. niciali%acin1
6Table tabla = new6Table();tabla.set$odel(new%avax.s7ing.table.HeRa!ltTable$odel(newAb%ect&'&'{ "Pedro" "GonQle"} { "$art+n" "F[pe"} }newString&' { "Bombre" "?pellido"}));
=ablas1 J=able
7
-
8/10/2019 Java Inicial para principiantes
126/178
www.belatrixsf.com |
*btencin el moelo e la tabla1
HeRa!ltTable$odel model = (HeRa!ltTable$odel) tabla.get$odel();
Agregar fila1
model.addDo7(newAb%ect&'{"6!an" "Pre"});
5ecu!erar !osicin -e'ol'er& GL!e%H1
model.getal!e?t(1 1);
=ablas1 J=able
7
-
8/10/2019 Java Inicial para principiantes
127/178
www.belatrixsf.com |
Para /acer 'isible una tabla # brinar funcionalia e GscrollH" esnecesario colocar la misma en el interior e un J(crollPane. 6stecom!onente es un conteneor $ue !ro!orciona scrollbars.
>tili%acin1
6ScrollPane scroll = new6ScrollPane();scroll.set4o!nds( 1);scroll.setisible(true);scroll.setie7portie7(tabla);
7onteneor1 JPanel
7
-
8/10/2019 Java Inicial para principiantes
128/178
www.belatrixsf.com |
La clase JPanel !ermite efinir un conteneor e com!onentes" a
!oemos agregar com!onentes !ara mani!ularlos como a un to
>n JPanel !ermite efinir un La#out e la misma forma $ue una '6sto facilita el trabajo a la /ora e eciir cmo $ueremos $ue nucom!onentes se 'ean en !antalla" #a $ue !oemos efinir m:lti!!aneles" # $ue caa uno efina su !ro!io La#out.
6Panel panel = new6Panel();panel.setFayo!t(new9lo7Fayo!t());
+i&logos1 J+ialog
7
-
8/10/2019 Java Inicial para principiantes
129/178
www.belatrixsf.com |
>n +ialog es una sub'entana ine!eniente e la 'enana !rinci!
estinaa a mostrar un mensaje al usuario. La ma#or
-
8/10/2019 Java Inicial para principiantes
130/178
-
8/10/2019 Java Inicial para principiantes
131/178
+i&logos1 J+ialog M 6jem!los
7
-
8/10/2019 Java Inicial para principiantes
132/178
www.belatrixsf.com |
onfirm Dialog1 muestra una 'entana con botones1 (
-
8/10/2019 Java Inicial para principiantes
133/178
www.belatrixsf.com |
6ption Dialog1 muestra una 'entana con un mensaje # botones
!or nosotros. 7reacin1 J*!tionPane.s/ow*!tion+ialog -'er Ja'a
String&' opciones = {"S+" "Bo" "3ancelar"}; 6AptionPane.s,o-Optionia'o"(panel "\!iere g!ardar s!s cambios antes de "G!ardar y salir" 6AptionPane..ES+NO+CANCEL+O*TION
6AptionPane./UESTION+MESSA!E null opciones null);
Acti'ia
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
134/178
www.belatrixsf.com |
1(7rear una clase main. 7rear un JUrame. Agregar un cam!o eun botn.
-
8/10/2019 Java Inicial para principiantes
135/178
www.belatrixsf.com |
(e utili%an los siguientes com!onentes1
JDes>top9ane1 Panel $ue !uee contener otras 'entanas en interior.
JInternal3rame1Ventana $ue !uee ser contenia entro e u
J+es3to!Pane.6l conteneor J+es3to!Pane ebe estar incluio entro e una 'enJUrame.
)+1 Ventanas internas7
-
8/10/2019 Java Inicial para principiantes
136/178
www.belatrixsf.com |
publicclassPrincipal extends69rame { publicstaticvoidmain(String&' args) { 6HesYtopPane desYtop = new6HesYtopPane(); desYtop.setSie(2 /); desYtop.setisible(true);
6Cnternal9rame primeraCnternal9rame =new6Cnternal9rame("entana 1");
primeraCnternal9rame.setSie( 1); primeraCnternal9rame.setisible(true);
6Cnternal9rame seg!ndaCnternal9rame =
new6Cnternal9rame("entana /"); seg!ndaCnternal9rame.setSie( 1);
seg!ndaCnternal9rame.setSi
seg!ndaCnternal9rame.setis seg!ndaCnternal9rame.setFo
Principal ventana = newPri ventana.add(desYtop); ventana.setSie(2 /); desYtop.add(primeraCnternal desYtop.add(seg!ndaCnternal
ventana.setisible(true);
}}
)+1 *renano el cigo7
-
8/10/2019 Java Inicial para principiantes
137/178
www.belatrixsf.com |
6l cigo anterior muestra una alarmante u!licacin e cigo.JnternalUrame creaos son !r&cticamente inticos. =ener uncom!onente !ro!io $ue efina las !ro!ieaes !or efecto $ue 'a utili%ar !ara toa nuestra a!licacin ser
-
8/10/2019 Java Inicial para principiantes
138/178
www.belatrixsf.com |
import%avax.s7ing.6Cnternal9rame;
publicclass$iCnternal9rame extends6Cnternal9rame {public$iCnternal9rame(String tit!lo intx inty
intanc*o intalto) {super(tit!lo);this.setFocation(x y);this.setSie(anc*o alto);this.setisible(true);
}}
import%avax.s7ing.6HesYtopPa
publicclass$iHesYtopPane expublic$iHesYtopPane(in
this.setSie(anc*this.setisible(t
}}
)+1 *renano el cigo7
publicclassPrincipal extends69rame {public Principal(int alto int anc*o) {
-
8/10/2019 Java Inicial para principiantes
139/178
www.belatrixsf.com |
publicPrincipal(intalto intanc*o) {this.setSie(alto anc*o);this.setisible(true);
}
publicstaticvoidmain(String&' args) { $iHesYtopPane desYtop = new$iHesYtopPane(2 /);
$iCnternal9rame primeraCnternal9rame = new$iCnternal9rame("entana 1" $iCnternal9rame seg!ndaCnternal9rame = new$iCnternal9rame("entana /" I
Principal ventana = newPrincipal(2 /); ventana.add(desYtop);
desYtop.add(primeraCnternal9rame); desYtop.add(seg!ndaCnternal9rame);
ventana.setisible(true); }}
)+1 )ensajes internos7
La contra!arte e las 'entanas e i&logo e (+ son las 'entan
-
8/10/2019 Java Inicial para principiantes
140/178
www.belatrixsf.com |
La contra!arte e las 'entanas e i&logo e (+ son las 'entan
i&logo internas. Las mismas !ueen ser creao meiante mtosimilares e la clase J*!tionPane" solo $ue generalmente los mtienen la !alabra GnternalH !ara istinguirlos e las 'entanas. 6je
6AptionPane.s,o-Interna'Messa"eia'o"(desYtop "$ensa%e interno");
Acti'ia
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
141/178
www.belatrixsf.com |
1(7rear una clase main. 7rear un JUrame. 7rear un J+es3to!Pa7rear un JnternalUrame entro el es3to! !ane.
-
8/10/2019 Java Inicial para principiantes
142/178
www.belatrixsf.com |
6l manejo e e'entos en (wing se im!lementa a tra's e Listen$ue se encuentran monitoreano un com!onente a la es!era e $!rou%ca un e'ento eterminao" !ara tomar una accin en cons
Los com!onentes !ueen contener una lista e objetos Gsuscri!toeterminao e'ento" # en el momento en $ue se !rou%ca ic/o
notificar& a toos los suscri!tos $ue /a llegao el momento e ac
6sto corres!one con el !atrn e ise`o G*bser'aorH.
-
8/10/2019 Java Inicial para principiantes
143/178
-
8/10/2019 Java Inicial para principiantes
144/178
)anejaores e e'entos
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
145/178
www.belatrixsf.com |
Para im!lementar un manejaor e e'entos" se !ro'een interfacesti!o e e'entos !osibles. 6n el ejem!lo anterior" ActionListener es !ro'ista !ara manejar e'entos e GaccinH -en el caso e los botonclic3. +ic/a interfa% obliga a im!lementar el mtoo GactionPerfores el !roceso $ue se ejecutar& cuano se lle'e a cabo la corres!oaccin. La clase $ue im!lementa ActionListener es el Gobser'aorH
Las im!lementaciones e manejaores e e'entos !ueen recibir el e'ento en el !ar&metro GAction6'entH -!or ejem!lo" cu&no se
Ventaja e Ietbeans +6 !ara (
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
146/178
www.belatrixsf.com |
Ietbeans !ro!orciona /erramientas !ara la construccin e interf(wing meiante un mu# com!leto eitor gr&fico. 6l mismo es acc6n la !esta`a G+esignH e una clase $ue re!resente un com!oneAlgunos a!artaos mu# :tiles $ue ofrece !ara los com!onentes s
Pro!erties1 efine 'alores !ara las !ro!ieaes el com!one
6'ents1 !ermite efinir e'entos e istintos ti!os !ara el comactual
Acti'ia
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
147/178
www.belatrixsf.com |
1(7rear una interfa% gr&fica -(+ o )+" a gusto. Agregar un in!botn # una tabla con una sola columna.
-
8/10/2019 Java Inicial para principiantes
148/178
www.belatrixsf.com |
J>nit es un framewor3 e !ruebas unitarias !ara Ja'a. Permite ecasos e !rueba $ue ejecutar&n el cigo existente con ciertos!ar&metros !reestablecios # e'aluar&n $ue el resultao sea el6s!erao.
La iea es constru
-
8/10/2019 Java Inicial para principiantes
149/178
www.belatrixsf.com |
J>nit sir'e un oble !ro!sito1
Permite asegurar $ue el cigo entregao res!one e aculos re$uerimientos.
Protege el cigo e futuros cambios. (i un esarrollaor ca
un fragmento e cigo introucieno efectos en el cigotenemos tests e unia !ara ese fragmento" ebernit framewor3+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
150/178
www.belatrixsf.com |
Por lo general se inclu#e entre los !asos e com!ilacin un !asoejecuta los tests e unia e la a!licacin. )a'en !ermite esto
Las :ltimas 'ersiones e J>nit !ermiten configurar los tests utili%anotaciones" lo cual facilita muc/o el trabajo.
=anto Ietbeans como 6cli!se inclu#en entre los ti!os e arc/i'o!ueen ser creaos la o!cin e crear J>nits. 6sto genera una cb&sica con un mtoo e test.
J>nit framewor3 M 6jem!lo+6 E @eneraliae
importstaticorg.%!nit.?ssert.#;import org.%!nit.?Rter;
-
8/10/2019 Java Inicial para principiantes
151/178
www.belatrixsf.com |
importorg.%!nit.?Rter;importorg.%!nit.4eRore;
importorg.%!nit.Test;
publicclass$iTestHeWnidad {@4eRorepublicvoidsetWp() throws-xception {}
@?RterpublicvoidtearHo7n() throws-xception {}
@Testpublicvoidtest() {
(ai'("Bot yet implemented");}
}
J>nit framewor3 M Anotacione+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
152/178
www.belatrixsf.com |
Gefore1 anota un mtoo $ue ebe ejecutarse antes e comla ejecucin e caa mtoo e la clase actual
4fter1 anota un mtoo $ue ebe ejecutarse al finali%ar la eje e caa mtoo e la clase actual
Test1 anota un mtoo $ue re!resenta un test unitario. 6l tessi lan%a una exce!cin -!or ejem!lo" si falla un assert.
J>nit framewor3 M Anotacione+6 E @eneraliae
Ignore1 anota un mtoo2clase $ue ebe ignorarse al ejecut
-
8/10/2019 Java Inicial para principiantes
153/178
www.belatrixsf.com |
Ignore1anota un mtoo2clase $ue ebe ignorarse al ejecut
tests e unia.
Geforelass1 anota un mtoo $ue ebe ser ejecutao una antes e ejecutar los mtoos e la clase.
4fterlass1 anota un mtoo $ue ebe ser ejecutao una :
al terminar e ejecutar los mtoos e la clase.
J>nit framewor3 M Anotacione+6 E @eneraliae
Testtimeout = LLM1el !ar&metro timeout e un test e uni
-
8/10/2019 Java Inicial para principiantes
154/178
www.belatrixsf.com |
!ermite efinir un tiem!o m&ximo e ejecucin !ara el test. (i seste tiem!o" el test fallar&. 6l 'alor es numrico" # re!resenta tmilisegunos.
TesteApected = ull9ointerEAceptionNclassM1 el !ar&metrinica $ue la ejecucin el test e unia es!era $ue se lance
exce!cin es!ecificaa. 6l !ar&metro es una clase. 6n caso lance la exce!cin" el test finali%a exitosamente. (ino" falla. (ir!robar casos $ue ebernit framewor3 M Asserts+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
155/178
www.belatrixsf.com |
Los tests e unia son utili%aos !ara !robar $ue ciertas coniccum!len. Para reali%ar estas com!robaciones con !oco esfuer%oinclu#e una clase llamaa GAssertsH $ue !ro!orciona mtoos $ue!ueen ser in'ocaos est&ticamente" # son mu# :tiles.
6l constructor e la clase Asserts es !rotegio ebio a $ue est&
!ara ser utili%aa a tra's e sus mtoos est&ticos.
J>nit framewor3 M Asserts+6 E @eneraliae
assertEqualseApectedO actualM1 com!ara ambos 'alores" e
-
8/10/2019 Java Inicial para principiantes
156/178
www.belatrixsf.com |
es!erao # el resultao. (i son iguales no /ace naa" si soniferentes lan%a una 6xce!cin -el test falla.
assertTrue * assert3alse1 reciben como !ar&metro una ex!r;ooleana. 6l !rimero com!ara con el 'alor true" el seguno c(i falla la com!aracin" lan%a una exce!cin.
assertull * assertotull1 reciben como !ar&metro un objere'isa $ue sea 2 no sea nulo.
+6 E @eneraliae
-
8/10/2019 Java Inicial para principiantes
157/178
www.belatrixsf.com |
Acti'ia+6 E @eneraliae
1 7 l t ib bj t
-
8/10/2019 Java Inicial para principiantes
158/178
www.belatrixsf.com |
1(7rear una clase con un mtoo $ue recibe objetos como !arguare entro e un collection # retorne el collection.
sar asserts !ara !robcollection tenga la cantia e elementos correctos" # $ue contenobjetos $ue !asamos como !ar&metro.
(7orrer el test e unia # 'erificar $ue tenga xito
-
8/10/2019 Java Inicial para principiantes
159/178
-
8/10/2019 Java Inicial para principiantes
160/178
6xce!ciones+6 E @eneraliae
Las clases 6xce!tion son clases Ja'a como cual$uier otra" con la
-
8/10/2019 Java Inicial para principiantes
161/178
www.belatrixsf.com |
! $ "
!articularia e $ue /erean e la clase =/rowable" la cual extie*bject.
=/rowable tiene B subclases1
EAception1 re!resentan situaciones exce!cionales.
Error1 re!resentan errores irrecu!erables -ej1 *6rror.
6xce!ciones+6 E @eneraliae
La !rimera e las clasificaciones" las exce!ciones" !ueen i'iir
-
8/10/2019 Java Inicial para principiantes
162/178
www.belatrixsf.com |
! " ! " !
os e acuero a si el com!ilaor nos obliga o no a manejarlas1
ec>ed1 el com!ilaor obliga al !rogramaor a manejar el Io lo /ace" el cigo no com!ilar&.
Pncec>ed1 no exigen $ue el !rogramaor maneje el error.
subclases e la clase 5untime6xce!tion -$ue extiene e 6xo la clase 6rror.
6xce!ciones+6 E @eneraliae
*bject
-
8/10/2019 Java Inicial para principiantes
163/178
www.belatrixsf.com |
6xce!tion
=/rowable
6rror
5untime6xce!tion
6xce!ciones M (intaxis+6 E @eneraliae
0a# !alabras blo$ues asociaos a exce!ciones1
-
8/10/2019 Java Inicial para principiantes
164/178
www.belatrixsf.com |
# ! $ !
trH1 inica $ue las instrucciones el blo$ue son G!eligrosasH" $ulan%ar una exce!cin.
catc1 es!ecifica $u exce!cin se es!era" # cmo se lle'ar& manejo e la misma.
finallH1 inica un conjunto e instrucciones $ue se ejecutar&n slo $ue sucea" se lance o no una exce!cin.
+6 E @eneraliae
public class -%emplo-xcepciones {
6xce!ciones E >nc/ec3e
-
8/10/2019 Java Inicial para principiantes
165/178
www.belatrixsf.com |
-xception in t*read "main" %ava.lang.?rit*metic-xceptionO > by eroat -%emplo-xcepciones.dividir-nteros(-%emplo-xcepciones.%avaO1/)at -%emplo-xcepciones.main(-%emplo-xcepciones.%avaOI)
publicclass-%emplo-xcepciones {
publicstaticvoidmain(String&' args) {#i&i#irEnteros(1 );
}
publicstaticdoubledividir-nteros(intdividendo intdivisor) {returndividendo > divisor;
}}
6xce!ciones E >nc/ec3e+6 E @eneraliae
7omo 'imos en la filmina anterior" es !osible /acer $ue la exce!ciun mensaje !or s< misma. (in embargo" esto !uee ser :til !ara el
-
8/10/2019 Java Inicial para principiantes
166/178
www.belatrixsf.com |
esarrollaor" !ero la im!resin el stac3trace !or consola !uee nagraable !ara el usuario final. 6l cigo no lan% un error e com!ebio a $ue la exce!cin $ue lan%a -Arit/metic6xce!tion es una e 5untime6xce!tion -unc/ec3e.
Poemos /acer $ue el cigo nos a'ise $ue el mtoo reali%a algo
usano en la efinicin el mtoo la sentencia Gt/rows 6xce!tionHsentencia en'
-
8/10/2019 Java Inicial para principiantes
167/178
www.belatrixsf.com |
publicclass-%emplo-xcepciones {
publicstaticvoidmain(String&' args) {intres!ltado = #i&i#irEnteros( );System.out.print("Des!ltadoO "< res!ltado);
}
publicstaticintdividir-nteros(intdividendo intdivisor) throws-xception returndividendo > divisor;
}}
lan%arse una 6xce!tion -c/ec3e" # no se /ace naa !or manejel in'ocaor1
6xce!ciones E Atra!ano+6 E @eneraliae
Poemos ejecutar el cigo riesgoso entro e un blo$ue tr# # !ro!
-
8/10/2019 Java Inicial para principiantes
168/178
www.belatrixsf.com |
un manejo e exce!cin m&s amistoso.
La 'entaja e reali%ar esto es $ue tenemos control sobre cmo $uela a!licacin reaccione ante esta situacin !oco com:n -aun$ue !o
6n algunas coniciones !or
-
8/10/2019 Java Inicial para principiantes
169/178
www.belatrixsf.com |
publicstaticintdividir-nteros(intdividendo intdivisor) {
intres!ltado = ;try{
res!ltado = dividendo > divisor;} catch(?rit*metic-xception e) {
System.out.print("Bo p!ede realiarse !na divisi[n de enteros para los pSystem.out.print(dividendo);System.out.print(" > ");System.out.print(divisor);
} finally{System.out.println("3Qlc!lo terminado.");
}
returnres!ltado;}
}
6xce!ciones E Atra!ano m&s e
+6 E @eneraliae
Poemos manejar m&s e una exce!cin en el mismo blo$ue tr#2c
-
8/10/2019 Java Inicial para principiantes
170/178
www.belatrixsf.com |
manejamos la exce!cin G6xce!tionH" este blo$ue catc/ ebe ser cfinal -#a $ue toas las exce!ciones extienen e 6xce!tion" # !or losiem!re entrar&n !or ese blo$ue.
6n l
-
8/10/2019 Java Inicial para principiantes
171/178
www.belatrixsf.com |
System.out.print("Des!ltadoO "< res!ltado);}
publicstaticintdividir-nteros(intdividendo intdivisor) {intres!ltado = ;try{
res!ltado = dividendo > divisor;} catch(?rit*metic-xception e) {
System.out.print("Bo p!ede realiarse !na divisi[n de enteros sobre} catch(-xception ex) {
System.out.print("a oc!rrido !n error inesperado. 3ontacte con !n ad
}
returnres!ltado;}
}
Acti'ia
+6 E @eneraliae
1(7rear un mtoo $ue reciba os strings como !ar&metro. +ic/
-
8/10/2019 Java Inicial para principiantes
172/178
www.belatrixsf.com |
$ g !
ebe reali%ar una con'ersin e los (trings a +ouble" # reali%ar uentre ellos
-
8/10/2019 Java Inicial para principiantes
173/178
www.belatrixsf.com |
cum!lieno con los re$uisitos $ue /emos ex!licao anteriormen
+eben /erear irecta o inirectamente e =/rowable.
Pueen ser c/ec3e o unc/ec3e -re'isar e $u claseextenemos.
Pueen tener atributos # mtoos" e incluso mostrar un menefinio !or nosotros -!ar&metro o efinio en la clase
Iuestras !ro!ias exce!cione
+6 E @eneraliae
publicstaticintdividir-nteros(intdividendo intdivisor) {intres!ltado = ;try{
-
8/10/2019 Java Inicial para principiantes
174/178
www.belatrixsf.com |
publicclassHivisionPor3ero-xception extendsD!ntime-xception {
publicHivisionPor3ero-xception(intdividendo) {super("Bo se p!ede dividir "< dividendo < " entre .");
}}
res!ltado = dividendo > divisor;} catch(?rit*metic-xception e) {
thrownewHivisionPor3ero-xception(dividendo);}
returnres!ltado;}
Acti'ia
+6 E @eneraliae
1(7rear os exce!ciones !ro!ias" c/ec3e1 i'isin !or cero # ercon'ertir (tring a n:mero.
-
8/10/2019 Java Inicial para principiantes
175/178
www.belatrixsf.com |
g
-
8/10/2019 Java Inicial para principiantes
176/178
www.belatrixsf.com |
Consulta
Pro#ecto
7lases e
(e esarrollar& el sistema !ro!uesto" o uno $ue los alumnos elijan.
-
8/10/2019 Java Inicial para principiantes
177/178
www.belatrixsf.com |
6l trabajo eber& !ro#ectar los conocimientos a!renios en el curs
(e consierar& con mejor calificacin a los gru!os $ue com!leten e
(e consierar& con mejor calificacin a los gru!os $ue realicen los !
-
8/10/2019 Java Inicial para principiantes
178/178