Logo Studenta

Programacion_Basica_En_Java

¡Este material tiene más páginas!

Vista previa del material en texto

ac
fundamentos de programación 
(unidad 3) programación básica en Java 
 
 
(3) 
 
Para ver una copia complet a de la l icencia, acudir a la 
dirección ht t p: / / creat ivecommons.org/ l icenses/ by-nc-sa/ 2.5/ es/ legalcode.es 
http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es�
 
(5) 
(3) 
programación 
básica en Java 
esquema de la unidad 
(3) programación básica en Java 5
(3.1) historia de Java ___________________________________________________ 8
(3.1.1) los antecedentes de Java. influencia de C y C++ 8
(3.1.2) la llegada de Java 10
(3.1.3) Java y JavaScript 12
(3.2) características de Java _____________________________________________ 12
(3.2.1) construcción de programas en Java. bytecodes 12
(3.2.2) seguridad 14
(3.2.3) tipos de aplicaciones Java 15
(3.2.4) plataformas 15
(3.3) empezar a trabajar con Java ______________________________________ 16
(3.3.1) el kit de desarrollo Java (SDK) 16
(3.3.2) versiones de Java 16
(3.3.3) instalación del SDK 19
(3.3.4) entornos de trabajo 22
(3.4) escritura de programas Java ______________________________________ 24
(3.4.1) codificación del texto 24
(3.4.2) notas previas 24
(3.4.3) el primer programa en Java 25
(3.5) ejecución de programas Java _____________________________________ 26
(3.5.1) proceso de compilación desde la línea de comandos 26
(3.6) javadoc _________________________________________________________ 27
(3.7) import __________________________________________________________ 29
(3.8) variables ________________________________________________________ 30
(3.8.1) introducción 30
(3.8.2) declaración de variables 31
(3.8.3) asignación 31
 
fundamentos de programación 
(unidad 3) programación básica en Java 
(6) 
(3.9) tipos de datos primitivos _________________________________________ 32
(3.9.1) enteros 32
(3.9.2) números en coma flotante 33
(3.9.3) booleanos 34
(3.9.4) caracteres 34
(3.9.5) conversión entre tipos (casting) 35
(3.9.6) ámbito de las variables 35
(3.10) operadores _____________________________________________________ 36
(3.10.1) introducción 36
(3.10.2) operadores aritméticos 36
(3.10.3) operadores condicionales 37
(3.10.4) operadores de BIT 38
(3.10.5) operadores de asignación 38
(3.10.6) operador ? 39
(3.10.7) precedencia 39
(3.11) constantes _______________________________________________________ 40
(3.12) lectura y escritura por teclado ____________________________________ 41
(3.12.1) escritura 41
(3.12.2) lectura 41
(3.13) la clase Math ___________________________________________________ 43
(3.13.2) números aleatorios 45
Apéndice (I) Eclipse 46
(I.i) entornos de desarrollo integrado (IDE) _____________________________ 46
(I.ii) descarga de Eclipse _______________________________________________ 47
(I.iii) aspecto de Eclipse ________________________________________________ 50
(I.iii.i) las perspectivas de Eclipse 50
(I.iv) crear proyectos en Eclipse _________________________________________ 51
(I.iv.i) crear proyectos básicos de Java 51
(I.iv.ii) modificar recursos del proyecto 53
(I.iv.iii) crear programas Java (clases) 53
(I.iv.iv) cambiar el nombre a los elementos de Java 54
(I.v) ejecución de programas Java _____________________________________ 55
(I.vi) ayudas al escribir código _________________________________________ 55
(I.vi.i) esquema flotante (quick outline) 55
(I.vi.ii) asistente de contenido 55
(I.vi.iii) plantillas de código 57
(I.vi.iv) dar formato al código 59
(I.vi.v) errores 59
(I.vii) modificar las preferencias del editor ______________________________ 60
(I.vii.i) opciones generales 60
(I.vii.ii) realizar acciones al guardar 60
(I.vii.iii) asistencia de contenido 61
(I.vii.iv) coloreado de la sintaxis 61
(I.vii.v) marcar apariciones 61
(I.vii.vi) apartado tecleo (typing) 61
(I.vii.vii) plantillas 62
(I.vii.viii) estilo del código 65
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(7) 
(I.vii.ix) limpiar 67
(I.vii.x) exportar preferencias 69
(I.viii) creación de javadoc con Eclipse __________________________________ 70
Apéndice (II) Netbeans 73
(II.i) introducción ______________________________________________________ 73
(II.ii) instalación _______________________________________________________ 73
(II.ii.i) comprobación de la plataforma Java instalada 76
(II.iii) aspecto inicial de Netbeans ______________________________________ 76
(II.iii.i) cerrar y abrir paneles 77
(II.iii.ii) iconizar un panel 77
(II.iii.iii) mover paneles 77
(II.iii.iv) mostrar y quitar barras de herramientas 77
(II.iv) proyectos de Netbeans __________________________________________ 78
(II.iv.i) crear proyectos 78
(II.iv.ii) la ventana del proyecto 79
(II.iv.iii) crear paquetes 80
(II.iv.iv) crear nuevas clases 80
(II.iv.v) vistas del proyecto 81
(II.iv.vi) propiedades del proyecto 82
(II.iv.vii) borrar un proyecto 83
(II.iv.viii) importar un proyecto de Eclipse 83
(II.v) compilar y ejecutar programas ___________________________________ 84
(II.v.i) compilar 84
(II.v.ii) ejecutar la clase principal del proyecto 84
(II.v.iii) preparar la distribución 84
(II.vi) javadoc _________________________________________________________ 85
(II.vi.i) añadir la documentación Java a Netbeans 85
(II.vi.ii) generar la documentación Javadoc del proyecto 85
(II.vii) edición de código _______________________________________________ 86
(II.vii.i) aspecto de la ventana de código 86
(II.vii.ii) ayudas al escribir código 87
(II.vii.iii) búsqueda y reemplazo de texto en el código 87
(II.vii.iv) dar formato al código 88
(II.vii.v) modificación de opciones del editor 88
(II.vii.vi) reestructurar 89
(II.vii.vii) plantillas generales 90
(II.vii.viii) comparar archivos 91
(II.vii.ix) exportar e importar las opciones 92
 
 
fundamentos de programación 
(unidad 3) programación básica en Java 
(8) 
(3.1) historia de Java 
(3.1.1) los antecedentes de Java. influencia de C y C++ 
Java es un lenguaj e de programación que se desarrol ló para sat isfacer las 
nuevas necesidades que requería la creación de apl icaciones a f inales de los 
90. 
Desde los primeros lenguaj es aparecidos en los años cincuent a, hast a la 
aparición de Java, la ciencia de la creación de programas ha suf rido numerosas 
t ransformaciones. Todas el las se basan en int ent ar que los programadores y 
programadoras consigan t rabaj ar de la forma más ef icient e posible. 
La búsqueda del lenguaj e perfect o es la búsqueda del lenguaj e que sea más 
fácil de aprender y que ot orgue más posibil idades a aquel los programadores y 
programadoras que lo ut i l icen. 
En general ambos concept os han dado lenguaj es muy diversos. Por 
ej emplo, el lenguaj e Basic es un lenguaj e muy fácil de aprender, pero en 
cuant o se quieren resolver problemas compl icados, resul t a inef icaz. Por ot ro 
lado el lenguaj e C es un lenguaj e muy poderoso, capaz de crear t odo t ipo de 
apl icaciones; pero es bast ant e más di f ícil de aprender. 
Java int ent a cumpl ir ambas premisas, pero de forma equil ibrada: ni es un 
lenguaj e muy fácil de aprender, ni es un lenguaj e capaz de real izar t odo t ipo 
de apl icaciones. En real idad Java es uno de los muchos lenguaj es inf luenciados 
por el exit oso lenguaje C . Est e lenguaj e ha sido el favorit o de los creadores de 
apl icaciones (especialment e de sist emas) en los años 60 y 70. 
la influencia del lenguaje C 
La aparición del lenguaj e Fort ran , supuso la creación del primer lenguaj e de 
al t o nivel . Por primera vez el programador podía programar un poco más 
alej ado de la lógica de la máquina, es decir cada vez más lej os del lenguaj e 
de unos y ceros que es el único que los comput adores reconocen. 
Poco a poco aparecieron cada vez más lenguajes con la pret ensión de 
mej orar la forma de programar (Lisp , Pascal, Fortran, Cobol ,…). Algunos de 
el los siguen vigent es incluso hoy en día. La mayoría se especial izaron en 
diferent es t ipos de apl icaciones (Lisp para apl icaciones de ingeniería, Pascal 
para aprendizaj e de la ciencia de la programación, Cobol para apl icaciones de 
gest ión,…). 
El caso es que para crear apl icaciones de al t o rendimient o y de sist ema, los 
programadores seguía ut i l izando el lenguaj e Ensamblador . Por el lo a f inales 
de los 60 aparece el lenguaj e C. 
 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(9) 
C aport ó a los lenguaj es exist ent es las siguient es vent aj as: 
♦ Un lenguaj e de nivel medio (más cercano a la forma de pensar del 
ordenador) que permit ía t ant o ut i l izar est ruct uras de los lenguaj es de 
al t o nivel (funciones, bucles avanzados,…) como inst rucciones de nivel 
baj o (punt eros) 
♦ Una sint axis que permit e escribir código de forma rápida 
♦ Un lenguaj e pot ent e capaz de crear t odo t ipo de apl icaciones 
♦ Un lenguaj e capaz de ut i l izar t odo t ipo de est ruct uras est át icas y 
dinámicas y de manej ar t odos los recursos de la máquina. 
Sin embargo C t ambién t iene sus problemas. Uno de los principales es que 
cuando la apl icación crece, el código es muy dif ícil de manej ar. Las t écnicas 
de programación est ruct urada y programación modular, que en C pueden ser 
apl icadas, pal iaban algo el problema. Pero fue la programación orientada a 
objetos (POO u OOP) la que mej oró not ablement e el sit uación. 
No obst ant e C sigue siendo uno de los lenguaj es más ut il izados y 
académicament e sigue ut i l izándose por su versat il idad, que permit e aprender 
t odas las caract eríst icas de la programación clásica. De hecho a un buen 
programador de lenguaj e C no le debería ser dif ícil aprender a programar en 
ot ros lenguaj es (una vez que conozca las bases de la programación or ient ada a 
obj et os). 
la influencia de la programación orientada a objetos 
La POO permit e fabricar programas de forma más parecida al pensamient o 
humano. De hecho simpl if ica el problema dividiéndolo en obj et os y 
permit iendo cent rarse en cada obj et o, para de esa forma el iminar la 
complej idad. Cada obj et o se programa de forma aut ónoma y esa es la 
principal virt ud. 
Al aparecer la programación orient ada a obj et os (en los años set ent a), 
aparecieron varios lenguaj es orient ados a obj et os y t ambién se real izaron 
versiones orient adas a obj et os (o semiorient adas a obj et os) de lenguaj es 
clásicos. 
Una de las más famosas adapt aciones fue la que capacit ó al lenguaj e C a 
ut i l izar obj et os. A ese lenguaj e se le l lamó C++ indicando con esa simbología 
que era un increment o del lenguaj e C (en el lenguaj e C, como en Java, los 
símbolos ++ signi f ican increment ar). Las vent aj as que añadió C++ a C fueron: 
♦ Añadir soport e para obj et os (POO) 
♦ Librerías de clases de obj et os (como MFC1
♦ Todo lo bueno del C (incluso compat ibil idad con est e lenguaj e) 
 por ej emplo) que 
