Post on 20-Feb-2018
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 1/72
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
1
Capítulo 2 - Introducción a las
aplicaciones JavaContorno
2.1 Introducción
2.2 Un primer programa en Java: Impresión de una línea de texto
2.3 Modiicación de !uestro "rimer "rograma Java
2.# $iendo texto en un cuadro de di%logo
2.& 'tra aplicación Java: sumar enteros
2.( Conceptos de memoria
2.) *ritm+tica
2., oma de decisiones: /uidad 0 relacionales 'peradores
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 2/72
2. emplo pr%ctico opcional4 *cerca de los o5etos: l examen de la 6eclaración
del pro5lema© 2003 Prentice Hall, Inc. Todos los derechos reservados.
2
2.1 Introducción
• En este capítulo
• Introducir ejemplos para ilustrar las características de Java
• os estilos pro!rama " aplicaciones # applets
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
3
2.2 Un primer programa en Java: Impresión de unalínea de texto
• $plicaci%n
• Pro!rama &ue se ejecuta utili'ando el int(rprete java
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 3/72
• Ejemplo de pro!rama
• )ostrar pro!rama, a continuaci%n, anali'ar cada línea© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
+
elcome1.java
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 4/72
"rogram 7alida
1 88 9ig. 2.1: elcome1.ava
2 88 programa ext-impresión.
3
# pu5lic class elcome1 ;
&
( 88 M+todo main comien<a la eecución de aplicaciones Java
) static void main 7tring args =>4 p?5licos
, ;
70stem.out.println @elcome to Java "rogrammingA@4B
1
11D 88 in del m+todo main
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 5/72
12
13D 88 in de la clase elcome1
Eienvenido a la "rogramación JavaA
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-
2.2 Un primer programa en Java: Impresión de una
línea de texto• os comentarios comien'an con/
• *omentarios i!noran durante la ejecuci%n del pro!rama
• ocumentar # descriir c%di!o
• Proporciona la le!iilidad del c%di!o
• *omentarios tradicionales/ ...
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 6/72
Este es un tradicional
comentar. Puede ser divididos sore muchas líneas
• tra línea de los comentarios
• 4ota/ los n5meros de línea no 6orma parte del pro!rama, a7adido para
re6erencia
1 88 9ig. 2.1: elcome1.ava
2 88 programa ext-impresión.
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
8
•
ínea en lanco• Hace pro!rama m9s le!ile
• :lan; líneas, espacios, # las pesta7as son caracteres de espacio en
lanco
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 7/72
• I!norado por el compilador
• *omien'a declaraci%n de clase para la clase elcome1• *ada pro!rama Java tiene al menos una clase de6inida por el
usuario
• Palara clave/ las palaras reservadas para el uso de Java
• palara clave class se!uida por nomre de la clase
• *lases de nomres/ capitali'ar cada palara
• <ample*lass4ame
2.2 Un programa simple: Impresión de una línea de
texto
3
# pu5lic class elcome1 ;
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
=
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 8/72
2.2 Un programa simple: Impresión de una línea de
texto• 4omre de la clase llamada identi6icador
• <erie de caracteres 6ormados por letras, dí!itos,
!uiones ajos >?@ # si!nos de d%lar >A@
• 4o comien'a con un dí!ito, no tiene espacios
• Ejemplos/ elcome1, F valor, ?value, utton=
• )5utton no es v9lido
• Java es sensile >asuntos de capitali'aci%n@ de caso
• $1 # $1 son di6erentes
• Por capítulos 2 a =, utilice la palara clave p5lica
• *iertos detalles no son importantes ahora
• Imitar ciertas características, las discusiones m9s tarde
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 9/72
# pu5lic class elcome1 ;
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
B
2.2 Un programa simple: Impresión de una línea de
texto
• Cuardar archivos
• 4omre del archivo dee ser el nomre de clase con la eDtensi%n
.java
• elcome1.java
• lave i'&uierda
• Empie'a cuerpo de cada clase
• lave derecha termina declaraciones >línea 13@
• Parte de cada aplicaci%n Java
• $plicaciones comien'an a ejecutarse en principal
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 10/72
• Par(ntesis indican principal es un m(todo >cap. 8@
• $plicaciones Java contienen uno o m9s m(todos# pu5lic class elcome1 ;
) static void main 7tring args =>4 p?5licos
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
F
2.2 Un programa simple: Impresión de una línea detexto
• EDactamente un m(todo dee ser llamado principal
o os m(todos pueden reali'ar tareas e in6ormaci%n de retorno
• vacío si!ni6ica principal vuelve sin in6ormaci%n• Por ahora, la primera línea mímica principal Gs
• lave i'&uierda comien'a cuerpo de declaraci%n de m(todo
• Terminada por llave derecha >línea 11@
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 11/72
) static void main 7tring args =>4 p?5licos
, ;
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
10
2.2 Un programa simple: Impresión de una línea de
texto
• Encar!a a la computadora para reali'ar una acci%n
• *adena de caracteres Prints
• a serie de caracteres entre comillas doles " *adena
• Espacios en lanco en las cadenas no son i!norados por el
compilador • <#stem.out
• jeto de salida est9ndar
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 12/72
• Imprimir para ventana de comandos >es decir, indicador de )<"
<@• )(todo <#stem.out.println
• )uestra línea de teDto
• $r!umento entre par(ntesis
• Esta línea se conoce como una declaraci%n
• as declaraciones deen terminar con punto # coma
70stem.out.println @elcome to Java "rogrammingA@4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
11
2.2 Un programa simple: Impresión de una línea detexto
• Termina declaraci%n de m(todo
• Termina declaraci%n de la clase
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 13/72
• Puede a7adir comentarios a un se!uimiento de los apo#os &ue
terminan• íneas B # F pueden reescriirse como/
• ecuerde, compilador i!nora los comentarios
• os comentarios pueden comen'ar en la misma línea despu(s de
c%di!o
11D 88 in del m+todo main
13D 88 in de la clase elcome1
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
12
2.2 Un programa simple: Impresión de una línea detexto
• *ompilaci%n de un pro!rama
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 14/72
• $ra una ventana del símolo del sistema, va#a al directorio
donde se almacena el pro!rama• Tipo javac elcome1.java
• <i no ha# errores, elcome1.class creado
• Tiene c%di!os de #tes &ue representan la aplicaci%n
• :#tecodes pasan al int(rprete de Java
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
13
2.2 Un programa simple: Impresión de una línea de
texto
• a ejecuci%n de un pro!rama• Tipo Java elcome1
• $rchivo car!as int(rprete .class para la clase elcome1
• eDtensi%n .class omitido de comando
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 15/72
• Int(rprete llama al m(todo principal
Ki!. 2.2 Ejecuci%n elcome1 en un símolo del sistema de )icroso6t indoLs 2000.© 2003 Prentice Hall, Inc. Todos los derechos reservados.
1+
2.3 Modiicación de !uestro "rimer "rograma Java
• )odi6icar ejemplo en la Ki!. 2.1 para imprimir
mismos contenidos utili'ando di6erentes c%di!os© 2003 Prentice Hall, Inc. Todos los derechos reservados.
1-
2.3 Modiicación de !uestro "rimer "rograma Java
• )odi6icaci%n de los pro!ramas• elcome2.java >Ki!. 2.3@ produce misma salida &ue
elcome1.java >Ki!. 2.1@
• El uso de c%di!o di6erente
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 16/72
• ínea F muestra el mensaje M:ienvenido aM con el cursor &ueda
en línea impresa• ínea 10 muestra Mde pro!ramaci%n JavaNM En la misma línea con
el cursor en la si!uiente línea
70stem.out.print @Eienvenido a@4B
1 70stem.out.println @"rogramación JavaA@4B
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
18
elcome2.java
1. Comentarios
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 17/72
2. Gínea en 5lanco
3. "ara comen<ar la clase elcome2
Principal 3.1 M+todo
#. M+todo <#stem.out.print
#.1 M+todo <#stem.out.println
&. principal inalH elcome2
"rogram 7alida
Eienvenido a la "rogramación JavaA
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 18/72
1 88 9ig. 2.3: elcome2.ava
2 88 Impresión de una línea de texto con varias instrucciones.
3
# pu5lic class elcome2 ;
&
( 88 M+todo main comien<a la eecución de aplicaciones Java
) static void main 7tring args =>4 p?5licos
, ;
70stem.out.print @Eienvenido a@4B
1 70stem.out.println @"rogramación JavaA@4B
11
12D 88 in del m+todo main
13
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 19/72
1#D 88 in de la clase elcome2
<#stem.out.print mantiene el cursor en la misma línea, de modo <#stem.out.println contin5a en lamisma línea.
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
1=
2.3 Modiicación de !uestro "rimer "rograma Java
• *aracteres de nueva línea >O n@• Interpretado como Mcaracteres especialesM por m(todos
<#stem.out.print # <#stem.out.println
• Indica cursor dee estar en la si!uiente línea
• elcome3.java >Ki!. 2.+@• <altos de línea en O n
• so
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 20/72
• Puede utili'ar en <#stem.out.println o <#stem.out.print para crear
nuevas líneas• <#stem.out.println > M:ienvenidos O na O nJava O nPro!rammin!NM @
70stem.out.println @Eienvenido na nJava n"rogrammingA@4B
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
1B
elcome3.java
1. principal
2. <#stem.out.println usa O n para nueva línea4
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 21/72
"rogram 7alida
1 88 9ig. 2.#: elcome3.ava
2 88 Impresión de varias líneas de texto con una sola sentencia.
3
# pu5lic class elcome3 ;
&
( 88 M+todo main comien<a la eecución de aplicaciones Java
) static void main 7tring args =>4 p?5licos
, ;
70stem.out.println @Eienvenido na nJava n"rogrammingA@4B
1
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 22/72
11D 88 in del m+todo main
12
13D 88 in de la clase elcome3
Eienvenida
a
Java
"rogramaciónA
4ote como una nueva línea es la salida para cada secuencia O n escapar.
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
1F
2.3 Modiicación de !uestro "rimer "rograma JavaEscapar caracteres
• :arra invertida >O@
• Indica caracteres especiales se impriman
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 23/72
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
20
2.# $iendo texto en un cuadro de di%logo
• Qisuali'aci%n
• a ma#oría de las aplicaciones Java utili'an ventanas o un
cuadro de di9lo!o
• Hemos utili'ado ventana de comandos
• *lase JptionPane nos permite utili'ar los cuadros de di9lo!o
• Pa&uetes
• *onjunto de clases prede6inidas para &ue utilicemos
• Crupos de clases relacionadas llamados paquetes
• Crupo de todos los pa&uetes conocidos como ilioteca de clases
de Java o Java inter6a' de pro!ramaci%n de aplicaciones >$PI de Java@
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 24/72
• JptionPane es en el pa&uete javaD.sLin!
• El pa&uete tiene clases para el uso de inter6aces !r96icas de usuario>CI@
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
21
2.# $iendo texto en un cuadro de di%logo
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
22
2.# $iendo texto en un cuadro de di%logo
• Pro!rama Pr%Dima
• $plicaci%n &ue utili'a los cuadros de di9lo!o• EDplicaci%n vendr9 despu(s
• emostrar otra manera de mostrar la salida
• Pa&uetes, m(todos # CI
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 25/72
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
23
elcome+.java
1. declaración de importaci%n
2. Clase elcome+
2.1 principal
2.2 shoL)essa!eialo!
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 26/72
2.3 <#stem.eDit
"rogram 7alida
1 88 9ig. 2.(: elcome#.ava
2 88 Impresión de varias líneas en un cuadro de di%logo
Javax.sing.J'ption"ane 3 de importaciónB 88 Clase importación J'ption"ane
#
& pu5lic class elcome# ;
( principales 7tring args>4 void est%ticos p?5licos
) ;
, J'ption"ane.sKoMessage6ialog
nullH @Eienvenido na nJava n"rogrammingA@ 4B
1
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 27/72
11 70stem.exit 4B 88 erminar el programa
12D
1 88 9ig. 2.(: elcome#.ava
2 88 Impresión de varias líneas en un cuadro de di%logo.
3
# 88 pa/uetes Java
Javax.sing.J'ption"ane & importaciónB 88 programa utili<a J'ption"ane
(
) pu5lic class elcome# ;
,
88 M+todo main comien<a la eecución de aplicaciones Java
1 static void main 7tring args =>4 p?5licos
11 ;
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 28/72
12 J'ption"ane.sKoMessage6ialog
13 nullH @Eienvenidos na nJava n"rogrammingA@4B
1#
1& 70stem.exit 4B 88 terminar la aplicación con ventana
1(
1)D 88 in del m+todo main
1,
1D 88 in de la clase elcome#
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
2+
2.# $iendo texto en un cuadro de di%logo• íneas 1"2/ comentarios como antes
• os !rupos de pa&uetes en Java $PI
• Pa&uetes 9sicos
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 29/72
• *omience con java
• Incluido con el ;it de desarrollo de so6tLare Java 2
• Pa&uetes de EDtensi%n
• *omience con javaD
• 4uevo pa&uetes Java
• declaraciones de importaci%n
•
tili'ado por el compilador para identi6icar # locali'ar las clasesutili'adas en los pro!ramas de Java
• e dice al compilador clase JptionPane car!a de pa&uete
javaD.sLin!
# 88 pa/uetes Java
Javax.sing.J'ption"ane & importaciónB 88 programa utili<a 'ption"ane
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
2-
2.# $iendo texto en un cuadro de di%logo
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 30/72
• íneas 8"11/ ínea en lanco, comien'an clase elcome+ #
principal• )(todo *all shoL)essa!eialo! de clase JptionPane
• e&uiere dos ar!umentos
• )5ltiples ar!umentos separados por comas >,@
• Por ahora, el primer ar!umento siempre es 4
• El se!undo ar!umento es una cadena para mostrar
• shoL)essa!eialo! es un m(todo est9tico de la clase JptionPane
• m(todos est9ticos llamadas usando el nomre de la clase, de
punto >.@ entonces el nomre del m(todo
12 J'ption"ane.sKoMessage6ialog
13 nullH @Eienvenidos na nJava n"rogrammingA@4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
28
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 31/72
2.# $iendo texto en un cuadro de di%logo•
Todas las declaraciones terminan con• na sola sentencia puede aarcar varias líneas
• 4o se puede dividir declaraci%n en medio del identi6icador o
cadena
• Ejecutando las líneas 12 # 13 se muestra el cuadro de di9lo!o
• Inclu#e autom9ticamente un ot%n *ceptar
• culta o cuadro de di9lo!o despide
• :arra de título tiene cuerda Mensae
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
2=
2.# $iendo texto en un cuadro de di%logo
• lama al m(todo de salida est9tica del <istema de la clase
• Termina aplicaci%n
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 32/72
• El uso con cual&uier aplicaci%n &ue muestra una inter6a'
!r96ica de usuario• eido a &ue el m(todo es est9tico, necesita nomre de la clase # el
punto >.@
• Identi6icadores &ue comien'an con letras ma#5sculas !eneralmente
nomres !en(ricos
• $r!umento de 0 si!ni6ica aplicaci%n termin% con (Dito
• Por lo !eneral no cero si!ni6ica un error ocurrido
• Parte del <istema de la clase de pa&uete java.lan!
• <in declaraci%n de importaci%n sea necesario
• java.lan! importado autom9ticamente en cada pro!rama Java• íneas 1="1F/ Par(ntesis para terminar elcome+ # principal
1& 70stem.exit 4B 88 terminar la aplicación con ventana
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 33/72
2B
2.& 'tra aplicación Java: sumar enteros• Pro!rama Pr%Dima
• tilice los cuadros de di9lo!o de entrada para introducir dos
valores de usuario
• tilice di9lo!o de mensaje para mostrar la suma de los dos
valores
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
2F
$ddition.java
1. importaci%n
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 34/72
2. $dici%n
de clase
2.1 6eclarar varia5les nom5re 0 tipo4
3. shoLInputialo!
#. parseInt
&. *gregue los n?merosH resultado poner en suma
1 88 9ig. 2.: *ddition.ava
2 programa 88 7uma /ue muestra la suma de dos n?meros.
3
# 88 pa/uetes Java
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 35/72
Javax.sing.J'ption"ane & importaciónB 88 programa utili<a J'ption"ane
(
) pu5lic class *dición ;
,
88 m+todo main comien<a la eecución de aplicaciones Java
1 static void main 7tring args =>4 p?5licos
11 ;
12 Cuerdas 9irst!um5erB 88 primera cadena introducida por el usuario
13 second!um5er CadenaB 88 segunda cadena introducida por el usuario
1#
1& int n?mero1B 88 primer n?mero /ue desea aLadir
1( int n?mero2B 88 segundo n?mero /ue desea aLadir
1) suma intB 88 suma de n?mero1 0 n?mero2
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 36/72
1,
1 88 leer en primer n?mero de usuario como una cadena
2 9irst!um5er J'ption"ane.sKoInput6ialog @nter primer entero@4B
21
22 88 leer en segundo n?mero del usuario como una cadena
23 second!um5er
2# J'ption"ane.sKoInput6ialog @nter segundo entero@4B
2&
2( 88 convertir n?meros de tipo 7tring al tipo int
2) n?mero1 Integer.parseInt 9irst!um5er4B
2, n?mero2 Integer.parseInt second!um5er4B
2
3 88 aLadir n?meros
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 37/72
31 suma n?mero1 N n?mero2B
32
eclarar variales/ nomre # tipo.
Entrada primer entero como una cadena, asi!ne a Kirst4umer.
$7adir, lu!ar resultado en suma.
*onvertir cadenas en enteros.
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
30
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 38/72
Ga salida del programa
33 88 resultado pantalla
3# J'ption"ane.sKoMessage6ialog nullH @Ga suma es@ suma NH
3& @Oesultados@H J'ption"ane."G*I!PM77*Q4B
3(
3) 70stem.exit 4B 88 terminar la aplicación con ventana
3,
3D 88 in del m+todo main
#
#1D 88 in de la clase *dición
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
31
2.& 'tra aplicación Java: sumar enteros
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 39/72
• ocali'aci%n de JptionPane para su uso en el pro!rama
•
Empie'a
clase p5lica $dici%n• ecordemos &ue el nomre del archivo dee ser $ddition.java
• íneas 10"11/ principales
• eclaraci%n
• Kirst4umer # second4umer son variales
Javax.sing.J'ption"ane & importaciónB 88 programa utili<a J'ption"ane
) pu5lic class *dición ;
12 Cuerdas 9irst!um5erB 88 primera cadena introducida por el usuario
13 second!um5er CadenaB 88 segunda cadena introducida por el usuario
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
32
2.& 'tra aplicación Java: sumar enteros
• Qariales
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 40/72
• icaci%n en la memoria &ue almacena un valor
•
eclarar con nomre # escria antes de su uso• Kirst4umer # second4umer son de tipo <trin! >pa&uete
java.lan!@
• )anten!a cuerdas
• 4omre de la variale/ cual&uier identi6icador v9lido
• eclaraciones terminan con punto # coma
• Puede declarar m5ltiples variales del mismo tipo a la ve'
• tilice lista separada por comas
o Puede a7adir comentarios a descriir prop%sito de variales
Cadena 9irst!um5erH second!um5erB
12 Cuerdas 9irst!um5erB 88 primera cadena introducida por el usuario
13 second!um5er CadenaB 88 segunda cadena introducida por el usuario
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 41/72
33
2.& 'tra aplicación Java: sumar enteros• eclara las variales n5mero1, n5mero2, # suma de tipo int
• int tiene valores enteros >n5meros enteros@/ es decir, 0, "+, F=
• Tipos 6loat # doule puede contener n5meros decimales
• Tipo char puede contener un solo car9cter/ es decir, D, A, O n, =
• os tipos primitivos " m9s en el capítulo +
1& int n?mero1B 88 primer n?mero /ue desea aLadir
1( int n?mero2B 88 segundo n?mero /ue desea aLadir
1) suma intB 88 suma de n?mero1 0 n?mero2
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
3+
2.& 'tra aplicación Java: sumar enteros
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 42/72
• ee una cadena desde el usuario, lo &ue representa el primer
n5mero &ue se a7ade
• )(todo JptionPane.shoLInputialo! muestra lo si!uiente/
• )ensaje llamado el símolo " diri!e al usuario reali'ar una acci%n
• $r!umento aparece como teDto de petici%n
• <i un tipo incorrecto de los datos introducidos >no entero@ o ha!a
clic en CancelarH se produce un error
2 9irst!um5er J'ption"ane.sKoInput6ialog @nter primer entero@4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
3-
2.& 'tra aplicación Java: sumar enteros• esultado de la llamada a shoLInputialo! dado a Kirst4umer
usando operador de asi!naci%n R
• <entencia de asi!naci%n
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 43/72
• R perador inario " toma dos operandos
•
EDpresi%n el derecho evaluado # asi!nado a la variale a lai'&uierda
• eer como/ Kirst4umer otiene un valor de
JptionPane.shoLInputialo! >MEnter primer enteroM@
2 9irst!um5er J'ption"ane.sKoInput6ialog @nter primer entero@4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
38
2.& 'tra aplicación Java: sumar enteros
• <imilar a la declaraci%n anterior
•
$si!na
second4umer
variale
para se!unda entrada entero• )(todo Inte!er.parseInt
• *onvierte ar!umento <trin! en un entero >tipo int@
• *lase de enteros en java.lan!
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 44/72
• Entero devuelto por Inte!er.parseInt se asi!na a n5mero1 variale
>línea 2=@
• ecuerde &ue n5mero1 6ue declarado como tipo int
• ínea 2B similares
23 second!um5er
2# J'ption"ane.sKoInput6ialog @nter segundo entero@4B
2) n?mero1 Integer.parseInt 9irst!um5er4B
2, n?mero2 Integer.parseInt second!um5er4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
3=
2.& 'tra aplicación Java: sumar enteros
• <entencia de asi!naci%n
• *alcula la suma de n5mero1 # n5mero2 >lado derecho@
• tili'a operador de asi!naci%n R asi!nar resultado a la variale sum
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 45/72
• eer como/ suma otiene el valor de n5mero1 S n5mero2
•
n5mero1
# n5mero2
son operandos31 suma n?mero1 N n?mero2B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
3B
2.& 'tra aplicación Java: sumar enteros
• tilice shoL)essa!eialo! para mostrar los resultados
• MThe suma es M S suma
• tili'a el operador S para Ma7adirM la cadena literal MEl suma es M#
la suma
•
a concatenaci%n de una serie # otro tipo• esultados en una nueva cadena
• <i suma contiene 11=, a continuaci%n, MEl suma es M S resultados de
suma en la nueva cadena MEl suma es 11= M
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 46/72
• Ten!a en cuenta el espacio en Ma suma es M
•
)9s sore cuerdas en *apítulo 113# J'ption"ane.sKoMessage6ialog nullH @Ga suma es@ suma NH
3& @Oesultados@H J'ption"ane."G*I!PM77*Q4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
3F
2.& 'tra aplicación Java: sumar enteros• Qersi%n di6erente de shoL)essa!eialo!
• e&uiere cuatro ar!umentos >en lu!ar de dos como antes@
• Primer ar!umento/ null por ahora
•
<e!undo/ *adena &ue se muestra• Tercero/ cadena en la arra de título
• *uarto/ tipo de di9lo!o de mensaje con el icono
• ínea 3- sin icono/ JptionPane.P$I4?)E<<$CE
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 47/72
3# J'ption"ane.sKoMessage6ialog nullH @Ga suma es@ suma NH
3& @Oesultados@H J'ption"ane."G*I!PM77*Q4B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
+0
2.& 'tra aplicación Java: sumar enteros
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
+1
2.( Conceptos de memoria
• Qariales
• *ada variale tiene un nomre, un tipo, un tama7o # un valor
•
4omre corresponde a la uicaci%n en la memoria• *uando el nuevo valor se coloca en una variale, sustitu#e >#
destru#e@ valor anterior
• ectura de las variales de la memoria no los camia
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 48/72
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
+2
2.( Conceptos de memoria
• epresentaci%n Qisual
• <uma R 0 n5mero1 R 1 n5mero2 R 2
• <uma R n5mero1 S n5mero2 despu(s de la ejecuci%n de la
declaraci%n
suma
0
suma
3
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
+3
2.) *ritm+tica
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 49/72
• os c9lculos aritm(ticos se utili'an en la ma#oría de
los pro!ramas• so
• Para la multiplicaci%n
• Para la divisi%n
• S, "
• 4in!5n operador de eDponenciaci%n >m9s en el capítulo -@
• a divisi%n entera trunca resto
=.- eval5a a 1
• El resto operador devuelve el resto
= - eval5a a 2
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
++
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 50/72
2.) *ritm+tica
•
a precedencia de operadores• $l!unos operadores aritm(ticos act5an ante los dem9s >es decir,
la multiplicaci%n antes de la adici%n@
• tilice par(ntesis cuando sea necesario
• Ejemplo/ Encontrar la media de tres variales a, # c
• 4o utilice/ a S S c 3
• so/ >a S S c@ 3
• <i!ue "M6*7
• os par(ntesis, eDponentes, multiplicaci%n, divisi%n, suma, resta
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
+-
2.) *ritm+tica
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 51/72
+8
2., oma de decisiones: /uidad 0 relacionales
'peradores
• si sentencia de control
• Qersi%n sencilla en esta secci%n, con m9s detalle m9s adelante
• <i una condici%n es verdadera, entonces el cuerpo de la sentencia
i6 ejecutado
• 0 interpretarse como 6also, no nula es verdadera
• *ontrol siempre se reanuda despu(s de la estructura i6
• *ondiciones de si las declaraciones se pueden 6ormar usando la
i!ualdad o los operadores relacionales >si!uiente diapositiva@si >condici%n@
sentencia ejecutada si la condici%n verdadera
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 52/72
• 4o es necesario despu(s condici%n punto # coma
• Tarea condicional Else no reali'%
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
+=
2., oma de decisiones: /uidad 0 relacionales
'peradores
• Pr%Dimas pro!rama utili'a sentencias i6 • iscusi%n despu(s
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno+B
*omparison.java
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 53/72
1. importaci%n
2. *omparaci%n Clase
2.1 principal
2.2 6eclaraciones
2.3 Gos datos de entrada >shoLInputialo!@
2.# parseInt
2.& Iniciali<ar resultado
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 54/72
1 88 9ig. 2H2: Comparison.ava
2 88 Comparar enteros utili<ando si las declaracionesH los operadores relacionales
3 88 0 la igualdad de los operadores.
#
& 88 pa/uetes Java
Javax.sing.J'ption"ane ( de importaciónB
)
, pu5lic class Comparación ;
1 88 m+todo main comien<a la eecución de aplicaciones Java
11 static void main 7tring args =>4 p?5licos
12 ;
13 9irst!um5er CadenaB 88 primera cadena introducida por el usuario
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 55/72
1# Cadena second!um5erB 88 segunda cadena introducida por el usuario
1& 7tring resultB 88 una cadena /ue contiene la salida
1(
1) int n?mero1B 88 primer n?mero Comparar
1, int n?mero2B 88 segundo n?mero Comparar
1
2 88 leer primer n?mero de usuario como una cadena
21 9irst!um5er J'ption"ane.sKoInput6ialog @nter primer entero:@4B
22
23 88 leer segundo n?mero del usuario como una cadena
2# second!um5er
2& J'ption"ane.sKoInput6ialog @nter segundo entero:@4B
2(
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 56/72
2) 88 convertir n?meros de tipo 7tring al tipo int
2, n?mero1 Integer.parseInt 9irst!um5er4B
2 n?mero2 Integer.parseInt second!um5er4B
3
31 88 iniciali<ar resultado vaciar de Cuerdas
32 resultado @@B
33
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
+F
*omparison.java
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 57/72
3. si las declaraciones
#. shoL)essa!eialo!
3# si n?mero1 n?mero24
3& resultado resultado N n?mero1 N @@ N n?mero2B
3(
3) si n?mero1A n?mero24
3, resultado resultado N n?mero1 N n?mero2 N @A@B
3
# si n?mero1 Rn?mero24
#1 resultado resultado N @ n@ N n?mero1 N @R@ N n?mero2B
#2
#3 si n?mero1S n?mero24
## resultado resultado N @ n@ N n?mero1 N @S@ N n?mero2B
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 58/72
#&
#( si n?mero1 R n?mero24
#) resultado resultado N @ n@ N n?mero1 N @R@ N n?mero2B
#,
# si n?mero1S n?mero24
& resultado resultado N @ n@ N n?mero1 N @S @ N n?mero2B
&1
&2 88 Mostrar resultados
&3 J'ption"ane.sKoMessage6ialog nullH resultadoH @Oesultados de la comparación@H
&# J'ption"ane.I!9'OM*I'!PM77*Q4B
&&
&( 70stem.exit 4B 88 terminar la aplicación
&)
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 59/72
&,D 88 in del m+todo main
&
(D 88 in Comparación clase
Pruea de la i!ualdad, crear nueva cadena, asi!ne a resultar.
so $viso de JptionPane.I4K)$TI4?)E<<$CE
© 2003 Prentice Hall, Inc.
Todos los derechos reservados.
*ontorno
-0
"rogram 7alida
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-1
2., oma de decisiones: /uidad 0 relacionales
'peradores
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 60/72
• íneas 1"12/ *omentarios, importaci%n JptionPane,
empe'ar clase de comparaci%n # principal
• íneas 13"1B/ declaran las variales
• Puede utili'ar listas separadas por comas en su lu!ar/
• íneas 21"30/ otener los n5meros de entrada del usuario #
anali'a cadena de entrada en variales enteras
13 Cadena 9irst!um5erH
1# second!um5erH
1& resultadoB
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-2
2., oma de decisiones: /uidad 0 relacionales
'peradores
• Inicialice resultado con cadena vacía
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 61/72
• i6 para comproar la i!ualdad usando >RR@
• <i las variales son i!uales >condici%n verdadera@
• resultado concatenado utili'ando N operador
• resultado R resultado S otras cadenas
• ado derecho evalu% por primera ve', la nueva cadena
asi!nada a resultar
• <i las variales no es i!ual, declaraci%n omite
32 resultado @@B
3# si n?mero1 n?mero24
3& resultado resultado N n?mero1 N @@ N n?mero2B
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-3
2., oma de decisiones: /uidad 0 relacionales
'peradores
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 62/72
• íneas 3="-0/ otra si las prueas declaraciones por menos, m9s,
etc.
• <i n5mero1 R 123 # n5mero2 R 123
• ínea 3+ eval5a verdadera >si n5mero1 R R n5mero 2@
• eido n5mero1 es i!ual numer2
• ínea +0 eval5a 6alsa >si n5mero1 Un5mero 2@
• eido n5mero1 no es menor &ue el n5mero2
• ínea +F eval5a verdadera >si n5mero1V R n5mero2@
• eido numer1 es ma#or &ue o i!ual a numer2
• íneas -3"-+/ resultado &ue se muestran en un cuadro de di9lo!o
con shoL)essa!eialo!© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-+
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 63/72
2., oma de decisiones: /uidad 0 relacionales
'peradores
• Precedencia de los operadores
• Todos los operadores eDcepto R >asi!naci%n@ asociados de
i'&uierda a derecha
• Por ejemplo/ D R # R ' se eval5a D R ># R '@
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
--
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
•
Hacer hincapi( en la pro!ramaci%n orientada a ojetos>P@
• ise7o orientado a ojetos >@ aplicaci%n
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 64/72
• os capítulos 3 a 1+, 18, 1F
• $p(ndices , E, K
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-8
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
• jetivo del pro!rama• $plicaci%n de simulaci%n <o6tLare
• <imulador de ascensor de 2 plantas
• )odelos de operaci%n real del ascensor
•
$scensor !r96icos muestran al usuario• Inter6a' !r96ica de usuario >CI@
• El usuario puede controlar ascensor
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 65/72
-=
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
• $scensor <imulaci%n
• Cente modelo utili'ando ascensor
• Puerta del ascensor, puerta de piso, ot%n del elevador, ot%n del
piso, hueco del ascensor, campana, piso, 6ondos
• perar en consecuencia o por la petici%n para evitar MherirM persona
# hacer operaciones in5tiles
• *rear ojetos persona
•
e!las de simulaci%n• Qisitas piso ascensor &u( persona las solicitudes de servicio de
ascensor
• na persona por ascensor
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 66/72
• - se!undos para pasar de pisos
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-B
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
• CI $plicaci%n
• "rimer "iso 7econd 9loor otones crean persona en los pisosrespectivos
• :ot%n esactivar si piso ocupado por una persona &ue #a est9
• 45mero ilimitado de creaciones de pasajeros
• e&uisitos $nimaci%n
• Pasajeros caminar # pulsando el ot%n piso
• $scensor en movimiento, puertas de apertura # cierre
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 67/72
• a iluminaci%n de las luces # otones de ascensor durante la
operaci%n
• a incorporaci%n de sonidos
• Pasos cuando la persona camina
• $l pulsar el ot%n clics
• <uena el timre del ascensor a la lle!ada del ascensor, m5sica de
ascensor
• Puertas crujen al arir # cerrar
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
-F
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema© 2003 Prentice Hall, Inc. Todos los derechos reservados.
80
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 68/72
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
81
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
82
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema• El dise7o de sistema de ascensor
• Especi6icada en los re&uisitos de documentos a trav(s del an9lisis
• )
• ise7o utili'ado para implementar el c%di!o de Java
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 69/72
• W*%mo el sistema dee ser construido para completar las tareas
• Estructura del sistema
• <istema es un conjunto de componentes interactivos para resolver
prolemas
• <impli6icado por susistemas
• <imulator >a trav(s cap. 18@, CI >*h. 13 # 1+, la pantalla
>cap. 22@
• escrie los ojetos Gs del sistema # las interrelaciones
• *omportamiento del sistema descrie c%mo el sistema camia a trav(s
de la interacci%n de ojetos
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
83
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 70/72
• Tipos de dia!ramas )
• Estructura del sistema
• ia!rama de clases >secci%n 3.=@
• *lases )odelos, o Mlo&ues de construcci%nM de un sistema
• Persona, ascensor, piso, etc.
• os dia!ramas de ojetos >secci%n 3.=@
• <napshot >modelo@ de ojetos # relaciones Gs del sistema en el
punto especí6ico en el tiempo
• ia!ramas de componentes >secci%n 1+.13@
• *omponentes del modelo, como los recursos !r96icos #
pa&uetes de clases &ue componen el sistema• os dia!ramas de desplie!ue >no discutido@
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 71/72
• os recursos de hardLare )odelo, memoria # tiempo de
ejecuci%n
© 2003 Prentice Hall, Inc. Todos los derechos reservados.
8+
2. emplo pr%ctico opcional4 *cerca de los o5etos:
l examen de la 6eclaración del pro5lema
• *omportamiento del sistema• ia!ramas <tatechart >secci%n -.11@
• )odelo c%mo ojeto camia de estado
• *ondici%n comportamiento de un ojeto en un momento
especí6ico
• os dia!ramas de actividades >secci%n -.11@
• Para el modelado ia!rama de 6lujo # las acciones reali'adas
por ojeto
7/23/2019 2 Traduci Dazxcz
http://slidepdf.com/reader/full/2-traduci-dazxcz 72/72
• ia!ramas de colaoraci%n >secci%n =.10@
• Ha!a hincapi( en lo &ue se producen interacciones
• os dia!ramas de secuencia >secci%n 18.11@
• En6ati'ar cuando se producen interacciones
• ia!ramas de casos de uso >secci%n 13.1=@
• epresentar a la interacci%n entre el usuario # el sistema
• $l hacer clic en el ot%n del ascensor