facil it aban el uso de código ya creado para las nuevas apl icaciones. 
 
1 Microsoft Foundat ion Classes , l ibrería creada por Microsof t para facil i t ar la creación 
de programas para el sistema Windows. 
fundamentos de programación 
(unidad 3) programación básica en Java 
(10) 
C++ pasó a ser el lenguaj e de programación más popular a principios de los 90 
y sigue siendo un lenguaj e muy ut il izado. Muchas personas le consideran el 
lenguaj e de programación más pot ent e. 
Ot ras adapt aciones famosas de lenguaj es clásicos a lenguaj es orient ados a 
obj et os, fueron: 
♦ El paso de Pascal a Turbo Pascal y post eriorment e a Delphi . 
♦ El paso de Basic a QuickBasic y después a Visual Basic . 
A pesar de las evident es vent aj as del lenguaj e C++. Tiene sus ser ios 
inconvenient es. 
♦ Su complej idad 
♦ El hecho de ser un lenguaje híbrido , es decir que permit e programar 
de forma no orient ada a obj et os, lo que provoca malas práct icas de 
programador. 
♦ Los punt eros, que requieren un especial cuidado por part e de la 
programadora o programador, ya que son los responsables de los 
errores más pel igrosos y dif íciles de det ect ar. 
♦ El que sea un lenguaj e apt o para crear programas dañinos como virus y 
programas espías. 
♦ No es un lenguaj e apt o para t ransmit irse en redes de ordenadores; 
especialment e en Int ernet (porque al ser compilado requiere cargar 
t odo el código para ser compilado). 
La l legada de Int ernet propició la creación de lenguaj es más apt os para su uso 
en est a red de redes. 
(3.1.2) la llegada de Java 
En 1991, la empresa Sun Microsystems crea el lenguaj e Oak (de la mano del 
l lamado proyecto Green ). Mediant e est e lenguaj e se pret endía crear un 
sist ema de t elevisión int eract iva. Est e lenguaj e sólo se l legó a ut i l izar de 
forma int erna. en la empresa. Su propósit o era crear un lenguaj e 
independient e de la plat aforma para uso en disposit ivos elect rónicos. 
Se int ent aba con est e lenguaj e pal iar uno de los problemas fundament ales 
del C++; que consist e en que al compilar se produce un f ichero ej ecut able 
cuyo código sólo vale para la plat aforma en la que se real izó la compilación. 
Sun deseaba un lenguaj e para programar pequeños disposit ivos elect rónicos. 
La dif icul t ad de est os disposit ivos es que cambian cont inuament e y para que 
un programa funcione en el siguient e disposit ivo aparecido, hay que rescribi r 
el código. Por eso Sun quería crear un lenguaj e independiente del 
disposit ivo . 
En 1995 Oak pasa a l lamarse Java . Java es un import ant e export ador de 
café; por eso en EEUU se conoce como Java al café, t omarse una t aza de Java 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(11) 
es t omarse una t aza de café (aunque no sea precisament e de Java). Parece 
que los desarrol ladores de Java t omaron muchas t azas de Java . 2
Ese año se da a conocer al públ ico. y adquiere not oriedad rápidament e, 
casi desde su lanzamient o. Durant e est os años se ha mej orado y se le ha 
revisado. La versión 1.2 modif icó t ant o Java que se la l lamó Java 2 y t ambién 
a sus descendient es (Java 1.3 y Java 1.4). Act ualment e el número 2 se ha 
quit ado del nombre y la úl t ima versión se conoce como Java v6 . 
 
En general la sint axis de Java es similar a C y C++. Pero posee est as 
diferencias: 
♦ No hay punt eros (lo que le hace más seguro y fácil de manej ar) 
♦ No es híbrido, sino t ot alment e orient ado a obj et os (aunque muchos 
programadores t ienen reservas respect o a est a aseveración). Los 
lenguaj es orient ados a obj et os híbridos permit en crear apl icaciones no 
orient adas a obj et os. 
♦ Muy preparado para ser ut i l izado en redes TCP/ IP y especialment e en 
Int ernet 
♦ Implement a excepciones (cont rol de errores) de forma nat iva 
♦ Es un lenguaj e int erpret ado (lo que acelera su ej ecución remot a, 
aunque provoca que las apl icaciones Java sean más lent as en la 
ej ecución que las apl icaciones escrit as en lenguaj es compilados como 
C++). 
♦ Permit e múlt iples hilos de ej ecución, es decir que se ej ecut en var ias 
t areas en paralelo. 
♦ Admit e f irmas digit ales 
♦ Tipos de dat os y cont rol de sint axis más rigurosa que los lenguaj es C y 
C++, lo que facil it a la gest ión de errores 
♦ Es independient e de la plat aforma, ej ecut able en cualquier sist ema 
con máquina virt ual 
La úl t ima vent aj a (quizá la más import ant e) se consigue ya que el código Java 
no se compila, sino que se precompila , de t al forma que se crea un código 
intermedioque no es direct ament e ej ecut able. No es código máquina. Para 
ej ecut arle hace fal t a pasarle por un int érpret e que va int erpret ando cada 
l ínea. Ese int érpret e suele ser la máquina virtual de Java . Por lo que 
cualquier sist ema que posea máquina virt ual de Java, podrá ej ecut ar código 
precompilado en Java. Más adelant e se expl ica est e proceso en det al le. 
 
2 La simbología del café sigue present e en Java. El logot ipo of icial de Java es una t aza 
humeant e de café. Mucho sof t ware desarrollado para Java ha mant enido esa simbología: 
Visual Café, Kawa (café en ruso),… 
fundamentos de programación 
(unidad 3) programación básica en Java 
(12) 
(3.1.3) Java y JavaScript 
Una de las confusiones act uales la provoca el parecido nombre que t ienen 
est os dos lenguaj es. Sin embargo no t ienen mucho que ver ent re sí. Sun creó 
Java y la empresa Netsca pe creó JavaScript . Java es un lenguaj e complet o 
que permit e real izar t odo t ipo de apl icaciones. JavaScript es un lenguaj e que 
permit e incrust ar código dent ro de las páginas web. 
La f inal idad de JavaScript es mej orar las páginas web, hacerlas más 
vist osas y dinámicas. La f inal idad de Java es crear apl icaciones de t odo t ipo 
(aunque est á muy preparado para crear sobre t odo apl icaciones en red). 
Aunque la sint axis t iene element os en común, desde luego no se parece 
t ant o. De hecho Javascript es mucho más fácil que Java. 
(3.2) características de Java 
(3.2.1) construcción de programas en Java. bytecodes 
compilación tradicional 
En el mundo de la programación siempre se ha hablado de lenguajes 
compilados y de lenguajes interpretados . En el segundo caso, un programa 
int érpret e se encarga de t raducir cada l ínea al código máquina 
correspondient e. Los lenguaj es int erpret ados a part ir de los set ent a se han 
dej ado de usar porque no eran los apropiados para conseguir código ef icient e. 
Por el cont rario, los lenguaj es compilados producen código máquina 
anal izando t odas las l íneas de código en conj unt o. Los compiladores buscan el 
mej or código máquina posible. El resul t ado del proceso de compilación (en 
real idad de compilación y enlazado) es un archivo ejecutable . 
Un archivo ej ecut able es un programa que se puede lanzar direct ament e en 
el sist ema operat ivo; en el caso de Windows o Linux simplement e con hacer 
doble cl ic sobre el archivo, se ej ecut an sus inst rucciones. La vent aj a es que 
los programas ej ecut ables no necesit an compilarse de nuevo, son programas 
t erminados. El problema es que los sist emas operat ivos ut i l izan diferent es 
t ipos de archivos ej ecut ables: es decir, un archivo ej ecut able en Linux no sería 
compat ible con Windows. 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(13) 
 
Ilust ración 3-1, Proceso de compilación de un programa C++ en Window s y Linux 
la "compilación" en Java 
En Java el código no se t raduce a código ej ecut able. En Java el proceso se 
conoce como precompilación y sirve para producir un archivo (de ext ensión 
class ) que cont iene código que no es direct ament e ej ecut able (no es código 
Java). Es un código int ermedio l lamado bytecode (t ambién se le l lama J-
code ). 
Al no ser ej ecut able, el archivo class no puede ej ecut arse direct ament e 
con un doble cl ic en el sist ema. El byt ecode t iene que ser interpretado (es 
decir, t raducido l ínea a l ínea) por una apl icación conocida como la máquina 
virtual de Java (JVM). Hoy se conoce como JRE (Java Runt ime Environmen t , 
ent orno de ej ecución de Java). 
La gran vent aj a es que el ent orno de ej ecución de Java lo fabrica Sun para 
t odas las plat aformas; lo que signif ica que un archivo class se puede ej ecut ar 
en cualquier ordenador o máquina que incorpore el JRE. Sólo hay una pega, si 
programamos ut il izando por ej emplo la versión 1.6 de Java, el ordenador en el 
que queramos ej ecut ar el programa deberá incorporar el JRE al menos de la 
versión 1.6. 
El JRE o la máquina virt ual de Java son un programas muy pequeños y que 
se dist ribuyen grat uit ament e para práct icament e t odos los sist emas 
operat ivos. 
A la forma de producir código f inal de Java se la l lama JIT (Just In Time , 
j ust o en el moment o) ya que el código ej ecut able se produce sólo en el 
inst ant e de ej ecución del programa. Es decir, no hay en ningún moment o 
código ej ecut able. 
fundamentos de programación 
(unidad 3) programación básica en Java 
(14) 
 
Ilust ración 3-2, Proceso de compilación de un programa Java 
 
(3.2.2) seguridad 
Al int erpret ar el código, el JRE puede del imit ar las operaciones pel igrosas, con 
lo cual la seguridad es fácilment e cont rolable. Además, Java el imina las 
inst rucciones dependient es de la máquina y los punteros que generaban 
t erribles errores en C y la posibil idad de generar programas para at acar 
sist emas. Tampoco se permit e el acceso direct o a la memoria y recursos del 
ordenador. 
La primera l ínea de seguridad de Java es un verificador del bytecode que 
permit e comprobar que el comport amient o del código es correct o y que sigue 
las reglas del lenguaj e Java. Normalment e los compiladores de Java no pueden 
generar código que se sal t e las reglas de seguridad de Java. Pero un 
programador malévolo podría generar art i f icialment e byt ecode que se sal t e 
las reglas. El verif icador int ent a el iminar est a posibil idad. 
Hay un segundo paso que ver if ica la seguridad del código que es el 
verificador de clase que es el programa que proporciona las clases necesarias 
al código. Lo que hace es asegurarse que las clases que se cargan son 
realment e las del sist ema original de Java y no clases creadas reemplazadas 
art if icialment e. 
Finalment e hay un administrador de seguridad que es un programa 
conf igurable que permit e al usuario indicar niveles de seguridad a su sist ema 
para t odos los programas de Java. 
Hay t ambién una forma de seguridad relacionada con la conf ianza. Est o se 
basa es saber que el código Java procede de un sit io de conf ianza y no de una 
fuent e no ident i f icada. Se consigue gracias a que en Java se permit e añadir 
f irmas digit ales al código para veri f icar la aut oría del mismo. 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(15) 
(3.2.3) tipos de aplicaciones Java 
applets 
Son programas Java pensados para ser colocados dent ro de una página web. 
Pueden ser int erpret ados por cualquier navegador con capacidades Java. Est os 
programas se insert an en las páginas usando una et iquet a especial (como 
t ambién se insert an vídeos, animaciones f lash u ot ros obj et os). 
Los applet s son programas independient es, pero al est ar incluidos dent ro 
de una página web las reglas de ést as le afect an. Normalment e un applet sólo 
puede act uar sobre el navegador. 
Hoy día mediant e applet s se pueden int egrar en las páginas web 
apl icaciones mult imedia avanzadas (incluso con imágenes 3D o sonido y vídeo 
de al t a cal idad) 
aplicaciones de consola 
Son programas independient es al igual que los creados con los lenguaj es 
t radicionales. 
aplicaciones gráficas 
Aquel las que ut i l izan las clases con capacidades gráf icas (como awt por 
ej emplo). 
servlets 
Son apl icaciones que se ej ecut an en un servidor de apl icaciones web y que 
como resul t ado de su ej ecución resul t a una página web. 
midlet 
Apl icación creada con Java para su ej ecución en sist emas de propósit o simple 
o disposit ivos móviles. Los j uegos Java creados para t eléfonos móviles son 
midlet s. 
(3.2.4) plataformas 
Act ualment e hay t res ediciones de Java. Cada una de ellas se corresponde con 
una plat aforma que incluye una serie de funciones, paquet es y element os del 
lenguaj e (es decir la API , Applicat ion Program Interface ). 
Java SE 
Java Standard Edit ion . Ant es se la conocía como J2SE (el dos se ref iere a 
Java 2). Permit e escribir código Java relacionado con la creación de 
apl icaciones y applet s en lenguaj e Java común. Es decir, es el Java normal. La 
úl t ima versión del kit de desarrol lo de apl icaciones en est a plat aforma3
 
3 En el moment o de escribir est e manual 
 es la 
JSE 1.6.14. 
fundamentos de programación 
(unidad 3) programación básica en Java 
(16) 
Java EE 
Java Enterprise Edit ion . Todavía conocida como J2EE. Pensada para la 
creación de apl icaciones Java empresariales y del lado del servidor. Su úl t ima 
versión es la 1.4 
Java ME 
Java Mobile Edit ion. También conocida como J2ME. Pensada para la creación 
de apl icaciones Java para disposit ivos móviles. 
(3.3) empezar a trabajar con Java 
(3.3.1) el kit de desarrollo Java (SDK) 
Para escribir en Java hacen fal t a los programas que real izan el precompilado y 
la int erpret ación del código, Hay ent ornos que permit en la creación de los 
byt ecodes y que incluyen herramient as con capacidad de ej ecut ar apl icaciones 
de t odo t ipo. El más famoso (que además es grat uit o) es el Java Developer Kit 
(JDK) de Sun, que se encuent ra disponible en la 
dirección ht t p: / / j ava.sun.com/ j avase/ downloads. 
Act ualment e ya no se le l lama así sino que se le l lama SDK y al descargarlo 
de Int ernet hay que elegir la plat aforma deseada (SE, EE o ME). 
(3.3.2) versiones de Java 
Como se ha coment ado ant eriorment e, para poder crear los byt ecodes de un 
programa Java, hace fal t a el SDK de Sun. Sin embargo, Sun va renovando est e 
kit act ual izando el lenguaj e. De ahí que se hable de Java 1.1, Java 1.2, et c. 
Los nombres de los dist int os SDK y del lenguaj e correspondient e, est án 
ref lej ados en est a t abla: 
Versión del SDK para la versión 
est ándar de Java 
Nombre que se le da al kit de desarrol lo 
1.1 JDK 1.1 
1.2 J2SE 1.2 
1.3 J2SE 1.3 
1.4 J2SE 1.4 
1.5 J2SE 1.5 
1.6 Java SE 6 
1.7 Java SE 7 
Desde la versión 1.2 se habla de Java 2. Desde la versión 1.6 se ha abandonado 
la t erminología Java 2 y ahora se habla de Java 6 y Java 7 para las versiones 
1.6 y 1.7 del kit de desarrol lo. 
Cada versión t iene varias revisiones, así la versión 1.6.7 del SDK indica 
versión 6 de Java, revisión 7. 
http://java.sun.com/javase/downloads�
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(17) 
Java 1.0 (JDK 1.0) 
Fue la pr imera versión de Java y propuso el marco general en el que se 
desenvuelve Java. est á of icialment e obsolet o, pero hay t odavía muchos 
cl ient es con est a versión. 
Java 1.1 (JDK 1.1) 
Mej oró la versión ant er ior incorporando las siguient es mej oras: 
♦ JDBC, API de acceso a bases de dat os 
♦ RMI l lamadas a mét odos remot os. Es una t écnica de comunicación de 
procesos en red 
♦ JavaBeans , component es independient es reut il izables. 
♦ Int ernacional ización para crear programas adapt ables a t odos los 
idiomas 
♦ Clases int ernas 
Java 2 (J2SE 1.2) 
Apareció en Diciembre de 1998 al aparecer el JDK 1.2. Incorporó not ables 
mej oras como por ej emplo: 
♦ JFC. Java Foundat ion classes . El conj unt o de clases de t odo para 
crear programas más at ract ivos de t odo t ipo. Dent ro de est e conj unt o 
est án: 
♦ El paquete Swing . Mej orando not ablement e al ant erior paquet e AWT. 
Se t rat a de t odo un conj unt o de clases que permit en desarrol lar 
fácilment e ent ornos de vent anas. Es part e de JFC. 
♦ Enterprise Java beans. Para la creación de component es para 
apl icaciones dist r ibuidas del lado del servidor 
♦ Java Media . Conj unt o de paquet es para crear paquet es mult imedia: 
• Java 2D. Paquet e (part e de JFC) que permit e crear gráf icos de 
al t a cal idad en los programas de Java. 
• Java 3D. Paquet e (part e de JFC) que permit e crear gráf icos 
t ridimensionales. 
• Java Media Framework . Paquet e marco para crear element os 
mult imedia 
• Java Speech . Para reconocimient o de voz. 
• Java Sound . Audio de al t a cal idad 
• Java TV . Televisión int eract iva 
♦ JNDI. Java Naming and Directory Interface . Servicio general de 
búsqueda de recursos. Int egra los servicios de búsqueda más populares 
(como LDAP por ej emplo). 
fundamentos de programación 
(unidad 3) programación básica en Java 
(18) 
♦ Java Servlets . Herramient a para crear apl icaciones de servidor web (y 
t ambién ot ros t ipos de apl icaciones). 
♦ Java Cryptography . Algorit mos para encript ar y desencript ar. 
♦ Java Help . Creación de sist emas de ayuda. 
♦ Jini . Permit e la programación de elect rodomést icos. 
♦ Java card . Versión de Java dirigida a pequeños disposit ivos 
elect rónicos. 
♦ Java IDL. Lenguaj e de def inición de int erfaz. Permit e crear 
apl icaciones t ipo CORBA (plat aforma de desarrol lo de sist emas 
dist ribuidos) 
♦ Clases para la creación de colecciones 
Java 1.3 (J2SE 1.3) 
♦ Se ut il iza la máquina virt ual de Hotspot (más rápida y segura). 
♦ Se modif ica RMI para que t rabaj e con CORBA 
♦ JPDA, Java Plat form Debugger Architectura 
Java 1.4 (J2SE 1.4) 
♦ Aparecen las aserciones (assert ) 
♦ Expresiones regulares est ilo Perl . 
♦ NIO. Nuevo int erfaz de ent rada y sal ida de dat os. 
♦ 
JAXP. API de desarrol lo de document os XML. 
Java 1.5 (J2SE 1.5) 
♦ Aparecen las plant il las 
♦ Met adat os 
♦ Autoboxing , conversión aut omát ica de t ipos a t ipos envolvent es. 
♦ Enumeraciones 
♦ Argument os variables (varargs ) 
♦ Mej ora del bucle for 
Java 1.6 (Java SE 6) 
♦ Combinación con ot ros lenguaj es (PHP, Ruby , Per l ,…) 
♦ Últ imas especif icaciones de JAX-WS 2.0, JAXB 2.0 , STAX y JAXP para 
crear servicios web. 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(19) 
(3.3.3) instalación del SDK 
Es un requisit o previo ant es de programar en lenguaj e Java. 
en Windows 
Desde la página de descarga ht t p: / / j ava.sun.com/ j avase/ downloads se el ige 
la versión deseada del ent orno de desarrol lo. Una vez descargado el programa 
de inst alación del SDK, bast a con ej ecut arle. 
Hay que prest ar at ención al direct or io en el que se ha inst alado el SDK. La 
razón es que debemos modif icar t res var iables del sist ema (variables que 
ut i l iza Windows para la conf iguración correct a de comandos). Son: 
♦ PATH. Variable que cont iene rut as por defect o a los programas que 
indiquemos. La razón es que por ej emplo el comando java debe de 
est ar disponible est emos en la carpet a que est emos. Dicho comando 
(j unt o con el rest o de comandos del SDK) est á en la carpet a bin dent ro 
de la carpet a en la que hemos inst alado el SDK. 
Ej emplo de cont enido de la var iable path : 
PATH=C:\ WINNT\ SYSTEM32;C:\ WINNT;C:\ WINNT\ SYSTEM32\ WBE
M;C:\ Archivos de programa\ Microsoft Visual 
Studio\ Common\ Tools\ WinNT;C:\ Archivos de programa\ Microsoft Visual 
Studio\ Common\ MSDev98\ Bin;C:\ Archivos de programa\ Microsoft 
Visual Studio\ Common\ Tools;C:\ Archivos de programa\ Microsoft Visual 
Studio\ VC98\ bin;C:\ Arch ivo s de program a\ java\ jsdk1.6 .2\ bin 
♦ JAVA_HOME . Variable ut i l izada por la mayoría de apl icaciones basadas 
en Java que cont iene la rut a a la carpet a en la que se inst aló el SDK. 
♦ CLASSPATH . Se expl icara con det al le más adelant e en est e mismo 
manual. Es una var iable similar al PATH que sirve para indicar rut as a 
las carpet as en las que se almacenarán apl icaciones Java. Dicho de 
una manera más t écnica: cont iene las rutas de t odos los filesystems 
de Java. 
La forma de conf igurar est as var iables en Windows (si al menos t enemos 
versión de Windows superior o igual al 2000): 
(1) Señalar al icono Mi PC (o Equipo en Windows Vist a, Windows 2008 o 
Windows 7) y elegir Propiedades. Después elegir Propiedades 
Avanzadas y f inalment e pulsar en el bot ón Variables de entorno . 
http://java.sun.com/javase/downloads�
fundamentos de programación 
(unidad 3) programación básica en Java 
(20) 
 
Ilustración 3-3, El cuadro de las variables del Sistema en Windows Server 
2008 
(2) Dent ro de est e cuadro, ya est ará la variable PATH. Habrá que elegirla y 
pulsar en modif icar. Sin borrar nada de lo que cont iene , debemos 
añadir al f inal del t ext o el símbolo ; y después la rut a al direct orio bin 
dent ro de la carpet a del SDK (por ej emplo C:\"Program 
Files" \Java \ jdk1.6. 14\bin ). 
(3) Tras acept ar el cuadro ant er ior, podremos pulsar en Nueva para añadir 
la var iable JAVA_HOME indicando como valor la rut a al SDK. 
 
Ilustración 3-4, Ejemplo de configuración de la 
variable JAVA_HOME en Wi ndows 
(4) Hacer el mismo proceso para la var iable CLASSPATH 
Para comprobar la versión de Java bast a con ir al símbolo del sist ema Windows 
y escribir java –version 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(21) 
en Linux 
 
Ilustración 3-5, El gestor de paquetes Synapt ic en el sistema Linux Ubuntu, 
mostrando información sobre los paquetes Java 
Casi t odas las versiones act uales de Linux incluyen el ent orno de ej ecución 
(JRE) de Java y la mayoría el ent orno de desarrol lo (SDK). Est o signif ica que 
segurament e no haya que inst alar nada. Para conocer la versión inst alada 
habría que ej ecut ar el comando java –version . 
Si deseamos inst alar Java o act ual izarlo, hay que inst alar el úl t imo 
paquet e, una opción es ut i l izar el gest or Synaptic para descargar la úl t ima 
versión del paquet e de desarrol lo en Java (ver Ilust ración 3-5). 
También podemos inst alar desde la l ínea de comandos, sería algo como 
sudo apt-get install sun-java6-jdk 
Finalment e siempre podemos acudir a la página de descargas de 
Sun, ht t p: / / j ava.sun.com/ j avase/ downloads y descargar la versión deseada. 
El archivo hay que descomprimirlo (si es un paquet e rpm ) o ej ecut arlo (si es 
simplement e un archivo bin ). Se obt endrá un direct orio con t odo el SDK de 
Java. Ahora bast ará con colocarlo en el direct orio adecuado. 
En t odo caso, sea cual sea la forma de inst alar el SDK, habrá que modif icar 
t res var iables de ent orno. Para lo cual lo normal es modif icar el f ichero 
/ etc/ bash.bashrc y al f inal añadir las siguient es ent radas: 
♦ export JAVA_HOME="ruta en la que está el SDK de Java" 
La rut a podría ser algo como / usr/ lib/ j vm/ java6sun 
http://java.sun.com/javase/downloads�
fundamentos de programación 
(unidad 3) programación básica en Java 
(22) 
♦ export PATH="$PATH:$JAVA_HOME/ bin " 
♦ export CLASSPATH="rutas a los directorios en los qu e se 
almacenarán programas en Java" 
En el caso de la variable CLASSPATH, es muy conveniente que su ruta 
incluya el directorio actual (el símbolo . )~. Un ej emplo de uso de 
CLASSPATH en el archivo bashrc sería: 
export CLASSPATH="/ usr/ lib/ jvm/ java-6-sun:." 
Gracias a el lo podremos colocar programas Java y ej ecut arlos sin problemas en 
la carpet a raíz del SDK y en la carpet a act ual en la que nos encont remos. 
instalación del código fuente de las bibliotecas 
Como otros lenguajes, Java se compone de una serie de bibliotecas. En el 
caso de Java estas bibliotecas son inmensas y están comprimidas en el 
archivo src. jar . 
Es muy habit ual en Java el uso de archivos JAR. En real idad son archivos 
que aglut inan código fuent e en j ava, comprimiéndoles en format o ZIP. Para 
poder acceder al código fuent e en sí debemos descomprimir dicho archivo. Lo 
cual se hace (en cualquier sist ema): 
(1) Yendo a la carpet a o direct orio en el que se encuent ra el SDK (es decir 
yendo a JAVA_HOME). 
(2) All í se encuent ra el archivo src. jar 
(3) Descomprimirle con la orden jar xvf src. jar 
Act ualment e el archivo se l lama src.zip , con lo que se puede descomprimir 
con cualquier programa capaz de manej ar archivos ZIP. 
documentación 
En http:/ / java.sun.com/ docs se encuent ra la document ación of icial de Java. 
La más int eresant e es la document ación del API de Java (clases est ándar de 
Java). Aunque inicialment e es convenient e pasar por Get Started . La única 
pega es que no hay document ación en cast el lano. 
Ot ra posibil idad (más recomendable incluso), es descargarse la document a-
ción en un archivo zip . De est a forma no dependeremos de la conexión a 
Int ernet para consul t ar la document ación of icial . Est o se puede real izar de la 
página de descarga ht t p: / / j ava.sun.com/ j avase/ downloads/ index. j sp 
(3.3.4) entornos de trabajo 
El código en Java se puede escribi r en cualquier edit or de t ext o. Y para 
compilar el código en byt ecodes, sólo hace fal t a descargar la versión del JDK 
deseada. Sin embargo, la escrit ura y compilación de programas hecha de est a 
forma es un poco incomoda. Por el lo numerosas empresas fabrican sus propios 
http://java.sun.com/javase/downloads/index.jsp�
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(23) 
ent ornos de edición, algunos incluyen el compilador y ot ras ut i l izan el propio 
JDK de Sun. 
Algunas vent aj as que of recen son: 
♦ Facil idades para escribi r código: coloreado de las palabras clave, 
aut ocorrección al escribir , abreviat uras,… 
♦ Facil idades de depuración, para probar el programa 
♦ Facil idad de conf iguración del sist ema. Elección concret a del 
direct orio del SDK, manipulación de la variable CLASSPATH, et c. 
♦ Facil idades para organizar los archivos de código. 
♦ Facil idad para export ar e import ar proyect os 
Los IDE más ut il izados en la act ual idad son: 
♦ Eclipse . Es un ent orno complet o de código abiert o que posee 
numerosas ext ensiones (incluido un módulo para JEE y ot ro para 
programar en C++) y posibil idades. Hoy en día es el más ut i l izado y 
recomendable. Posee una comunidad muy dinámica y desde luego es 
uno de los más pot ent es. Disponible en www.ecl ipse.org. 
♦ NetBean s. Ent orno grat uit o de código abiert o para la generación de 
código en diversos lenguaj es (especialment e pensado para Java). 
Cont iene práct icament e t odo lo que se suele pedir a un IDE, edit or 
avanzado de código, depurador, diversos lenguaj es, ext ensiones de 
t odo t ipo (CORBA, Servlet s, . . . ). Incluye además un servidor de 
apl icaciones Tomcat para probar apl icaciones de servidor. Se descarga 
en www.net beans.org. 
♦ JBuilder . Ent orno complet o creado por la empresa Borland (famosa 
por su lenguaj e Delphi ) para la creación de t odo t ipo de apl icaciones 
Java, incluidas apl icaciones para móviles. Es un ent orno muy pot ent e. 
♦ JDeveloper . De Oracle. Ent orno complet o para la const rucción de 
apl icaciones Java y XML. Uno de los más pot ent es y complet os (ideal 
para programadores de Oracle). 
♦ IntelliJ Idea. Ent orno comercial de programación bast ant e fácil de 
ut i l izar pero a la vez con caract eríst icas similares al rest o. Es menos 
pesado que los ant eriores y muy bueno con el código. 
♦ Microsoft Visual J++ y Visual J#. Ofrece un compilador recomendable 
para los conocedores de los ent ornos de desarrol lo de Microsoft (como 
Visual Basic por ej emplo), de hecho son lenguaj es int egrados en el 
Visual Studio y Visual Studio.Net respect ivament e. Pero el Java de 
Microsof t no es est ándar. El único uso que t iene es para aquel losprogramadores de Java que necesit an programar para la plat aforma 
.Net de Microsof t y que no desean aprender los lenguaj es propios de 
est a plat aforma como C# o Visual Basic por ej emplo. 
fundamentos de programación 
(unidad 3) programación básica en Java 
(24) 
En est e document o hay información sobre el manej o de Eclipse y de Netbeans 
para crear apl icaciones en Java (véanse los apéndices 1 y 2). 
(3.4) escritura de programas Java 
(3.4.1) codificación del texto 
Todos el código fuent e Java se escr iben en document os de t ext o con ext ensión 
. java . Por lo t ant o para escribirlo bast a cualquier edit or de t ext o como el bloc 
de notas de Windows o los edit ores vi o gedit de Linux. 
Al ser un lenguaj e mult iplat aforma y especialment e pensado para su 
int egración en redes, la codi f icación de t ext o ut i l iza el est ándar Unicode ; lo 
que impl ica que los programadores y programadoras hispanohablant es 
podemos ut il izar sin problemas símbolos de nuest ra lengua como la eñe o las 
vocales con t i ldes o diéresis a la hora de poner nombre a nuest ras var iables. 
La codif icación Unicode4
(3.4.2) notas previas 
 usa normalment e 16 bit s (2 byt es por caráct er) e 
incluye la mayoría de los códigos al fabét icos del mundo. 
Los archivos con código fuent e en Java deben guardarse con la ext ensión 
. j ava. Como se ha coment ado cualquier edit or de t ext o bast a para crearle. 
Algunos det al les import ant es son: 
♦ En j ava (como en C) hay di ferencia ent re mayúsculas y minúsculas. 
♦ Cada l ínea de código debe t erminar con ; 
♦ Una inst rucción puede abarcar más de una l ínea. Además se pueden 
dej ar espacios y t abuladores a la izquierda e incluso en el int er ior de 
la inst rucción para separar element os de la misma. 
♦ Los coment arios; si son de una l ínea debe comenzar con / / y si ocupan 
más de una l ínea deben comenzar con / * y t erminar con */ 
/ * Co m en t a r io 
d e v a r ia s lín ea s */ 
/ / Co m en t a r io d e un a lín ea 
También se pueden incluir coment arios javadoc (se expl ican en det al le 
más adelant e) 
 
 
4 Para más información acudir a http:/ /www.unicode.org 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(25) 
♦ A veces se marcan bloques de código, es decir código agrupado. Cada 
bloque comienza con { y t ermina con } 
{ 
 ...có d ig o d en t r o d el b loq ue 
} 
có d ig o fuer a d e l b loq ue 
(3.4.3) el primer programa en Java 
public class Prim e rProgram a 
{ 
 public s tatic vo id main(Strin g[ ] args) 
 { 
 Sys tem.out.println(“¡Mi primer programa!”); 
 } 
} 
Est e código sirve para escribir ¡Mi primer programa! en la pant al la. Para 
empezar a ent ender el código: 
♦ La primera l ínea (public class PrimerPrograma ) declara el nombre de 
la clase del código. Más adelant e se expl icará que signi f ica el concept o 
de clase; por ahora ent enderemos que el nombre de la clase es el 
nombre del programa. 
♦ La l ínea public stat ic void main(St ring args[ ] ) , si rve para indicar el 
inicio del mét odo main . Est e mét odo cont iene las inst rucciones que 
se ej ecut arán cuando el programa arranque. Es decir lo que est á t ras 
las l laves del main , es el programa en sí. 
♦ La inst rucción System.out .pr int ln si rve para escr ibir en pant al la. 
Como lo que escribimos es un t ext o, se encierra ent re comil las. 
Además, el archivo t iene que l lamarse obl igat oriament e PrimerPrograma. java 
ya que el nombre del programa (en real idad el nombre de la clase) y el del 
archivo deben coincidir. 
Por úl t imo, aunque no es obl igat or io, es más que aconsej able que el 
nombre del programa comience con una let ra mayúscula y le sigan let ras en 
minúsculas. Si const a de var ias palabras no pueden ut il izarse espacios en 
blanco, por lo que se suelen j unt ar las palabras poniendo cada inicial de la 
palabra en mayúsculas. 
Ést e t ipo de reglas no obl igat orias sino aconsej ables (como por ej emplo el 
hecho de que las inst rucciones int eriores a un bloque dej en espacio a su 
izquierda) producen un código más legible y sobre t odo hace que t odos los 
programadores del planet a adopt emos la misma forma de escribir , 
simpl if icando el ent endimient o del código. 
fundamentos de programación 
(unidad 3) programación básica en Java 
(26) 
(3.5) ejecución de programas Java 
(3.5.1) proceso de compilación desde la línea de comandos 
La compilación del código j ava se real iza mediant e el programa javac incluido 
en el sof t ware de desarrol lo de Java (el SDK). La forma de compilar es (desde 
la l ínea de comandos): 
javac archivo.java 
El resul t ado de est o es un archivo con el mismo nombre que el archivo j ava 
pero con la ext ensión class . Est o ya es el archivo con el código en forma de 
bytecode . Es decir con el código precompilado. 
Si el programa es ej ecut able (sólo lo son si cont ienen el mét odo main ), el 
código se puede int erpret ar usando el programa java del kit de desarrol lo (que 
se encuent ra en el mismo sit io que javac ). Sint axis: 
java archivoClass 
Est os comandos hay que escribi rlos desde la l ínea de comandos de en la 
carpet a en la que se encuent re el programa. Pero ant es hay que asegurarse de 
que los programas del kit de desarrol lo son accesibles desde cualquier carpet a 
del sist ema. Para el lo hay que haber conf igurado adecuadament e las var iables 
del sist ema (véase apart ado (3.3.3) inst alación del SDK). 
En el caso de Linux hay que ser especialment e cuidadoso con la var iable de 
sist ema CLASSPATH y asegurarnos de que cont iene en sus rut as raíces de Java 
el símbolo ". " (punt o) que represent a a la carpet a act ual . De ot ro modo la 
ej ecución del comando java podría fal lar. 
 
Ilustración 3-6, Ejemplo de compilación y ejecución en la línea de comandos 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(27) 
(3.6) javadoc 
Javadoc es una herramient a muy int eresant e del kit de desarrol lo de Java para 
generar aut omát icament e document ación Java. genera document ación para 
paquet es complet os o para archivos j ava. Su sint axis básica 
es: 
javado c archivo.java o paquete 
El funcionamient o es el siguient e. Los coment arios que comienzan con los 
códigos / ** se l laman coment arios de document o y serán ut i l izados por los 
programas de generación de document ación j avadoc. Los coment arios j avadoc 
comienzan con el símbolo / ** y t erminan con */ 
Cada l ínea j avadoc se suele iniciar con el símbolo de ast erisco para 
mej orar su legibil idad. Dent ro se puede incluir cualquier t ext o; incluso se 
pueden ut il izar códigos HTML para que al generar la document ación se t enga 
en cuent a el código HTML indicado. 
En el código j avadoc se pueden usar etiquetas especiales, las cuales 
comienzan con el símbolo @. Pueden ser: 
♦ @author . Tras esa palabra se indica el aut or del document o. 
♦ @version . Tras lo cual sigue el número de versión de la apl icación 
♦ @see. Tras est a palabra se indica una referencia a ot ro código Java 
relacionado con ést e. 
♦ @since . Indica desde cuándo est a disponible est e código 
♦ @deprecated . Palabra a la que no sigue ningún ot ro t ext o en la l ínea y 
que indica que est a clase o mét odo est a obsolet a u obsolet o. 
♦ @throws . Indica las excepciones que pueden lanzarse en ese código. 
♦ @param . Palabra a la que le sigue t ext o qué describe a los parámet ros 
que requiere el código para su ut i l ización (el código en est e caso es un 
mét odo de clase). Cada parámet ro se coloca en una et iquet a @param 
dist int a, por lo que puede haber varios @param para el mismo mét odo.♦ @return . Tras est a palabra se descr ibe los valores que devuelve el 
código (el código en est e caso es un mét odo de clase) 
El código j avadoc hay que colocarle en t res sit ios dist int os dent ro del código 
j ava de la apl icación: 
♦ Al principio del código de la clase (ant es de cualquier código Java). 
En est a zona se colocan coment arios generales sobre la clase o 
int erfaz que se crea mediant e el código Java. Dent ro de est os 
coment arios se pueden ut il izar las et iquet as: @author , @version , 
@see, @since y @deprecated 
fundamentos de programación 
(unidad 3) programación básica en Java 
(28) 
♦ Delante de cada método . Los mét odos describen las cosas que puede 
real izar una clase. Delant e de cada mét odo los coment arios j avadoc se 
usan para describi r al mét odo en concret o. Además de los 
coment arios, en est a zona se pueden incluir las et iquet as: @see, 
@param , @exception , @return , @since y @deprecated 
♦ Delante de cada atributo . Se describe para qué sirve cada at ribut o en 
cada clase. Puede poseer las et iquet as: @since y @deprecated 
Ej emplo: 
/ ** Es t o es un co m ent a r io p a r a p r o b a r e l ja v a d o c 
* es t e t exto a p a r ecer á en el a r ch iv o H TM L g en er a d o . 
* <s t r o n g >Rea liza d o en a g o s t o 20 0 3< / s t r o n g > 
* 
* @a ut h or Jor g e Sá n ch ez 
* @v er s io n 1.0 
*/ 
public class prueba1 { 
/ / Es t e co m en t a r io n o a p a recer á en e l ja v a d o c 
/ ** Es t e m éto d o co n t ien e e l có d ig o e jecu t a b le d e la cla se 
* 
* @p a r a m a r g s Lis t a d e a r g um en to s d e la línea d e co m a n d o s 
* @r et u r n v o id 
*/ 
 
 public s tatic vo id main(Strin g args[ ] ) { 
 System.out.println("¡Mi segundo programa! "); 
 } 
} 
Tras ej ecut ar la apl icación javadoc , aparece como resul t ado la página web de 
la página siguient e. 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(29) 
 
Ilustración 3-7, Página de documentación de un pro grama 
Java 
(3.7) import 
En cualquier lenguaj e de programación exist en l ibrerías que cont ienen código 
ya escrit o que nos facil it a la creación de programas. En el caso de Java no se 
l laman l ibrerías, sino paquet es. Los paquet es son una especie de carpet as que 
cont ienen clases ya preparadas y más paquet es. 
Cuando se inst ala el kit de desarrol lo de Java, además de los programas 
necesarios para compilar y ej ecut ar código Java, se incluyen miles de clases 
dent ro de cient os de paquet es ya l ist os que facil it an la generación de 
programas. Algunos paquet es sirven para ut i l izar funciones mat emát icas, 
fundamentos de programación 
(unidad 3) programación básica en Java 
(30) 
funciones de lect ura y escrit ura, comunicación en red, programación de 
gráf icos, . . . 
Por ej emplo la clase System est á dent ro del paquet e j ava. lang (paquet e 
básico) y posee el mét odo out .print ln que necesit amos para escr ibi r 
fácilment e por pant al la. 
Si quisiéramos ut il izar la clase Date que sirve para manipular fechas, 
necesit aríamos incluir una inst rucción que permit a incorporar el código de 
Dat e cuando compilemos nuest ro t rabaj o. Para eso sirve la inst rucción import . 
La sint axis de est a inst rucción es: 
im po rt paquete.subpaquete.subsubapquete....clase 
Est a inst rucción se coloca arriba del t odo en el código. Para la clase Date 
sería: 
im po rt java.util.Date; 
Lo que signif ica, import ar en el código la clase Date que se encuent ra dent ro 
del paquet e util que, a su vez, est á dent ro del gran paquet e l lamado java . 
También se puede ut il izar el ast erisco en est a forma: 
im po rt java.util.* ; 
Est o signi f ica que se va a incluir en el código t odas las clases que est án dent ro 
del paquet e util de java . 
En real idad no es obl igat orio incluir la palabra import para ut i l izar una 
clase dent ro de un paquet e, pero sin el la deberemos escribi r el nombre 
complet o de la clase. Es decir no podríamos ut il izar el nombre Date , sino 
java.ut il.Date . 
 
 
(3.8) variables 
(3.8.1) introducción 
Las variables son cont enedores que sirven para almacenar los dat os que ut i l iza 
un programa. Dicho más sencil lament e, son nombres que asociamos a 
det erminados dat os. La real idad es que cada variable ocupa un espacio en la 
memoria RAM del ordenador para almacenar el dat o al que se ref iere. Es decir 
cuando ut il izamos el nombre de la variable realment e est amos haciendo 
referencia a un dat o que est á en memoria. 
Las variables t ienen un nombre (un ident ificador ) que sólo puede cont ener 
let ras, números (pero no puede empezar el nombre con un número) y el 
caráct er de subrayado. El nombre puede cont ener cualquier caráct er Unicode 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(31) 
que simbol ice let ras (valen símbolos como la ñ, á,… no permit idos en la 
mayoría de lenguaj es por no ser part e del ASCII est ándar) 
(3.8.2) declaración de variables 
Ant es de poder ut i l izar una var iable, ést a se debe declarar. Lo cual se debe 
hacer de est a forma: 
tipo nombrevariable; 
Donde t ipo es el t ipo de dat os que almacenará la var iable (t ext o, números 
ent eros, . . . ) y nombrevariable es el nombre con el que se conocerá la 
variable. Ej emplos: 
in t días; / / d ía s es un n úm er o en ter o , s in d ecim a les 
bo o lean decisión; / / d ecis ió n só lo p ued e ser v er d a d er a o fa lsa 
También se puede hacer que la variable t ome un valor inicial al declarar: 
in t días=365; 
Y se puede declarar más de una variable a la vez del mismo t ipo en la misma 
l ínea si las separamos con comas 
in t días=365, año=23, semanas; 
Al declarar una var iable se puede incluso ut i l izar una expresión: 
in t a=13, b=18; 
in t c=a+b; / / es v á lid o , c v a le 31 
Java es un lenguaj e muy est rict o al ut i l izar t ipos de dat os. Variables de dat os 
dist int os son incompat ibles. Algunos aut ores hablan de lenguaje fuertemente 
t ipado o incluso lenguaje muy t ipif icado . Se debe a una t raducción muy 
direct a del inglés st rongly t yped referida a los lenguaj es que, como Java, son 
muy rígidos en el uso de t ipos. 
El caso cont rario sería el lenguaj e C en el que j amás se comprueban de 
manera est rict a los t ipos de dat os. 
Part e de le seguridad y robust ez de las que hace gala Java se deben a est a 
caract eríst ica. 
(3.8.3) asignación 
En Java para asignar valores a una var iable, bast a con ut i l izar el signo =. Ya se 
ha vist o en el apart ado ant erior que al declarar se puede asignar un valor: 
in t x=7; 
fundamentos de programación 
(unidad 3) programación básica en Java 
(32) 
Pero la asignación se puede ut il izar en cualquier moment o (t ras haber 
declarado la variable): 
in t x; 
x=7; 
x=x*2; 
Como se ve en la úl t ima l ínea ant erior, la expresión para dar el valor a la 
variable puede ser t an complej a como queramos. 
A diferencia de lenguaj es como C, en Java siempre se asigna una valor 
inicial a las variables en cuant o se declaran. En el caso de los números es el 
cero. 
in t x; / / x y a v a le cer o 
(3.9) tipos de datos primitivos 
Tipo de variable Bytes que ocupa Rango de valores 
boolean 2 true , false 
byte 1 -128 a 127 
short 2 -32.768 a 32.767 
int 4 -2.147.483.648 a 
2.147.483.649 
long 8 -9 · 1018 a 9 · 1018 
double 8 -1,79 · 10308 a 1,79 · 10308 
float 4 -3,4 · 1038 a 3,4 · 1038 
char 2 Caract eres (en Unicode) 
(3.9.1) enteros 
Los t ipos byte , short , int y long sirven para almacenar dat os ent eros. Los 
ent eros son números sin decimales. Se pueden asignar ent eros normales o 
enteros oct ales y hexadecimales. Los oct ales se indican ant eponiendo un cero 
al número, los hexadecimales ant eponiendo 0x . 
in t numero=16; / / 16 d ecim a l 
numero=020; / / 20 o ct a l=16 d ecim a l 
numero=0x14; / / 10 hexa d ecim a l=16 d ecim a l 
Normalment e un número l it eral se ent iende que es de t ipo int salvo si al f inal 
se le coloca la let ra L; se ent enderá ent onces que es de t ipo long. 
No se acept a en general asignar var iables de dist int o t ipo. Sí se pueden 
asignar valores de variables ent eras a variables ent eras de un t ipo superior 
(por ej emplo asignar un valor int a una variable long ). Pero al revés no se 
puede: 
in t i=12; 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(33) 
byte b=i; / / e r r o r d e co m p ila ción, p o s ib le p ér d id a d e p r ecis ión 
La solución es hacer un cast . Est a operación permit e convert ir valores de un 
t ipo a ot ro. Se usa así: 
in t i=12; 
byte b=(byte) i; / / El (ca st ) ev it a el e r r o r 
Hay que t ener en cuent a en est os cast ings que si el valor asignado sobrepasa el 
rango del element o, el valor convert ido no t endrá ningún sent ido ya que no 
puede almacenar t odos los bit s necesarios para represent ar ese número: 
in t i=1200; 
byte b=(byte) i; / / El v a lo r d e b n o t ien e sen t id o 
(3.9.2) números en coma flotante 
Los decimales se almacenan en los t ipos float y double . Se les l lama de coma 
f lot ant e por como son almacenados por el ordenador. Los decimales no son 
almacenados de forma exact a por eso siempre hay un posible error. En los 
decimales de coma f lot ant e se habla, por t ant o de precisión. Es mucho más 
preciso el t ipo double que el t ipo float . 
Para asignar valores l it erales a una variable de coma f lot ant e, hay que 
t ener en cuent a que el separador decimal es el punt o y no la coma. Es decir 
para asignar el valor 2,75 a la variable x se haría: 
x=2.75; 
A un valor l it eral (como 1.5 por ej emplo), se le puede indicar con una f al f inal 
del número que es f loat (1.5f por ej emplo) o una d para indicar que es 
double . Si no se indica nada, un número l i t eral siempre se ent iende que es 
double, por lo que al usar t ipos f loat hay que convert i r los l it erales. 
Los valores decimales se pueden represent ar en not ación decimal : 
1.345E+3 signif icaría 1,345·103 o lo que es lo mismo 1345. 
Lógicament e no podemos asignar valores decimales a t ipos de dat os 
ent eros: 
in t x=9.5; / / e r ro r 
Sí podremos mediant e un cast : 
in t x=(in t ) 9.5; 
pero perderemos los decimales (en el ej emplo, x vale 9). El caso cont rario sin 
embargo sí se puede hacer: 
in t x=9; 
do uble y=x; / / co r rect o 
fundamentos de programación 
(unidad 3) programación básica en Java 
(34) 
la razón es que los t ipos de coma f lot ant e son más grandes que los ent eros, 
por lo que no hay problema de pérdida de valores. 
Al declarar números del t ipo que sean, si no se indican valores iniciales, Java 
asigna el valor cero. 
(3.9.3) booleanos 
Los valores booleanos (o lógicos) sirven para indicar si algo es verdadero (t rue ) 
o falso (false ). 
bo o lean b=true ; 
Si al declarar un valor booleano no se le da un valor inicial , se t oma como 
valor inicial el valor false . Por ot ro lado, a diferencia del lenguaj e C, no se 
pueden en Java asignar números a una variable boole ana (en C, el valor 
false se asocia al número 0, y cualquier valor dist int o de cero se asocia a 
t rue ). 
Tampoco t iene sent ido int ent ar asignar valores de ot ros t ipos de dat os a 
variables booleanas mediant e cast ing: 
bo o lean b=(bo o lean) 9; / / n o t ien e sen t id o 
(3.9.4) caracteres 
Los valores de t ipo caráct er sirven para almacenar símbolos de escrit ura (en 
Java se puede almacenar cualquier código Unicode). Los valores Unicode son 
los que Java ut i l iza para los caract eres. Ej emplo: 
char letra; 
letra=’C’; / / Lo s ca r a ct er es v a n en t r e com illa s 
letra=67; / / El có d ig o Un ico d e d e la C es el 6 7. Es t a lín ea 
 / / h a ce lo m ism o q ue la a n t er io r 
También hay una serie de caract eres especiales que van precedidos por el 
símbolo \ , son est os: 
carácter significado 
\b Ret roceso 
\ t Tabulador 
\n Nueva l ínea 
\ f Al iment ación de página 
\ r Ret orno de carro 
\ ” Dobles comil las 
\ ’ Comillas simples 
\ \ Barra incl inada (backslash ) 
\udddd Las cuat ro let ras d, son en real idad números en hexadecimal . 
Represent a el caráct er Unicode cuyo código es represent ado 
por las dddd 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(35) 
(3.9.5) conversión entre tipos (casting) 
Ya se ha coment ado ant eriorment e la necesidad de uso del operador de 
cast ing para poder real izar asignaciones ent re t ipos dist int os. Como resumen 
general del uso de cast ing véanse est os ej emplos: 
in t a;byte b=12; 
a=b; 
El código ant erior es correct o porque un dat o byte es más pequeño que uno 
int y Java le convert i rá de forma implícit a. Lo mismo pasa de int a double por 
ej emplo. Sin embargo en: 
in t a=1; 
byte b; 
b=a; 
El compilador devolverá error aunque el número 1 sea vál ido para un dat o 
byt e. Para el lo hay que hacer un cast ing . Eso signi f ica poner el t ipo deseado 
ent re parént esis delant e de la expresión. 
in t a=1; 
byte b; 
b= (byte) a; / / cor r ecto 
En el siguient e ej emplo: 
byte n1=100, n2=100, n3; 
n3= n1 * n2 /100; 
Aunque el resul t ado es 100, y ese resul t ado es vál ido para un t ipo byt e; lo que 
ocurrirá en real idad es un error. Eso es debido a que la mult ipl icación 100 * 
100 da como resul t ado 10000, es decir un número de t ipo int . Aunque luego 
se divide ent re 100, no se vuelve a convert ir a byt e; ya que ante cualquier 
operación el t ipo resultante siempre se corresponde con el t ipo más grande 
que intervenga en la operación . Lo correct o sería: 
n3 = (byte) (n1 * n2 / 100); 
(3.9.6) ámbito de las variables 
Toda variable t iene un ámbito . Est o es la part e del código en la que una 
variable se puede ut il izar. De hecho las variables t ienen un ciclo de vida: 
(1) En la declaración se reserva el espacio necesario para que se puedan 
comenzar a ut i l izar (digamos que se avisa de su fut ura exist encia) 
(2) Se la asigna su primer valor (la variable nace ) 
(3) Se la ut i l iza en diversas sent encias 
fundamentos de programación 
(unidad 3) programación básica en Java 
(36) 
(4) Cuando f inal iza el bloque en el que fue declarada, la variable muere . Es 
decir, se l ibera el espacio que ocupa esa var iable en memoria. No se la 
podrá volver a ut i l izar. 
Una vez que la variable ha sido el iminada, no se puede ut il izar. Dicho de ot ro 
modo, no se puede ut il izar una variable más al lá del bloque en el que ha sido 
def inida. Ej emplo: 
{ 
 in t x=9; 
} 
in t y=x; / / er r o r , y a n o exis t e x 
(3.10) operadores 
(3.10.1) introducción 
Los dat os se manipulan muchas veces ut i l izando operaciones con el los. Los 
dat os se suman, se rest an, . . . y a veces se real izan operaciones más 
complej as. 
(3.10.2) operadores aritméticos 
Son: 
operador significado 
+ Suma 
- Rest a 
* Product o 
/ División 
% Módulo (rest o) 
Hay que t ener en cuent a que el resul t ado de est os operadores varía 
not ablement e si usamos ent eros o si usamos números de coma f lot ant e. 
Por ej emplo: 
do uble resultado1, d1=14, d2=5; 
in t resultado2, i1=14, i2=5; 
 
resultado1= d1 / d2; 
resultado2= i1 / i2; 
resultado1 valdrá 2.8 mient ras que resultado2 valdrá 2. 
 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(37)Es más incluso: 
do uble resultado; 
in t i1=7,i2=2; 
resultado=i1/ i2; / / Resu lt a d o v a ld r á 3 
resultado=(do uble)i1/ i2; / / Resu lt a d o v a ld r á 3 .5 
El operador del módulo (%) si rve para calcular el rest o de una división ent era. 
Ej emplo: 
in t resultado, i1=14, i2=5; 
 
resultado = i1 % i2; / / El r esu lt a d o ser á 4 
El módulo sólo se puede ut il izar con t ipos ent eros 
 
(3.10.3) operadores condicionales 
Sirven para comparar valores. Siempre devuelven valores booleanos. Son: 
operador significado 
< Menor 
> Mayor 
>= Mayor o igual 
<= Menor o igual 
== Igual 
!= Dist int o 
! No lógico (NOT) 
&& “ Y” lógico (AND) 
| | “ O” lógico (OR) 
Los operadores lógicos (AND, OR y NOT), sirven para evaluar condiciones 
complej as. NOT sirve para negar una condición. Ej emplo: 
bo o lean mayorDeEdad, menorDeEdad; 
in t edad = 21; 
mayorDeEdad = edad >= 18; / / m a y o r DeEd a d ser á t r ue 
menorDeEdad = !mayorDeEdad; / / m eno r DeEd a d ser á fa lse 
El operador && (AND) sirve para evaluar dos expresiones de modo que si 
ambas son ciert as, el resul t ado será t rue sino el resul t ado será false . Ej emplo: 
bo o lean carnetConducir=true; 
in t edad=20; 
bo o lean puedeConducir= (edad>=18) && carnetConducir; 
/ / Si la ed a d es d e a l m en o s 18 a ño s y ca r n et Co n d ucir es 
/ / t r ue , p ued eCon d ucir es t r ue 
fundamentos de programación 
(unidad 3) programación básica en Java 
(38) 
El operador | | (OR) sirve t ambién para evaluar dos expresiones. El resul t ado 
será t rue si al menos uno de las expresiones es t rue . Ej emplo: 
bo o lean n ieva =true , llueve=fa lse, graniza=fa lse; 
bo o lean malTiempo= nieva | | llueve | | graniza; 
(3.10.4) operadores de BIT 
Manipulan los bit s de los números. Son: 
operador significado 
& AND 
| OR 
~ NOT 
^ XOR 
>> Desplazamiento a la derecha 
<< Desplazamiento a la izquierda 
>>> Desplazamiento derecha con relleno de ceros 
<<< Desplazamiento izquierda con rel leno de ceros 
(3.10.5) operadores de asignación 
Permit en asignar valores a una variable. El fundament al es “ =” . Pero sin 
embargo se pueden usar expresiones más complej as como: 
x += 3; 
En el ej emplo ant erior lo que se hace es sumar 3 a la x (es lo mismo x+=3 , 
que x=x+3 ). Eso se puede hacer t ambién con t odos est os operadores: 
+= -= *= / = 
&= | = ^= %= 
>>= <<= 
También se pueden concat enar asignaciones (aunque no es muy recomenda-
ble): 
x1 = x2 = x3 = 5; / / t o d a s v a len 5 
Ot ros operadores de asignación son “ ++” (increment o) y “ --“ (decrement o). 
Ej emplo: 
x++ ; / / es t o es x=x+1; 
x--; / / es t o es x=x-1; 
Pero hay dos formas de ut i l izar el increment o y el decrement o. Se puede usar 
por ej emplo x++ o ++x 
La diferencia est riba en el modo en el que se comport a la asignación. 
 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(39) 
Ej emplo: 
in t x=5, y=5, z; 
z=x++ ; / / z v a le 5, x v a le 6 
z=++y; / / z v a le 6 , y v a le 6 
(3.10.6) operador ? 
Est e operador (conocido como if de una l ínea) permit e ej ecut ar una 
inst rucción u ot ra según el valor de la expresión. Sint axis: 
expresionlogica?valorSiVerdadero:valorSiFalso; 
Ej emplo: 
paga=(edad>18)?6000:3000; 
En est e caso si la var iable edad es mayor de 18, la paga será de 6000, sino será 
de 3000. Se evalúa una condición y según es ciert a o no se devuelve un valor u 
ot ro. Nót ese que est a función ha de devolver un valor y no una expresión 
correct a. Es decir, no funcionaría: 
(edad>18)? paga=6000: paga=3000; / / ERROR!!!! 
(3.10.7) precedencia 
A veces hay expresiones con operadores que resul t an confusas. Por ej emplo 
en: 
resultado = 8 + 4 / 2; 
Es dif ícil saber el resul t ado. ¿Cuál es? ¿seis o diez? La respuest a es 10 y la 
razón es que el operador de división siempre precede en el orden de ej ecución 
al de la suma. Es decir, siempre se ej ecut a ant es la división que la suma. 
Siempre se pueden usar parént esis para forzar el orden deseado: 
resultado = (8 + 4) / 2; 
Ahora no hay duda, el resul t ado es seis. No obst ant e el orden de precedencia 
de los operadores Java es: 
nivel operador 
1 () [] . 
2 ++ -- ~ ! 
3 * / % 
4 + - 
5 >> >>> << <<< 
6 > >= < <= 
fundamentos de programación 
(unidad 3) programación básica en Java 
(40) 
nivel operador 
7 == != 
8 & 
9 ^ 
10 | 
11 && 
12 | | 
13 ?: 
14 = +=, -=, *=, . . . 
En la t abla ant erior los operadores con mayor precedencia est á en la part e 
superior, los de menor precedencia en la part e inferior. De izquierda a 
derecha la precedencia es la misma. Es decir, t iene la misma precedencia el 
operador de suma que el de rest a. 
Est o úl t imo provoca conf l ict os, por ej emplo en: 
resultado = 9 / 3 * 3; 
El resul t ado podría ser uno ó nueve. En est e caso el resul t ado es nueve, 
porque la división y el product o t ienen la misma precedencia; por el lo el 
compilador de Java real iza primero la operación que est e más a la izquierda, 
que en est e caso es la división. 
Una vez más los parént esis podrían evit ar est os conf l ict os. 
(3.11) constantes 
Una const ant e es una variable de sólo lect ura. Dicho de ot ro modo más 
correct o, es un valor que no puede variar (por lo t ant o no es una variable ). 
La forma de declarar const ant es es la misma que la de crear variables, sólo 
que hay que ant eponer la palabra final que es la que indica que est amos 
declarando una const ant e y por t ant o no podremos variar su valor inicial : 
fin al do uble PI=3.141591; 
PI=4; / / Er r o r , n o p o d em o s ca m b ia r el v a lo r d e PI 
Como medida aconsej able (aunque no es obl igat oria, sí al t ament e recomen-
dable), los nombres de las const ant es deberían ir en mayúsculas. 
 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(41) 
(3.12) lectura y escritura por teclado 
(3.12.1) escritura 
Ya hemos vist o que hay una función para escribir que es System.out .print ln . 
Dicha función puede recibir como parámet ro cualquier t ipo básico de dat os: es 
decir puede recibir un t ext o l it eral (siempre ent re comil las), pero t ambién 
puede escr ibir expresiones ent eras, booleanas, decimales y caract eres 
simples. 
Ej emplo: 
in t a=5, b=9; 
do uble c=5.5; 
 
Sys tem.out.println("Este es un texto literal"); 
Sys tem.out.println(a+b); / / Escr ib e 14 
Sys tem.out.println(c*c); / / Escr ib e 30 .25 
Sys tem.out.println(a<c);/ / Escr ib e t r ue 
Est a función t ras escr ibir añade un sal t o de l ínea, de modo que lo siguient e 
que se escriba saldrá en ot ra l ínea. Exist e una variant e de est a función que no 
insert a el sal t o de l ínea es System.out .prin t : 
Sys tem.out.print("todo en la "); 
Sys tem.out.print("misma línea "); 
Si deseamos que el mismo print ln o print escriba varios valores en la misma 
inst rucción, podemos usar el operador de encadenar t ext os, ej emplo: 
in t a=5, b=9; 
Sys tem.out.println("La suma es "+(a+b)); 
Es necesario usar parént esis ya que se ut i l iza en la expresión el operador + con 
dos signif icados. Est e operador concat ena cuando al menos hay un t ext o a la 
izquierda o derecha del operador; y suma cuando t enemos dos números (del 
t ipo que sea). 
(3.12.2) lectura 
La lect ura en Java es mucho más compl icada. Leer de la consola de sal ida 
requiere manej ar muchos conocimient os que pert enecen a t emas más 
avanzados que el act ual . 
Una forma no t an compl icada (aunque desde luego no es t an sencil la como 
la escrit ura) es ut i l izar la clase JOptionPane . Dicha clase pert enece al 
paquet e javax.swing , por lo que para ut i l izarla sin t ener que escr ibir el 
nombrecomplet o conviene usar la inst rucción: 
im po rt javax.swing.JOptio n Pane; 
fundamentos de programación 
(unidad 3) programación básica en Java 
(42) 
Est a es una clase pensada para manej ar cuadros de diálogo de t ipo Swing 
(véase t ema ¡Error! No se encuentra el origen de la referencia. ¡Erro r! No 
se encuentra el origen de la referencia. ). Uno de est os cuadros permit e 
int roducir dat os y que una variable les almacene. El problema es que t odos los 
dat os les devuelve en forma de String ( t ext o), lo que impl ica almacenarles en 
una variable de ese t ipo y luego convert irlos al t ipo apropiado (int , double , 
char ,…). Ej emplo: 
Strin g texto=JOption Pan e.showInputDialog("Escriba un número entero"); 
in t n=In tege r.parseInt(texto); 
Evident ement e est e código no es fácil . Para expl icar vamos l ínea a l ínea: 
♦ En la pr imera l ínea, la variable t exto almacena lo que el usuario 
escriba en el cuadro de mensaj e. JOpt ionPane.showInputDialog es la 
función que permit e sacar el cuadro de mensaj e. "Escriba un número 
entero" es el t ext o que present a el mensaj e. Es decir el resul t ado de 
est a inst rucción es: 
 ♦ En cuant o el usuario o usuaria escr iba el número y lo acept en (bot ón 
Aceptar ), lo escrit o se almacena en la variable t exto 
♦ En la segunda l ínea, la función Integer.parseInt sirve para convert ir el 
número escrit o a forma de ent ero int . Sin est a conversión no podemos 
manipular lo escrit o como número, ya que se considera un t ext o (un 
St ring). 
♦ Si el usuario cancela el cuadro o bien no escribe un número ent ero, 
ocurre un error que provocará que el programa f inal ice la ej ecución. 
Arreglar est os errores será algo que veremos más adelant e 
Aunque el código es un t ant o crípt ico a est as al t uras, merece la pena 
aprenderle ya que permit e más posibil idades de hacer programas para 
pract icar. De ot ro modo no t endremos manera de leer dat os por t eclado y eso 
supone una t ara import ant e para nuest ros programas. 
Hay que señalar que hay más funciones de conversión, se pueden apreciar 
en est a t abla: 
Función Conviert e a 
Integer.parseInt int 
Short.parseShort short 
Byte.parseByte byte 
Long.parseLong long 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(43) 
Float.parseFloat float 
Double.parseDouble double 
Boolean.parseBoolean boolean 
 
Hay que t ener cuidado con las mayúsculas, son obl igat orias donde aparezcan. 
(3.13) la clase Math 
Se echan de menos operadores mat emát icos más pot ent es en Java. Por el lo se 
ha incluido una clase especial l lamada Math dent ro del paquet e java. lang . 
Para poder ut i l izar est a clase, se debe incluir est a inst rucción (aunque 
normalment e no es necesario porque t odo el paquet e j ava. lang ya est ará 
incluido en nuest ro código): 
im po rt java.lan g.Math ; 
Est a clase posee mét odos muy int eresant es para real izar cálculos mat emát icos 
complej os. Por ej emplo: 
do uble x= Math . pow(3,3); / / x es 33, es d ecir 27 
Math posee dos const ant es, que son: 
constante significado 
double E El número e (2, 7182818245. . .) 
double PI El número ∏ (3,14159265. . .) 
 
Por ot ro lado posee numerosos mét odos que son: 
operador significado 
double ceil (double x) Redondea x al ent ero mayor siguient e: 
♦ Mat h.ceil (2.8) vale 3 
♦ Mat h.ceil (2.4) vale 3 
♦ Mat h.ceil (-2.8) vale -2 
double floor (double x) Redondea x al ent ero menor siguient e: 
♦ Mat h. f loor(2.8) vale 2 
♦ Mat h. f loor (2.4) vale 2 
♦ Mat h. f loor (-2.8) vale -3 
int round (double x) Redondea x de forma clásica: 
♦ Mat h. round(2.8) vale 3 
♦ Mat h. round (2.4) vale 2 
♦ Mat h. round (-2.8) vale -3 
fundamentos de programación 
(unidad 3) programación básica en Java 
(44) 
operador significado 
double rint( double x) Idént ico al ant erior, sólo que ést e mét odo da 
como resul t ado un número double mient ras 
que round da como resul t ado un ent ero t ipo 
int 
double random() Número aleat orio decimal sit uado ent re el 0 y 
el 1 
t iponúmero abs( t iponúmero x) Devuelve el valor absolut o de x. 
t iponúmero min( t iponúmero x, 
 t iponúmero y) 
Devuelve el menor valor de x o y 
t iponúmero max( t iponúmero x, 
 t iponúmero y) 
Devuelve el mayor valor de x o y 
double sqrt( double x) Calcula la raíz cuadrada de x 
double pow( double x, double y) Calcula xy 
double exp( double x) Calcula ex 
double log( double x) Calcula el logarit mo neperiano de x 
double acos( double x) Calcula el arco coseno de x 
double asin( double x) Calcula el arco seno de x 
double atan( double x) Calcula el arco t angent e de x 
double sin( double x) Calcula el seno de x 
double cos( double x) Calcula el coseno de x 
double tan( double x) Calcula la t angent e de x 
double toDegrees( 
 double anguloEnRadianes) 
Conviert e de radianes a grados 
double toRadians( 
 double anguloEnGrados) 
Conviert e de grados a radianes 
double signum (double n) Devuelve el valor del signo del número n. Si n 
vale cero, la función devuelve cero; si es 
posit ivo devulve 1.0 y si es negat ivo -1.0 
Est a función apareción en la versión 1.5 de 
Java. 
double hypot( 
 double x, double y) 
Suponiendo que x e y son los dos cat et os de un 
t r iángulo rect ángulo, la función devuelve la 
hipot enusa correspondient e según el t eorema 
de Pit ágoras. Disponible desde la versión 1.5 
double nextAfter ( 
 double valor, double dir) 
Devuelve el siguient e número represent able 
desde el valor indicado hacia la dirección que 
indique el valor del parámet ro dir . 
Por ej emplo Math.nextAfter(34.7, 90) 
devolvería 34.7000000001 
Función añadida en la versión Java 1.6 
 
 
 
1er curso de administración de sistemas informáticos 
aut or: Jorge Sánchez – www. j orgesanchez.net 
(45) 
(3.13.2) números aleatorios 
Una de las apl icaciones más int eresant es de Math es la posibil idad de crear 
números aleat orios. Para el lo se ut i l iza el mét odo random que devuelve un 
número double ent re cero y uno. 
Para conseguir un número decimal por ej emplo ent re cero y diez bast aría 
ut i l izar la expresión: 
Math .random()*10 
Si el número queremos que se encuent re ent re uno y diez, sería: 
Math .random()*9+1 
Y si queremos que sea un número ent ero ent re 1 y 10, la expresión correct a 
es: 
(in t ) Math .floor(Math .random()*10+1) 
Ent re 10 y 30 sería: 
 
(in t ) Math .floor(Math .random()*21+10) 
fundamentos de programación 
(unidad 3) programación básica en Java 
(46) 
Apéndice (I) 
Eclipse 
(I.i) entornos de desarrollo integrado (IDE) 
Los IDE son sof t ware que permit en a los programadores crear apl icaciones 
de forma cómoda. En est e anexo se expl ica brevement e como empezar a 
t rabaj ar con Ecl ipse. Est e capít ulo no pret ende ser una guía complet a de 
Ecl ipse sino expl icar lo mínimo para ut i l izar cómodament e Ecl ipse a f in de 
ut i l izarle como sof t ware básico de creación de apl icaciones en Java. 
Ecl ipse int egra edit ores para escribir código, compilación y ej ecución desde 
el propio ent orno, depuración, diseño asist ido para crear el int erfaz de la 
apl icación y casi cualquier herramient a int eresant e para programar en Java (o 
en ot ros lenguaj es, aunque desde luego el núcleo de desarrol lo de Ecl ipse es 
Java). 
Ecl ipse es el nombre del ent orno de desarrol lo int egrado más popular de la 
act ual idad para programar en Java. 
Ecl ipse se def ine a sí misma en la página of icial www.ecl ipse.org como una 
comunidad basada en los modelos de código abierto , que desarrolla 
proyecto, plataformas y herramientas para crear, di señar y administ rar 
sof tware cubriendo todo el ciclo de vida de la apli cación . Eclipse es una

Continuar navegando

Materiales relacionados

462 pag.
null-5

SIN SIGLA

User badge image

Stiven Fajardo

274 pag.
922 pag.
La Biblia del Java

SIN SIGLA

User badge image

rodrigomatias14587