Upload
miguel
View
240
Download
0
Embed Size (px)
Citation preview
7/25/2019 Prog. Java Nivel I
1/85
PROGRAMACION JAVA NIVEL I
Objetivos
Los fundamentos de programacin nos van a servir para desarrollar programas en
distintos lenguajes. Este curso aplica los conocimientos de algoritmia y anlisis a un
lenguaje de alto nivel como es Java, completando la formacin bsica y permitiendo
introducirnos en un lenguaje.
Destinatarios
Cualquier persona que tenga suficientes conocimientos de algoritmia. Especialmente
dirigido a personas que hayan realizado los cursos "Bases de la programacin Nivel I y
II", pero tambin til para programadores que quieran introducirse a Java.
Contenidos
INTRODUCCIN A PROGRAMA CIN ORIENTADA A OBJETOS Y A JAVA
INSTALACIN. ENTORNO DE PROGRAM ACIN. LA AYUDA DE JAVA.
VARIABLES CON JAVA. ESCRITURA DE CDIGO.
ESTRUCTU RAS DE DECISIN Y DE REPETICIN (BUCLES) CON JAVA.
INSTRUCCIONES LEER Y GUARDAR. INTRODUCCIN A ARCHIVOS.
CONTADORES Y OTRAS HERRAMIENTAS CON JAVA.
PROGRAMACIN POR MD ULOS (MTODOS) CON JAVA.
VERIFICACIN DE ALGORITMO S CON JAVA.
ERRORES. GENERAR UN PROGRAM A EJECUTABLE. EJERCICIOS.
Duracin
120 horas de dedicacin efectiva, incluyendo lecturas, estudio y ejercicios.
Direccin, modalidades y certificados
El curso est dirigido por Walter Sagstegui Lescano, Ingeniero Informtico de
aprenderaprogramar.com. Se oferta bajo las modalidades web (gratuito) o con tickets
de soporte.
7/25/2019 Prog. Java Nivel I
2/85
Introduccin. Java, lenguajepotente y popular. (CU00501A)Seccin: Cursos
Categora: Curso Lenguaje de programacin Java nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n1 del curso Lenguaje de programacin Java Nivel I.
10
7/25/2019 Prog. Java Nivel I
3/85
CONSIDERACIONES PREVIAS
En este curso emplearemos el Lenguaje de Programacin Java para aplicar los conceptos y
conocimientos de fundamentos de programacin a un lenguaje concreto. Puedes utilizar este curso
para aplicar conocimientos previos y conocer aspectos bsicos de programacin orientada a objetos,pero no recomendaramos seguirlo si buscas un desarrollo en profundidad y metdico sobre estas
materias. No vamos a entrar en definiciones ni en consideraciones abstractas. Tampoco vamos a seguir
lo que sera un guin completo de estudio sobre el lenguaje Java. Dejaremos de lado los aspectos
estticos: el mundo de las formas de presentacin, los colores, imgenes, efectos visuales, etc. Es
atractivo y parte ms o menos importante de los programas, pero no es nuestro objetivo. Nos vamos a
centrar en los "esqueletos" de los programas: el cdigo que hace que funcionen, no el que hace que
sean bonitos.
Cabe hablar del lenguaje a utilizar en el desarrollo de programas. El conjunto de lenguajes y
versiones de lenguajes constituyen una torre de Babel, un conglomerado de difcil seguimiento einterpretacin. Lo ms habitual es decantarse por estudiar lenguajes que adquieren popularidad y un
uso extendido por todo el mundo, como es Java. Pero incluso despus de este ejercicio hay que
enfrentarse a la evolucin del lenguaje a travs de sus diversas versiones. En Java todas las versiones
siguen los mismos estndares de datos, esto permite que un programa que hayamos hecho con una
versin antigua, pueda ser ejecutado con una versin ms nueva sin necesidad de ningn cambio.
Nuestra opinin consiste en que es preferible dejar esa carrera loca, quizs necesaria, para los
programadores profesionales y empresas, mientras que los usuarios podemos contentarnos con
programas que funcionen, aunque sean un poco "antiguos". Por tanto, respecto a qu versin de Java
usar, usa la que quieras. Si no coincide con la que hemos usado nosotros (JDK 1.6.0_18) no pasa nada.Notars que los ejercicios aqu desarrollados no tendrn problemas incluso con la versin JDK 1.6.0_14,
que tomaremos como la versin mnima a emplear ya que las anteriores suponen algunos cambios ms
significativos. No obstante, tambin puedes usar versiones ms antiguas haciendo pequeas
adaptaciones a los programas.
Citaremos tambin que existen distintas formas de programar en Java: la ms bsica es usar el
compilador (programa que permite que el ordenador entienda las instrucciones que le demos en
lenguaje Java, ya que el ordenador no entiende directamente los lenguajes de programacin). Otras
opciones son el uso de entornos visuales como Eclipse, NetBean, etc. que se han hecho muy populares,
son gratuitos y muy tiles. Nosotros vamos a usar el compilador, tambin de distribucin gratuita,porque pensamos que es la mejor manera de aprender Java: aprender sus fundamentos. Cuando ya
tengamos los fundamentos, podemos pasar a usar un entorno visual que nos permitir crear programas
ms atractivos y de forma ms rpida, pero tratar de usarlos directamente pensamos que no es lo ms
didctico.
En resumen, los lenguajes evolucionan de forma constante, pero detrs de los aparentes
cambios casi siempre se encuentra el mismo "fondo".
Si despus de todo, sigues dudando del lenguaje que mejor se adecua a tus necesidades, te
animamos a que profundices en Java. Vers que se trata de un lenguaje til para casi todo tipo de
problemas. Podemos citar como funcionalidades de Java varias:
7/25/2019 Prog. Java Nivel I
4/85
1. Aplicaciones "cliente": son las que se ejecutan en un solo ordenador (por ejemplo el porttil
de tu casa) sin necesidad de conectarse a otra mquina. Pueden servirte por ejemplo para realizar
clculos.
2. Aplicaciones "cliente/servidor": son programas que necesitan conectarse a otra mquina
(por ejemplo un servidor de datos) para pedirle algn servicio que le pueda ofrecer, como podra ser el
uso de una base de datos.
3. Podemos hablar tambin de "aplicaciones web", que son programas Java que se ejecutan en
un servidor. Estas aplicaciones reciben "solicitudes" desde un ordenador y envan al navegador
(Internet Explorer, Mozilla, Opera, etc) que acta como su cliente pginas de respuesta en HTML.
stos son slo algunos ejemplos de todo el potencial que hay detrs de Java como lenguaje
para aprender y obtener muchos beneficios con su uso. Obviamente por determinados trminos
empleados (cliente, cliente/servidor, base de datos, HTML..), te dars cuenta de que el lenguaje Java
tiene mucha potencialidad, pero tambin de que su conocimiento a fondo requerira mucho tiempo.Nosotros en este curso vamos a estudiar nicamente los aspectos ms bsicos de Java.
INTRODUCCIN A PROGRAMACIN ORIENTADA A OBJETOS
La programacin orientada a objetos (POO) se populariz en la dcada de los 90 desplazando a
la programacin estructurada tradicional, no para eliminarla o dejarla obsoleta, sino para construir
sobre ella. Su xito ha radicado en facilitar y simplificar la construccin de programas y su
mantenimiento. Esta concepcin de la programacin se ha impuesto a casi todos los niveles, lo cual noquiere decir que no se puedan usar lenguajes que no la contemplen, y lograr con ellos resultados tiles
y eficaces. Todos los conocimientos previos que tengamos sobre algoritmia y programacin
estructurada sern de utilidad para profundizar en programacin orientada a objetos, aunque
obviamente tendremos que aadir nuevos conocimientos.
La caracterstica principal de la programacin orientada a objetos es el uso de objetos. Un
objeto es la combinacin de cdigo y datos. Un mdulo (paquete de cdigo) se ejecutar en base a que
est asociado a un objeto y no de forma libre. A efectos prcticos, veremos los objetos como elementos
prefabricados a los que dotamos de sentido. Supongamos que somos fabricantes de naves
prefabricadas. Montamos la nave (objeto), la dotamos de personal y maquinaria con una, dos o treslneas de proceso (cdigo) y damos instrucciones precisas sobre qu se debe hacer cuando se
transmitan determinados mensajes a la nave (p. ej. "fabricar pan"), en funcin del contenido o
existencias de la nave (datos). La forma de pensar ha variado respecto a la programacin tradicional. En
primer lugar, ahora no tenemos que construir la nave, puesto que disponemos de ella prefabricada. No
vamos a generar instrucciones sobre lo que debe pasar, sino sobre lo que hay que hacer en funcin de
los mensajes que se reciban. Por ltimo, los datos no van a viajar libres, sino que van a estar vinculados
a objetos portadores de datos.
Antes que adentrarnos en un desarrollo terico sobre propiedades de la programacin
orientada a objetos vamos a preferir, siendo prcticos, empezar a hablar de Java.
7/25/2019 Prog. Java Nivel I
5/85
INTRODUCCIN A JAVA
Java es un lenguaje de programacin creado por la compaa Sun. Antes de su lanzamiento al
mercado, como demostracin de que se trataba de un lenguaje potente, la empresa desarroll el
navegador "HotJava". Este navegador estaba construido utilizando el lenguaje Java. Fue mostrado enmayo de 1995 y a principios de 1996 se lanz la primera versin del lenguaje. Esta versin introdujo
caractersticas novedosas con respecto a otros lenguajes de programacin que hicieron que Java
pudiera calificarse de lenguaje innovador. La principal novedad introducida fue que Java es
independiente del hardware y del sistema operativo en que se ejecute. Es decir, Java es independiente
de la plataforma: los programas Java no se ejecutan en nuestra mquina real (en nuestro ordenador o
servidor) sino que Java simula una mquina virtual con su propio hardware y sistema operativo. Y es en
esta mquina virtual simulada donde se ejecuta Java. Esto permite que Java pueda ejecutarse en una
mquina con el Sistema Operativo Unix, Windows, Linux o cualquier otro, porque en realidad no va a
ejecutarse en ninguno de los sistemas operativos, sino en su propia mquina virtual que se instala
cuando se instala Java.
La mquina virtual era la razn principal que diferenciaba a Java de otros lenguajes cuando
irrumpi en el mercado de los lenguajes de programacin. Otra razn de su gran xito ha sido que
cuando surgi se convirti en un lenguaje ms orientado a objetos que todos los otros lenguajes
existentes. Adems cabe destacar su potencia y el permitir crear programas de aspecto y
funcionamiento muy similar al tambin muy popular "entorno Windows". Esto afianz su
reconocimiento como un lenguaje de programacin innovador.
Java es un lenguaje que se apoya en objetos. A nivel terico se podra distinguir entre
programacin orientada a objetos, programacin basada en objetos o programacin que utiliza objetos.No vamos a entrar en este tipo de disquisiciones. Hablaremos simplemente de programacin orientada
a objetos o POO. A nivel prctico lo que nos interesa es disponer de objetos que podemos insertar en
nuestros programas sin tener que teclear una sola lnea de cdigo y que esos objetos nos van a hacer
fcil y cmoda la programacin.
El usuario de Java se enfrenta a una larga lista de trminos como pueden ser: atributo, ventana,
componente, evento, mtodo, argumento, operador, instruccin, etc. que inicialmente pueden resultar
un tanto abrumadores por su variedad y carcter abstracto. Trataremos de evitar el uso de
"terminologa abstracta" en la medida de lo posible, pero necesariamente habremos de enfrentarnos a
ella y utilizarla. Una forma sencilla de hacerlo es "aprender jugando". Arrancamos el ordenador y vamosdescubriendo Java a travs de pequeos programas de prueba. Nosotros utilizaremos programas que
ejecuten en "cliente", que como mencionamos anteriormente son los que se ejecutan en un sola
mquina (por ejemplo nuestro ordenador personal) y no necesitan comunicarse con otro programa en
otra mquina para solicitarle algn servicio, como puede ser el de base de datos. En este curso nos
centraremos en conocer el lenguaje y sus aspectos ms fundamentales, que consideramos es el primer
paso para introducirnos en Java. Una mayor profundizacin, como aplicaciones cliente-servidor o
aplicaciones web, las dejaremos para otro curso.
Prxima entrega: CU00502A
7/25/2019 Prog. Java Nivel I
6/85
Obtener el instalador de Java.(CU00503A)Seccin: Cursos
Categora: Curso Lenguaje de programacin Java nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n2 del curso Lenguaje de programacin Java Nivel I.
10
7/25/2019 Prog. Java Nivel I
7/85
INSTALACIN DEL ENTORNO DE TRABAJO
Si no tienes instalado Java en tu ordenador, es necesario que lo instales para poder comenzar a
programar. Java, aparte de ser el nombre del lenguaje, es tambin el nombre del programa que
necesitamos para poder escribir cdigo en nuestro ordenador.
DESCARGA DE JAVA
As pues, el primer paso ser ir a la direccin http://Java.sun.com/j2se/. Esta es una web de la
multinacional Sun (ahora integrada en Oracle), creadora de Java. Desde ah bajaremos el Java
Development Kit (JDK), que es el entorno Java que utilizaremos para realizar nuestros primeros
programas. Nosotros en concreto nos hemos bajado la versinJD K 1.6.0_18. Esta versin no es ms queun archivo ejecutable, es decir, que tiene la extensin .exe. En nuestro caso el archivo se llama "jdk-
6u18-windows-i586.exe". Fjate que nos bajamos una versin para Windows. Los pasos para la descarga
los iremos explicando con imgenes.
Comentar que el lenguaje de programacin Java, tiene versiones para instalarse en la mayora de los
Sistemas Operativos presentes en el mercado (Unix, Windows, Linux y otros ms). En este curso
usaremos Windows 7, el cual ser nuestro Sistema Operativo de referencia. Tambin puedes utilizar
Windows Vista que es muy similar, o Windows XP, aunque en el XP puedes encontrar algunas pequeas
variaciones.
Una vez en la pgina de la empresa Sun, que se muestra en el navegador al poner la direccin URL
http://Java.sun.com/j2se/, lo primero que hay que hacer es posicionarnos con el mouse en el enlace
"Downloads" y nos mostrar un men con varias opciones. Seleccionaremos la segunda opcin en la
lista: "Java SE", es decir, Java Standard Edition o Edicin Standard de Java.
http://java.sun.com/j2se/http://java.sun.com/j2se/http://java.sun.com/j2se/http://java.sun.com/j2se/7/25/2019 Prog. Java Nivel I
8/85
En la siguiente pgina, pinchamos con el mouse en el enlace "Download JDK".
Java Expert?Gef pad everytime youanswer iava questions1
Larn More
L I V I P E R S O N
Llegados a la siguiente pgina, debemos hacer click en el enlace "Download", para descargar la versinms actual de Java. Por defecto, est seleccionada la versin Java para el Sistema Operativo Windows
en el combo desplegable "Platform". Esta es la plataforma con la que trabajaremos en este curso; no
obstante, se puede trabajar con Java tambin en otras plataformas. Existen versiones de Java para
muchos otros Sistemas Operativos como puede comprobarse desplegando el combo.
7/25/2019 Prog. Java Nivel I
9/85
Si nos pide nombre de usuario (User Name) y Password (contrasea) pulsaremos en "Skip this Step"
(saltar este paso) ya que no es obligatorio el registro como usuarios.
En esta ltima pgina, haremos click con el mouse en el enlace indicado con el nombre de archivo (que
ser del tipo jdk... .exe), para empezar la descarga del instalador Java. En nuestro caso pulsamos sobre
el link para descargar el archivo "jdk-6u18-windows-i586.exe" y lo guardamos en nuestro disco duro. El
archivo puede ocupar bastante (ms de 70 Mb), por lo que necesitamos una buena conexin a internet
si queremos que la descarga sea rpida.
Con esto hemos finalizado la descarga del instalador de Java. Si tienes problemas para descargar desde
internet, tambin puedes conseguir el instalador Java en cd's de revistas especializadas que estn
disponibles en bibliotecas pblicas. Una vez descargado, el siguiente paso ser instalar Java en nuestro
ordenador.
Prxima entrega: CU00504A
7/25/2019 Prog. Java Nivel I
10/85
Instalacin de Java en Windows.(CU00504A)Seccin: Cursos
Categora: Curso Lenguaje de programacin Java nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n3 del curso Lenguaje de programacin Java Nivel I.
10
7/25/2019 Prog. Java Nivel I
11/85
INSTALACIN DE JAVA EN WINDOWS
En este apartado, explicaremos los pasos de instalacin de Java en el Sistema Operativo Windows. Ten
en cuenta que puede haber pequeas diferencias segn la versin que usemos (Windows 7, Windows
Vista, Windows XP, etc.). Primero, tenemos que hacer doble click sobre el archivo instalador de Java,que habremos descargado anteriormente.
Aparece una ventana inicial de instalacin, informndonos sobre las condiciones de la licencia. Una vez
leda, continuamos la instalacin pulsando en el botn "Accept" (aceptar).
jl JavafTM) SE Development Kit 6 Update 18 -License
Please read the following license agreement caretully.
Sun Microsystems, Inc. Binary Cade License Agreement
for the JAVA S E DEV ELOPMENT KIT (JDK). VERSION 6
SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE SOFTW ARE IDENTIFIED BEL OW TO YOU ONLY UPON THE CONDITIONTHAT YOU ACCEPT ALL OF THE TERM S CONTAINED IN THIS BINARYCODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY AGREEMENT'). PL EASE READ THE AGREEMENTCAREFULLY. BY USING THE SOFTW ARE YOU ACKNOWLEDGE THAT
YOU HAVE READ THE TERMS AND AGR EE TO THEM. IF YOU ARE AGREEING TO THES E TERMS ON BEHALF OF A |COMPANY OR OTHERLEGAL ENTITY, YOU REPR ESEN T THAT YOU HAVE THE LEGAL/AUTHORITY TO BIND THE LEGAL ENTITY TO THES E TERMS. |/ y OU DO
En la ventana que aparece a continuacin, lo primero en que debemos fijarnos es en la ruta de
instalacin ("Install to: "). Es la direccin en la que se instalar Java. Nos aparece la ruta por defecto. Si
no estamos de acuerdo con dicha ruta podemos cambiarla con el botn "Change" (cambiar). Como
recomendacin, aconsejamos evitar cambiarla si no tenemos conocimientos avanzados. El motivo para
ello es que muchos programas que trabajan con Java reconocen por defecto dicha ruta. Mantenindola
evitamos problemas y tener que estar configurando la ruta a emplear por el resto de programas.
7/25/2019 Prog. Java Nivel I
12/85
En la parte central nos seala opciones respecto a qu podemos instalar (Development Tools o
herramientas de desarrollo, Demos and samples o ejemplos de prueba, Source Code o cdigo fuente, y
Public JRE o mquina virtual). Podemos elegir instalar ciertas partes de Java y dejar sin instalar otras.Para ahorrar espacio en el disco duro, podemos no instalar ciertas partes de Java como los ejemplos de
prueba, lo que haramos deseleccionando esta opcin. Si no tienes problemas de espacio lo
recomendable es dejarlo todo tal como est y que se instalen todas las opciones. Dicho lo anterior
hacemos click en el botn "Next" (siguiente) y continuamos con la instalacin.
Sin haber terminado el proceso de la ventana anterior, se muestra la siguiente ventana, que es algo
parecida a la que vimos anteriormente, donde nos muestra una ruta por defecto en la que se instalar
la "Maquina Virtual" de Java. La mquina virtual se reconoce por el nombre de "jre6", presente al final
de la ruta. Siguiendo el mismo criterio comentado anteriormente, es una ruta ya reconocida por
defecto por muchos programas que requieren de la "Mquina Virtual" Java. Para evitar problemas de
configuracin de ruta, es preferible que los usuarios no avanzados no hagan cambios. Si an as
quisiramos hacerlo, usaramos el botn "Change..." (cambiar). Seguimos con la instalacin, haciendo
click en el botn "Next" (siguiente).
7/25/2019 Prog. Java Nivel I
13/85
El proceso de instalacin continua hasta que la coloracin verde (progreso de la instalacin) cubre en
su totalidad la barra gris.
Finalmente, si todo ha ido bien, aparecer una ventana indicando que la instalacin se ha completado.
Hacemos click en "Finish" para finalizar la instalacin.
Ahora vamos a verificar la instalacin. Para ello vamos a comprobar que se hayan creado dos carpetas
con un nombre similar a "jdk1.6.0_18" y "jre6" en la ruta "C:\Archivos de programa (x86)\Java". La
primera carpeta, de nombre similar a "jdk1.6.0_18", corresponde al compilador e intrprete Java, cuyas
funciones explicaremos ms adelante. La segunda carpeta, de nombre similar a "jre6", corresponde a la
"Mquina Virtual" de Java, concepto que ya hemos comentado anteriormente. Si hemos llegado hasta
aqu, hemos finalizado correctamente la instalacin de Java en Windows.
O h Disco local (C:) Archivos de programa(x86) Java Organizar * Incluir en. biblioteca Compartir con Grabar Mua carpeta
VT Favoritos -Nombre Fecha eremodifica, Tipo
Descargas | l) jdkl.6.0_18 19/03/201110:15 Carpeta de archivo
K Escritorio
H Sitios recientes
i j reS 18/03/2010Vl;53 Carpeta de archivo
Bibliotecas
[3 Documentos
B Imgenes
J) Msica
Prxima entrega: CU00505A
7/25/2019 Prog. Java Nivel I
14/85
Configuracin de Java en Windows(CU00505A)Seccin: Cursos
Categora: Curso Lenguaje de programacin Java nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n4 del curso Lenguaje de programacin Java Nivel I.
10
7/25/2019 Prog. Java Nivel I
15/85
CONFIGURACIN DE JAVA EN WINDOWS
En este apartado, explicaremos la configuracin de Java en el Sistema Operativo Windows. Ten en
cuenta que puede haber pequeas diferencias segn la versin que usemos (Windows 7, Windows
Vista, Windows XP, etc.). Vamos a ver paso a paso cmo configurar las variables de entorno del sistema.Existen una gran variedad de variables de entorno para diferentes propsitos, entre ellos la
comunicacin de Java con el sistema operativo. Nos vamos a centrar en slo dos, las ms importantes
para nuestra configuracin. Estas son las variables que informan al Sistema Operativo dnde y cmo
ubicar Java dentro del mismo. Estas variables son: "JAVA_HOME" y "PATH".
PASO 1: Configurar la variable JAVA_HOME
JAVA_HOME, es una variable de entorno del sistema que informa al Sistema Operativo sobre la rutadonde se encuentra instalado Java.
Seguiremos la siguiente secuencia de pasos para configurar esta variable:
Abrimos el explorador de Windows o pulsamos sobre "Mi Pc". Pulsamos sobre Equipo ^ Propiedades
^ Configuracin avanzada / Cambiar configuracin ^ Opciones avanzadas ^ Variables de entorno ^
Nueva (Variables del sistema). Luego escribir en las cajas de texto que se muestran lo siguiente:
Nombre de variable : JAVA_HOM E
Valor de variable : escribirem os aqu la ruta en que se haya instalado Java. Puedes consultarla enel propio explorador de Windows buscando la carpeta en que se ha instalado Java, que normalmente
ser del tipo C:\Program Files\Java\jdk1.6.0_18 C:\Program Files (x86)\Java\jdk1.6.0_18.
C:\Program Files\Java\jdkl.6.0_l
Archivo Edicin Ver Herramientas Ayuda
SR R M I3s Grabar
Carpetas
Nombre Fecha modificacin Tipo TamaoV
bin 03/04/2010 20:03 Carpeta de archivos
InterVideo * demo 03/04/2010 20:04 Carpeta de archivos
Java include 03/04/2010 20:03 Carpeta de archivos
jdkl.6.0_18 ujre 03/04/2010 20:03 Carpeta de archivos
jrel.6.0 , lib 03/04/2010 20:03 Carpeta de archivosjre6 sample 03/04/2010 20:04 Carpeta de archivos
Itmoh L i COPYRIGHT 17/12/2009 18:33 Archivo 4 KB
MagidSO RUCENSE 03/04/2010 20:03 Archivo 18 KB
Microsoft.NET 3jUCENSE.rtf 03/04/2010 20:03 Rich Text Format 18 KB
Microsoft Games C, README.html 03/04/2010 20:03 Documento HTML 29 KB
Microsoft Office . READMEJa.html 03/04/2010 20:03 Documento HTML 26 KB
Microsoft Visual Studio ^ README_zh_CN.html 03/04/2010 20:03 Documento HTML 21 KB
Microsoft Visual Studio 8 ^ register.html 03/04/2010 20:09 Documento HTML 6 KB
Microsoft Works _ registerja.html 03/04/2010 20:09 Documento HTML 6 KB
Movie Maker fSj register_zh_CN.html 03/04/2010 20:09 Documento HTML 5 KB
Mozilla Firefox 1 srcjip 17/12/200918:34 Carpeta comprim... 19.195 KB
MSBuild [_, THIRDPARTYUCENSER.. 03/04/2010 20:03 Documento de tex... 183 KB
MSN E
MSXML4.0
myphotobook
MySQLMySQL-Front
7/25/2019 Prog. Java Nivel I
16/85
PASO 2: Configurar la variable Path
PATH, es una variable de entorno del sistema, que informa al Sistema Operativo sobre la ruta de
distintos directorios esenciales para el funcionamiento del ordenador. Vamos a aadir al contenido de
la variable Path el luegar donde se encuentran los ficheros ejecutables de Java necesarios para su
ejecucin, como el compilador (javac.exe) y el intrprete (java.exe).
Seguiremos la siguiente secuencia de pasos para configurar esta variable.
Abrimos el explorador de Windows o pulsamos sobre "Mi Pc". Pulsamos sobre Equipo ^ Propiedades
^ Configuracin avanzada / Cambiar configuracin ^ Opciones avanzadas ^ Variables de entorno ^
Editar (Variables del sistema). Luego al final del contenido que ya exista, aadiremos un punto y coma
con el texto "%JAVA_HOME%\bin". No deben quedar espacios intermedios. Nos quedar similar a esto:
Nombre de variable : PATH
Valor de variable : C:\WINDOW S;C:\WINDOW S\system32;%JAVA_HOME%\bin
7/25/2019 Prog. Java Nivel I
17/85
A modo de resumen: hemos creado una variable de entorno llamada JAVA_HOME y hemos aadido
una expresin a la variable PATH.
Asegrate de que se han creado correctamente cerrando todas las ventanas y entrando a Variables de
entorno para comprobar que est todo como hemos indicado.
Prxima entrega: CU00506A
7/25/2019 Prog. Java Nivel I
18/85
Compilar y ejecutar un programaen Java (CU00506A)Seccin: Cursos
Categora: Curso Lenguaje de programacin Java nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n5 del curso Lenguaje de programacin Java Nivel I.
10
7/25/2019 Prog. Java Nivel I
19/85
COMPILAR Y EJECUTAR UN PROGRAMA EN JAVA
En este apartado, comprobaremos si hemos realizado correctamente los pasos de instalacin y
configuracin de Java en Windows. Pero antes vamos a explicar algunos conceptos importantes que nos
permitan entender lo que vamos haciendo. El primer concepto a explicar sera el de "compilacin" o"compilar" y significa traducir el cdigo escrito en "Lenguaje Java", que entendemos nosotros los
humanos, pero no las mquinas, a un cdigo en "Lenguaje Mquina", que entienden las mquinas, pero
no entendible por nosotros. Se hace esto porque a los humanos nos costara mucho trabajar
directamente trabajar con el lenguaje de los ordenadores, por lo que usamos un lenguaje ms
asequible para nosotros (en este caso Java) y luego emplear un traductor (compilador). Aclarar que al
ser Java un programa que se compila en una "Mquina Virtual", el archivo resultante de la compilacin
es un archivo con la extensin .class. Este archivo .class est escrito en un "Lenguaje de Mquina
Virtual", por tanto, para que la "Mquina Real" (nuestro ordenador) nos d el resultado, hay que
"interpretar" (traducir) el archivo .class a un cdigo en "Lenguaje de Mquina Real". Esta es la labor de
lo que llamamos "intrprete" o traductor del lenguaje de la mquina virtual a la mquina real. Losarchivos respectivos que se encargan de estas tareas son:
El comp ilador Java > javac.exe
El intrprete Java > java.exe
La ruta de ambos archivos es esta o una similar a esta: "C:\Archivos de programa
(x86)\Java\jdk1.6.0_18\bin". Aclarar que para efectos de compilacin se usar una ruta del tipo:
"C:\Program Files (x86)\Java\jdk1.6.0_18\bin", que es la ruta real con la que Windows trabaja. El
explorador de Windows nos muestra una barra con la ruta en que nos encontramos (ruta aparente).
Para conocer la ruta real basta pinchar sobre la ruta aparente.
Ahora indicaremos los pasos para compilar e interpretar nuestro primer programa escrito en lenguaje
Java.
7/25/2019 Prog. Java Nivel I
20/85
PASO 1
Abrir el Bloc de notas de Windows (Inicio ^ Todos los programas ^ Accesorios ^ Bloc de notas), que
ser nuestro editor de trabajo por su simplicidad. Ms adelante veremos un editor ms sofisticado. Si
prefieres usar otro editor en este momento no hay problemas (por ejemplo WordPad, Notepad, etc.).
Da igual mientras que se grabe el programa como "Texto sin formato" (en cdigo ASCII). Una vez que
tengamos el bloc de notas abierto escribiremos nuestro primer programa, que mostrar un texto "Hola
Java", en la ventana consola del DOS (Ventana negra que ms adelante explicaremos cmo manejar).
Aclarar que por el momento no debemos preocuparnos de entender lo que escribimos: esto lo
explicaremos ms adelante. Nuestro objetivo ahora es simplemente comprobar que podemos ejecutar
un programa escrito en Java.
El cdigo de nuestro programa en Java, escrito en el bloc de notas, ser el siguiente:
public class Ejemplo {public static void main(String[] arg) {
System.out.println("Hola Java");
}
}
Los caracteres de llaves y corchetes se escriben pulsando ALT GR + la tecla correspondiente.
^ public stat ic void main(string[] arg) {
A continuacin procedemos a grabar nuestro programa: pulsamos en Archivo ^ Guardar como y le
ponemos como nombre Ejemplo.java. Estamos siguiendo una norma dictada por Java, que es el nombre
del archivo (Ejemplo.java) y el nombre del programa (que hemos definido dentro del archivo despus
de escribir public class, y que tambin es "Ejemplo") san idnticos. Resumidamente: hemos de hacer
coincidir nombre del archivo y nombre del programa, tanto en maysculas como en minsculas, y laextensin del archivo habr de ser siempre ".java".
7/25/2019 Prog. Java Nivel I
21/85
Para seguir un orden y evitar problemas posteriores durante la compilacin, seguiremos los siguientes
pasos. Crearemos una carpeta en C: denominada "Ejercicios". Ubicaremos el programa Ejemplo.java
dentro de esta carpeta.
PASO 2
En este paso, veremos la compilacin e interpretacin de un programa Java. Comentar que este
paso se har usando la ventana consola del DOS. Para visualizar esta ventana debemos seguir estos
pasos: Inicio ^ Todos los programas ^ Accesorios ^ Smbolo del sistema. A continuacin, una vez que
estemos en la ventana consola debemos escribir el comando "cd c:\Ejercicios" y pulsar enter. Esto nos
traslada a la carpeta donde se ubica nuestro archivo ("Ejemplo.java"). A continuacin daremos la
instruccin para que se realice el proceso de compilacin del programa, para lo que escribiremos "javac
Ejemplo.java", donde "javac" es el nombre del compilador (javac.exe) que transformar el programa
que hemos escrito nosotros en lenguaje Java al lenguaje de la mquina virtual Java, dando como
resultado un archivo "Ejemplo.class" que se debe haber creado en este mismo directorio. Si te aparece
un mensaje de error revisa todos los pasos anteriores que hemos explicado, pues es posible que no se
hayan creado las variables de entorno o que el archivo no est bien ubicado, etc. Para comprobar si se
ha creado el archivo escribiremos en la ventana consola el comando "dir". Comprobaremos que nos
aparecen dos archivos: Ejemplo.class (creado por el compilador) y Ejemplo.java (creado por nosotros).
Finalmente, vamos a pedirle al intrprete que transforme el cdigo de la mquina virtual Java en cdigo
mquina interpretable por nuestro ordenador. Para ello escribiremos en la ventana consola: java
Ejemplo.
El resultado ser que se nos muestra la cadena "Hola Java".
|Smbolo del sistema
iupu uft Lfiiidoui: CU ui'uin 6.1.76 001opyricyht 2009 M icro soft C orp orat ion. R eservados todos los derec hos.
:\Users\Walter>cd c NE jerc ic ios
=\Ejere ic ios >javac E jemplo. java
c :\Ejerc ic ios^jaua Ejemplo o l a J a v a
: SEjerr. ir. io s >
Prxima entrega: CU00507A
7/25/2019 Prog. Java Nivel I
22/85
Como obtener ayuda en Java.(CU00507A)Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n6 del curso Lenguaje de programacin Java Nivel I".
10
7/25/2019 Prog. Java Nivel I
23/85
LA AYUDA DE JAVA
Si ya has trabajado con algn otro lenguaje de programacin, seguramente tendrs clara la importancia
de las ayudas de los lenguajes para los programadores. Pero si no es as, vamos a tratar de dejarlo claro.
En primer lugar, cabe decir que prcticamente nadie conoce a fondo todos los trminos y posibilidades
de un lenguaje. Es como un idioma hablado: hay gente que lo chapurrea, gente que lo habla
correctamente pero con escasez de recursos, gente que lo habla bien y con abundancia de recursos y
expertos a distintos niveles. Pero nadie, lo sabe "absolutamente todo". Por tanto, cuando estamos
programando y no sabemos hacer algo o tenemos dudas, tendremos que recurrir a ayudas externas
como:
La ayuda del lenguaje.
Manual de lenguaje.
Libros sobre programacin, apuntes, etc.
Otros programas.
Otros programadores.
La ayuda del lenguaje es una parte del programa o entorno de programacin, a la que podemos acceder
para encontrar informacin y recomendaciones, que han sido generadas por los propios creadores del
lenguaje. Las principales ventajas de la ayuda de un programa son:
Rapidez: si estamos programando y surge una duda o necesidad, podremos resolverla a travs de la
ayuda, sin necesidad de movernos o desplazar la atencin de lo que estamos haciendo.
Potencia: las ayudas suelen ser bastante completas y tiles, por lo que podemos estar seguros de
que van a resolver un alto porcentaje de los problemas que podamos tener con el lenguaje.
Como inconvenientes de las ayudas podemos citar:
Si no conoce mos el trmino que describe aquello que buscamos, quizs no podamos llegar a la
informacin deseada.
A veces, la ayuda es una traduccin no dem asiado acertada desde otro idioma, lo que dificulta su
comprensin.
Cualquier programador que se precie, conoce y usa las ayudas de los programas. Son de especial
inters, para programadores aprendices o autodidactas.
Veamos ahora cmo acceder y optimizar la ayuda de Java. Como no vamos trabajar con un entorno
visual, en particular, la ayuda la obtendremos de pginas oficiales de Java
http://www.java.com/es/download/help/index.xml y de pginas que resulten de una bsqueda en
Google, cada persona valorar la pgina que le resulte ms funcional acorde a sus necesidades, as
como navegar por los distintos links incluidos en foros, de ah que no podemos establecer una nica
pgina de referencia de Java.
http://www.java.com/es/download/help/index.xmlhttp://www.java.com/es/download/help/index.xml7/25/2019 Prog. Java Nivel I
24/85
Quizs sea para algunos, una forma muy tediosa de bsqueda de informacin, pero actualmente con
los buscadores cada vez ms sofisticados, la ayuda la podemos obtener al instante, slo es cuestin de
saber buscar por la red, ya que los buscadores se han convertido en verdaderos y ventajosos surtidores
de informacin.
Mostraremos a continuacin, unos ejemplos de bsqueda avanzada, en el buscador ms usado
actualmente Google, y que ser de gran utilidad al momento de querer buscar informacin sobre Java:
Buscar todos los documentos en formato "pdf", que contengan esta expresin "Java" exactamente.
Entonces pones en la caja de texto de bsqueda de google, lo siguiente:
"Java" filetype:pdf
Quizs, deseamos buscar algo ms especfico, como "variables en java". Entonces ponemos lo siguiente:
"variables en java" filetype:pdf
Ahora se me ocurre, desear buscar todas las pginas de universidades espaolas, que tengan la palabra
"Java". Entonces escribimos lo siguiente:
"Java" site:.edu.es
Mencionar que "edu.es" es un dominio, que hace referencia a las pginas de universidades espaolas,
lo mismo podemos hacer, si deseamos de universidades mexicanas, cambiando por este otro dominio
"edu.mx"
Hay entornos de trabajo visuales para Java, como Netbean, Eclipse etc..., que presentan ayudas
integradas al entorno, pero sus explicaciones no estn comprendidas en este trabajo.
Prxima entrega: CU00508A
7/25/2019 Prog. Java Nivel I
25/85
Variables con Java (CU00508A)Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n7 del curso Lenguaje de programacin Java Nivel I".
10
7/25/2019 Prog. Java Nivel I
26/85
VARIABLES CON JAVA
Vamos a tratar los aspectos ms bsicos de la declaracin de variables con Java y a dar algunas
orientaciones a travs de las que profundizar en el manejo de variables. En Java, al igual que en todo
lenguaje de programacin, hay una serie de palabras reservadas que no pueden ser empleadas como
nombres de variables (if, int, char, else, goto....); algunas de estas palabras se emplean en la sintaxis dellenguaje; otras, como goto, aunque no se emplean en la actualidad se han reservado por motivos
histricos, de compatibilidad o por si se emplean en el futuro.
Un nombre de variable en Java debe ser un nombre comprendido en el sistema de caracteres Unicode.
Unicode es un sistema de codificacin que soporta texto escrito en distintos lenguajes humanos,
permitiendo la codificacin de 34.168 caracteres. Esto nos permite utilizar en nuestros programas Java
varios alfabetos adems del ingls como el japons, el griego, el ruso o el hebreo y claro est, el
castellano. Posiblemente no vayamos a utilizar nunca el hebreo ni el ruso, pero disponer de un juego de
caracteres amplio tiene su inters. Por ejemplo, esto es importante para que los programadores
puedan escribir cdigo en su lenguaje natural. Por lo tanto podremos utilizar la como parte de losnombres de variable si as lo deseamos.
NOMBRES Y TIPOS DE VARIABLES
Java obliga a declarar una variable antes de ser usada. Por eso se dice que Java es un lenguaje
fuertemente tipeado, caractersticia de la cual no podemos evadirnos. Por otro lado, tambin se usa
como convencin (por lo cual es recomendable pero no obligatorio) que las variables siempre empiecen
con letra minscula y que cuando estn compuestas por ms de una palabra se coloquen juntas siendo
la letra inicial de cada palabra posterior a la primera una mayscula. Por ejemplo "pesoNioEspaol",
"edadAlumnos", "textoMensajesRepetidos",etc. Otra convencin es que todo nombre de variable sedeclare al inicio del programa y no en cualquier parte del programa, as como inicializarlas a un valor
para evitar errores por valores nulos posteriormente durante la ejecucin del programa. Esto son
formas de trabajar no obligatorias que usan los buenos programadores para mantener un orden y de
esta manera generar buenos programas.
En cuanto a los tipos de variables, en Ja va las podemos clasificar en funcin del tipo de dato que
contienen. Veamos los tipos de variables.
7/25/2019 Prog. Java Nivel I
27/85
EQUIVALENCIA CON VARIABLES
USADAS ENTIPO DE DATOS
MEMORIAREQUERIDA
RANGO DE VALORES OBSERVACIONES
PSEUDOCDIGO
Byte
(Entero)1 byte -128 a 127 Entero
Uso en contadores, control debucles, etc.
Short
(Entero corto)2 bytes -32768 a 32767 Entero
Uso en contadores, control debucles, etc.
Int
(Entero)4 bytes
-2147483648
a
2147483647
EnteroUso en contadores, control debucles, etc.
Long(Entero largo)
8 bytes9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 0 8
a9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 0 7
EnteroUso en contadores, control debucles, etc.
Float
(Decimal simple)4 bytes 3,4E-38 a 3,4E38 Real Uso cuando se requieren decim ales.
Double(Decimal doble)
8 bytes 1,7E-308 a 1 ,7E308 RealUso para aplicaciones cientficas o
especiales.
True
Boolean(Booleano)
1 byte o Booleano False es el valor predeterminado.
False
Los Strings pueden ser tan largoscomo memoria haya disponible; nose ha definido una longitud mxima
String Variable Alfanum rica
utilizable en Java.
Cada carcter en Java estacodificado en un formato
Char 2 bytes Carcter
denominado Unicode. En este
formato cada carcter ocupa dosbytes, frente a la codificacin enASCII, dnde cada carcter ocupabaun solo byte.
Conociendo ya los tipos de variables y cmo nombrarlas, veamos ahora cmo declararlas y asignarles
contenido al mismo tiempo. Una forma bsica que nos permita empezar a trabajar y, de paso, crear
nuestro primer programa.
7/25/2019 Prog. Java Nivel I
28/85
Usaremos para ello la sintaxis:
[Tipo de variable] [Nombre de variable] = [Valor];
EJEMPLO
Supn que declaras: una variable destinada a contener la edad de una persona. Sabemos que la edad
de una persona puede oscilar entre cero y 125 aos (siendo groseros), y que sus valores no son
decimales, entonces segn los tipos que tenemos en Java podramos usar "byte" o "int" o "short" o
"long", pero analizando de cada uno de ellos sus rangos de valores que soportan, segn la tabla
indicada arriba, siempre hay una que es mejor que otra en cuanto a que consumiriamos menos
memoria. Por tanto puede declararse como tipo byte (-128 a 127) en lugar de int (-2147483648 a
2147483647) sin ningn problema. Si una variable no lo requiere, no conviene asignarle un tipo que
ocupe ms memoria de la realmente requerida. En el caso de la edad, si la declaramos como entera
vamos a ocuparle 4 bytes al sistema cuando podramos haber ocupado slo 1 con el tipo byte. Esto, a
gran escala, es una falta de eficiencia y economa.
byte edad = 78;
A la hora de declarar variables conviene seguir estas pautas:
Elegir siempre el tipo de variable ms sencillo posible. Consideraremos que el grado de sencillez
viene definido por la memoria requerida (a menor memoria requerida mayor es la sencillez). Estoredunda en un menor consumo de recursos del sistema y en una mayor rapidez de las operaciones
que realiza el ordenador.
Realizar declaraciones ordenadas y claras.
Java permite declarar variables sin contenido en mltiples lneas una por lnea, pero tambin varias
variables en una sola lnea.
Usaremos para ello la sintaxis:
[Tipo de variable][Nombre de variab le],..., [ Nombre de variable];
7/25/2019 Prog. Java Nivel I
29/85
EJEMPLO
Expresin abreviada Equivalente
a) int i;
int j;
a) in t i, j , k; int k;
o
int i; int j; int k;
En el ejemplo vemos que la expresin abreviada sera la forma ms simplificada de escribir la
declaracin de varias variables de un mismo tipo simplificando el cdigo del programa, aunque
podemos hacerlo de una u otra manera segn nuestras preferencias.
Prxima entrega: CU00509A
7/25/2019 Prog. Java Nivel I
30/85
Ejemplos sobre declaracin y
asignacin de contenidos avariables en Java (CU00509A)Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n8 del curso Lenguaje de programacin Java Nivel I".
10
7/25/2019 Prog. Java Nivel I
31/85
EJERCICIO:
Realizar una declaracin de variables para las siguientes propuestas de programas.
a) Un programa que muestra un mensaje de bienvenida.
b) Un programa que nos pide nuestra edad y nos muestra el ao en que nacimos.c) Un programa que nos muestra el valor medio de tres magnitudes.
d) Un programa que trabaja con: tres contadores para bucles, tres valores de momentos en una viga
(de magnitud no conocida), valores de longitud de la viga, canto y ancho y un valor interruptor que
permite o impide que se muestren resultados.
SOLUCIN:
a) String mensaje;
b) byte edad;
Se podra definir otra variable llamada aonacimientosegn el programador lo estime oportuno o no.
c) float m agn itudl , ma gnitud2, magnitud 3;
float m edia;
Hemos utilizado el tipo float para cubrirnos las espaldas. No sabemos con qu tipo de valores vamos a
trabajar y por ello cogemos un tipo de variables bastante amplio como es el float. Preferimos no coger
doublesi no es estrictamente necesario.
Hemos utilizado dos lneas pero slo un tipo de variable Por qu? El programador ordena la
declaracin de variables como estime ms conveniente. En este caso ordenamos "valores para el
clculo" en una lnea y "resultados" en otra. Resulta ms fcil de leer y analizar que estando todo en
una sola lnea.
d) int i, j, k;
float m omento1, momento2, momento3;
float largo, canto, ancho;
boolean muestraResultados;
Siempre ser preferible usar las expresiones momentol, momento2 y momento3 antes que m1, m2 y
m3 que resultan ms confusas. Sin embargo, este tipo de decisiones siempre quedan a criterio del
programador.
7/25/2019 Prog. Java Nivel I
32/85
ASIGNACION DE CONTENIDO A VARIABLES
Para la asignacin de contenido a variables se tendr en cuenta estas equivalencias:
Ejemplos de asignacin de contenidos son estos:
Declaracin Ejemplo asignacin contenidos
int a; a = 123;
float a; a = - 3323,57f; 1
String a; a = "Hay que mejorar";
String a; a = "123 coches";
String a; a = "Son 35,37 euros";
int salario; salario = 30500;
float salario; salario = 30500;
String salario; salario = "Se asignarn 30500 euros";
7/25/2019 Prog. Java Nivel I
33/85
Declaracin Ejemplo asignacin contenidos
a = 5 + 2;
int a, b, suma; b = 32;
suma = a + b; [suma valdr 39]
a = 5;
b = 32;
int a, b, c, d, e; c = a * b; [c toma el valor 160]
d = a + c; [d toma el valor 165]
e = d; [e toma el valor 165]
boolean agotamiento; agotamiento = true;
! Todo valor de tipo float debe llevar al final la letra "f" o "F" en caso contrario ser un valor double por defecto
Un programa que conste de:
int a;
a = 7 * b
dar lugar a un error debido a que "b" no est declarada.
En cambio:
int a, b;
a = 7 * b
Supone que "a" valga cero, ya que si no se asigna un valor a "b", esta variable tiene por contenido el
valor por defecto, es decir, cero. "7 * b" equivale en este caso a "7 * 0".
Prxima entrega: CU00510A
7/25/2019 Prog. Java Nivel I
34/85
Creacin de un programa Java enuna ventana DOS (CU00510A)Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n9 del curso Lenguaje de programacin Java Nivel I".
10
7/25/2019 Prog. Java Nivel I
35/85
Vamos a crear un programa que declare una variable tipo String llamada mensaje y nos muestre un
texto en la ventana del DOS. Para ello escribiremos el siguiente cdigo:
public class ImprimirMensaje {
public static void main(String arg[]) {
String mensaje;mensaje = "Bienvenido a este programa";System.out.println(mensaje);
}
}
Analicemos las lneas que lo componen.
1. Las llaves { } delimitan bloques (conjuntos de elementos de un programa) en Java.
2. public class ImprimirMensaje. Sera el bloque ms externo de todo programa Java, en donde
declaramos el nombre de nuestra clase, que llamaremos "ImprimirMensaje" y que ser a la vez el
nombre de nuestro programa. Esto es as dado que Java es un lenguaje de programacin orientado a
objetos y por lo tanto todo debe estar dentro de una clase desde un principio. La palabra public es
para aclarar que la clase "ImprimirMensaje" ser pblica, es decir se podr acceder a ella desde otra
clase. Esto lo veremos posteriormente en ejemplos ms avanzados.
3. public static void main(String arg[]) . Sera el bloque donde escribiramos nuestro programa Java y
se trata de un mtodo especial llamado main (principal); especial por el hecho de que cuandocompilemos nuestro programa, el compilador el primer mtodo que buscar ser el que tenga el
nombre main. Esto es as porque una clase tiene como elementos de su estructura uno o ms
mtodos y si queremos que nuestra clase sea un programa que podamos ejecutar, al menos uno de
ellos debe tener el nombre main. Un mtodo corresponde a una funcin o procedimiento (ambos
pueden recibir uno o ms valores de entrada, pero el primero devuelve siempre un solo valor y el
segundo no devuelve ningn valor). En nuestro caso void indicara que se trata de un procedimiento.
La palabra static indicara que el mtodo main es un mtodo de clase, es decir que se ejecutar sin
necesidad de crear un objeto de la clase. El mtodo main recibe String arg[], que significa "un array
de Strings". Este es el nico parmetro (opcional) de entrada que le podemos pasar por lnea de
comando. Su uso lo veremos en un ejemplo posteriormente cuando veamos arrays.
4. String mensaje. Aqu estamos declarando una variable de tipo String. Es decir, nuestra variable
mensaje solo podr recibir valores de tipo cadena.
5. mensaje = "Bienvenido a este programa". Aqu estamos asignando el valor alfanumrico
"Bienvenido a este programa" (es alfanumrico por estar entre comillas dobles) a nuestra variable
mensaje.
7/25/2019 Prog. Java Nivel I
36/85
6. System.out.println(mensaje). Esta instruccin si la desglosamos en sus partes veremos lo siguiente:
println es un mtodo que recibe como valor de entrada nuestro mensaje, el cual ser mostrado en
la ventana DOS como un texto y con un enter de cambio de fila al final. Hay otro mtodo parecido
llamado print, que hace lo mismo, pero sin poner un enter de cambio de fila al final. En cuanto a out
es un objeto perteneciente a la clase System, y es un objeto ya establecido por java para invocar a
los mtodos print o println. No debemos preocuparnos por saber ms que esto de momento.
Compila e interpreta el programa para ver el resultado, siguiendo los pasos vistos en la entrega del
curso CU00506A. En las siguientes imgenes vemos primero la compilacin y luego la interpretacin del
programa, sin mayores detalles, al estar ya explicados en la entrega del curso indicada.
BS Administrador: Smbolo del sistema
C : \ E j e r c i c i o s> ja i a c I m p r im ir M e n s a je . j a v a
C : \ E j e r c i c i o s >
Compilacin
Administrador: Smbolo del sistema D
a
C : \ E j e r c i c i o s ) j a v a I n p r in i r M e n s a jeB i e n v e n i d o a e s t e p r o g r a n a
C : \ E j e r c i c i o s )
Interpretacin (Resultado)
7/25/2019 Prog. Java Nivel I
37/85
El mtodo println sin ningn valor pasado como parmetro da lugar a que se muestre una lnea en
blanco. Prueba a introducir variables de tipo numrico y a dar lugar a que se muestren sus contenidos
en la ventana DOS. Juega con los nombres de las variables, sus contenidos y la asignacin de
contenidos.
Tambin puede resultar de inters que compruebes qu ocurre si declaras una variable de un tipo y leasignas contenido de otro tipo.
Por ejemplo declara int salario, asgnale el contenido salario = "Son 3000 euros" y prueba a mostrarlo
en la ventana DOS.
o Qu ocurre cuando incump limos las previsiones de Java para asignarcontenidos a variables (por ejemplo, para una variable a tipo byte definir a =532000, que est fuera del rango previsto)? No vamos a analizar los distintos casos
que se pueden presentar, sino a tratar de dar una respuesta genrica. Cuandohacemos algo no esperado, como asignar un valor fuera de rango, asignar un valorque no concuerda con el tipo de la variable, sumar variables numricas conalfanumricas, asignar decimales a un nmero entero..., etc. pueden suceder variascosas:
a) Salta un error. Un mensaje impide que el program a comience a ejecutarse, obien el programa se detiene mientras se est ejecutando.
b) El program a se ejecuta pero los resultados no son los desea dos.c) El progra ma se ejecuta y los resultados son los desea dos.
Como programadores hemos de buscar programas 100% predecibles, en los que nose pueda producir que "sea difcil prever lo que va a suceder". Por tantointentaremos que la declaracin y asignacin de contenidos a variables se ajuste alas normas de Java. En ltima instancia, podremos prever una rutina de gestin deerrores para casos imprevistos.____________________________________________________
Prxima entrega: CU00511A
7/25/2019 Prog. Java Nivel I
38/85
Arrays unidimensionales en Java.(CU00511A)Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n10 del curso Lenguaje de programacin Java Nivel I".
10
7/25/2019 Prog. Java Nivel I
39/85
VARIABLES CON NDICE O LOCALIZADOR. ARRAYS.
Un array en Java es una estructura de datos que nos permite almacenar un conjunto de datos de un
mismo tipo. El tamao de los arrays se declara en un primer momento y no puede cambiar luego
durante la ejecucin del programa, como s puede hacerse en otros lenguajes. Veremos ahora cmo
declarar arrays estticos de una dimensin.
ARRAYS UNIDIMENSIONALES
La sintaxis para declarar e inicializar un array ser:
Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensin];
Tambin podemos alternativamente usar esta declaracin:
Tipo_de_variable[] Nombre_del_array;
Nombre_del_array = new Tipo_de_variable[dimensin];
El tipo devariablepuede ser cualquiera de los admitidos por Java y que yahemos explicado. Ejemplos
de declaracin einicializacin con valores por defecto de arrays usandotodos los tipos de variables
Java, seran:
- byte[ ] edad = new byte[4];- short[ ] edad = new short[4];
- int[ ] edad = new int[4];
- long[ ] edad = new long[4];
- float[ ] estatura = new float[3];
- double[ ] estatura = new double[3];
- boolean[ ] estado = new boolean[5];
- char[ ] sexo = new char[2];
- String[ ] nombre = new String[2];
Aclarar que los valores por defecto son los siguientes:
a) Para nmeros el valor cero "0".
b) Para cadenas y letras el valor vaco.
c) Para booleanos el valor false.
En caso de que queramos inicializarlos con valores propios, haremos esto:
7/25/2019 Prog. Java Nivel I
40/85
Para nmeros enteros
int[ ] edad = {45, 23, 11, 9}; //Array de 4 elementos
De la misma forma procederamos para los otros tipos de enteros : byte, short, long.
Para nmeros reales
double[ ] estatura = {1.73, 1.67, 1.56}; //Array de 3 elementos
De la misma forma procederamos para el tipo float, pero teniendo en cuenta que los nmeros debern
llevar al final la letra "f" o "F". Por ejemplo 1.73f o 1.73F.
Para cadenas
String[ ] nombre = {"Mara", "Gerson"}; //Array de 2 elementos
Para caracterers
char[ ] sexo = {'m','f'}; //Array de 2 elementos
Para booleanos
boolean[ ] = {true,false}; //Array de 2 elementos
Cuando creamos un array de nombre "a" y de dimensin "n" (int[ ] a = new int[n]) estamos creando n
variables que son a[0], a[1], a[2], a[n-1]. Los arrays se numeran desde el elemento cero, que sera el
primer elemento, hasta el n-1 que sera el ltimo elemento. Es decir, si tenemos un array de 5
elementos, el primer elemento sera el cero y el ltimo elemento sera el 4. Esto conviene tenerlo encuenta porque puede dar lugar a alguna confusin. Disponer de un valor con ndice cero puede ser de
utilidad en situaciones como considerar cada variable asociada a una hora del da, empezando a contar
desde la hora cero hasta la 23 (total de 24 horas), cosa que es habitual en algunos pases. En lugar de 1,
2, 3, ..., 24 estaramos usando 0, 1, 2, ..., 23.
Vamos a trabajarlo sobre el ordenador en un programa y ver qu pasara si declaramos un array de
tamao "n" y vamos asignando un valor a cada variable del array desde la posicin cero hasta la
posicin "n-1". Adicionalmente vamos a comprobar qu ocurre si tratamos de asignarle valor a la
variable de posicin "n".
7/25/2019 Prog. Java Nivel I
41/85
El cdigo fuente del programa es el siguiente:
public class ArrayDeNombres {
public static void main(String arg[ ]) {
String[ ] nombre = new nombre[4];
nombre[0] = Luis;nombre[1] = Mara;nombre[2] = Carlos;nombre[3] = Jose;nombre[4] = Ismael; //Error:No existe esta variable array de ndice 4
}
}
Procedemos a la compilacin del programa de la siguiente manera:
C:\Ejenplos>javac ArrayDeNombres.java
C:\Ejenplos>
Obtenemos una respuesta (interpretacin) que es la siguiente:
C :\Ejenplos >java ArrayDeNorobresException in tiread "main" java.lang.ArraylndexOutOfBoundsException: 3
at ArrayDeNombres.main
Una vez escrito el programa, cuando compilamos observamos que no hay ningn error de sintaxis, es
decir, no faltan puntos y comas, las llaves estn bien equilibradas, las palabras reservadas del lenguaje
son las correctas, etc. Por tanto, aparentemente el programa debera ejecutarse y darnos un resultado.
Sin embargo cuando cuando interpretamos el programa observamos un error
7/25/2019 Prog. Java Nivel I
42/85
"ArrayIndexOutBoundsException". Este mensaje de error significa "desbordamiento de array", es decir,
que tratamos de acceder a una posicin del array que no existe. En nuestro caso, hemos tratado de
acceder a la posicin 4, que no est definida (slo se ha definido hasta la posicin 3). En esto Java es
muy estricto y no admite este tipo de error lgico del programador. Siguiendo el anlisis del error que
nos aparece en la ventana DOS leemos lo siguiente "ArrayDeNombres.java:9", que nos est indicando
que el error est en el archivo que contiene el programa de nombre "ArrayDeNombres.java", y ms
concretamente en la lnea 9.
Ahora ampliaremos conocimientos con respecto a la instruccin public static void main(String arg[ ]).
Esta instruccin es un estndar en Java, es decir, es la forma habitual de encabezar un programa que se
ejecuta en consola (ventana DOS). Ahora trataremos de entender un poco mejor el significado de este
encabezado. Vamos a analizar el significado de (String arg[ ]). En esta instruccin el mtodo main
admite que se le pase un "array de Strings" cuando se proceda a la ejecucin del programa si as lo
deseamos. String arg[ ] significa "un array de Strings" cuyo nombre es arg. Dicho de otra manera, al
ejecutar el programa podemos indicar "parmetros de entrada" de forma opcional. Si especificamos
parmetros de entrada, stos parmetros quedan asignados al array arg tomando el orden arg[0],
arg[1].
Lo dicho podemos aclararlo mejor con el siguiente ejemplo:
El cdigo fuente del programa es el siguiente:
public class ParametrosDeEntrada {public static void main(String arg[ ]) {
System.out.println("Cantidad de parmetros : " + arg.length);
System.out.println(arg[0]);
System.out.println(arg[1]);}
Damos por entendido que ya hemos compilado el programa y no hay errores de sintaxis. Nos
centramos por tanto en la ejecucin del programa (interpretacin).
Si escribimos en la ventana DOS java ParametrosDeEntrada Pepe Luis Juan, los parmetros de entrada
son Pepe, Luis y Juan. Cuando ejecutamos el programa se nos mostrar que la cantidad de parmetros
son tres, y adems nos mostrar el primer y segundo elementos del array, es decir, Pepe y Luis.
Si escribimos en la ventana DOS java ParamentrosDeEntrada Pepe, hay un solo parmetro de entrada y
el array arg tiene un solo elemento. En este caso el programa nos va a dar un error porque la nica
variable que existe es arg [0], y al tratar de llamar a arg[1] nos va a dar error.
7/25/2019 Prog. Java Nivel I
43/85
Veamos ahora qu ocurre si escribimos en la ventana DOS ParametrosDeEntrada Hola Java:
Administrador Smbolo del sistema
C:\Ejenplos>java ParametrosDeEntrada Hola Javag
Cantidad de paranetros : 2 1HolaJaua
C:\Ejenplos>
Comprobamos que el programa recibe 2 parmetros a travs de la lnea de comandos (es decir, los
introducimos a continuacin de la instruccin para ejecutar el programa). Estos dos parmetros son las
cadenas "Hola" y "Java", las cuales son capturadas en las variables del array de cadenas arg[0] y arg[1].
Estas variables se usan para imprimir los parmetros en pantalla. Esto se puede ver en el cdigo fuente
del programa. Por otro lado, con el atributo "arg.length" podemos saber cuntos parmetros se le hanpasado a nuestro programa. Tambin decir que hacemos uso de un nuevo smbolo: "+", que significa
"concatenar" la cadena "Cantidad de parmetros" con el valor del atributo arg.length (que es 2 en este
caso). El resultado es la cadena "Cantidad de parmetros : 2 ", que se imprime en la ventana DOS como
parte de la salida de nuestro programa.
El introducir parmetros al mismo tiempo que se invoca la ejecucin de un programa es una posibilidad
que admite Java a travs de la venta DOS. En otros lenguajes no es posible pasar parmetros de entrada
a un programa.
Prxima entrega: CU00512A
7/25/2019 Prog. Java Nivel I
44/85
Ejercicios con arrays
unidimensionales en Java.(CU00512A)Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n11 del curso Lenguaje de programacin Java Nivel I".
10
7/25/2019 Prog. Java Nivel I
45/85
EJERCICIO:
Crea el cdigo de dos programas que cumplan las siguientes premisas:
a) Programa 1.
Declara un array tipo int (entero) denominado numerodecoches que contenga 24 variables. Declara
una variable tipo int (entero) que se llame r. Establece el valor de r en 2 y el valor de numerodecoches
para un localizador de valor r en 23. Procede a mostrar en pantalla un mensaje que indique cul es la
hora r y el nmero de coches para la hora r. Finalmente, modifica nicamente la asignacin de valor a r
de modo que en vez de 2 sea 21 y ejecuta de nuevo el programa.
b) Programa 2.
Sobre el programa anterior mantn el nmero de elementos de numerodecoches en 24. Declara dos
variables a y b de tipo int(entero). Establece a con valor 8, b con valor 4 y r con valor a dividido entre b.
Ejecuta el programa.
SOLUCIN:
El programa 1 ser el siguiente. Si lo ejecutamos obtendremos "El nmero de coches en la hora 2 fue
23". Si cambiamos r = 2 por r = 21 obtendremos "El nmero de coches en la hora 21 fue 23".
public class Programal {
public static void main(String arg[ ]) {
int[ ] numerodecoches = new int[24];
int r;
r = 2;
numerodecoches[r] = 23;
System.out.print("El nmero de coches en la hora "+ r+ " fue " + numerodecoches[r]);
}
}
7/25/2019 Prog. Java Nivel I
46/85
Nota: Recordar que cuando declaramos un array de 24 elementos como int[ ] numerodecoches = new
int[24];, los elementos del array que se crean son numerodecoches[0], numerodecoches[1] ... hasta
numerodecoches[23]. Tenemos por tanto 24 elementos (del 0 al 23) pero no existe la variable
numerodecoches[24] como puede ocurrir en otros lenguajes.
Nota: El smbolo "+" significa concatenacin y se usa para concatenar en este caso valores cadena con
variables que tienen un valor numrico. De este modo obtenemos una sola cadena que se imprime en
la pantalla DOS. Tambin recordar que numerodecoches[r] = 23 significa que estamos asignando el
nmero 23 a la posicin indicada por el valor que tenga r en su momento, siendo el valor mximo que
podra tener r el valor 23 y el valor mnimo 0. El uso de otros valores de r dara lugar a un error.
El programa 2 ser el siguiente. Ten en cuenta que el array numerodecoches tiene 24 elementos siendo
el primero el de localizador cero. El resultado va a ser igual que el del anterior programa, ya que r = 2
dado que 8/4 = 2. Por lo tanto se mostrar en pantalla "El nmero de coches en la hora 2 fue 23".
public class Programa2 {
public static void main(String arg[ ]) {
int[ ] numerodecoches = new int[24];
int a, b;
int r;
a = 8;
b = 4;
r = a / b;
numerodecoches[r] = 23;System.out.print("El nmero de coches en la hora " + r+ " fue "+ numerodecoches[r]);
}
}
Prxima entrega: CU00513A
7/25/2019 Prog. Java Nivel I
47/85
Arrays multidimensionales enJava. (CU00513A)
Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n12 del Curso Lenguaje de programacin Java Nivel I"
10
7/25/2019 Prog. Java Nivel I
48/85
ARRAYS MULTIDIMENSIONALES
Tal y como explicamos en su momento, ser posible crear arrays con ms de una dimensin, pasando
de la idea de lista, vector o matriz de una sola fila a la idea de matriz de m x n elementos, estructuras
tridimensionales, tetradimensionales, etc. La sintaxis ser:
Tipo_de_variable[][]... [ ] Nombre_de l_array = new Tipo_de_variable[dimensin1][dimensin2]...[dimensinN];
Tambin podemos alternativamente usar esta declaracin:
Tipo_de_variable[][] ... [ ] Nombre_del_array;
Nombre_del_array = new Tipo_de_variable[dimensin1 ][dimensin2]...[dimensinN];
El tipo de variable puede ser cualquiera de los admitidos por Java y que ya ha sido explicado. Ejemplos
de declaracin e inicializacin con valores por defecto de arrays, usando todos los tipos de variables
Java, seran:
- byte[][] edad = new byte[4][3];
- short ][] edad = new short[4][3];
- int[][] edad = new int[4][3];- long[][] edad = new long[4][3];
- float[][] estatura = new float[3][2];
- double[][] estatura = new double[3][2];
- boolean[][] estado = new boolean[5][4];
- char[][] sexo = new char[2][1];
- String[][] nombre = new String[2][1];
La declaracin de una matriz tradicional de m x n elementos podra ser:
int[][] matriz = new int[3][2];
O alternativamente
int[][] matriz;
matriz = new int[3][2];
El nmero de elementos sera: 3 x 2 = 6, dnde 3 es el nmero de filas y 2 es el nmero de columnas.
7/25/2019 Prog. Java Nivel I
49/85
Ahora procedemos a cargar la matriz con valores:
matriz[0][0] = 1;
matriz[0][1] = 2;
matriz[1][0] = 3;
matriz[1][1] = 4;
matriz[2][0] = 5;
matriz[2][1] = 6;
Hay que recordar ,que los elementos empiezan a numerarse por 0. As, la esquina superior izquierda de
la matriz ser el elemento [0][0] y la esquina inferior derecha ser el [2][1]. Hay que prestar atencin a
esto porque en otros lenguajes de programacin la numeracin puede empezar por 1 en vez de por 0.
Tambin se pueden cargar directamente los elementos, durante la declaracin de la matriz de la
siguiente manera:
int[][] matriz = {{1,2},{3,4},{5,6}};
donde {1,2} corresponde a la fila 1, {3,4} a la fila 2 y {5,6} a la fila 3, y los nmeros separados por coma
dentro de cada fila, corresponden a las columnas. En este caso, los nmeros (1, 3, 5) de cada una de las
filas corresponden a la primera columna y los nmeros (2, 4, 6) ataen a la segunda columna.
Para obtener el nmero de filas de la matriz, podemos recurrir a la propiedad "length" de los arrays, de
la siguiente manera:
int filas = matriz.length;
Para el caso del nmero de columnas sera de la siguiente forma :
int columnas = matriz[0].length;
Tambin Java nos permite la posibilidad de clonar una matriz, es decir, crear una matriz nueva a partir
de otra matriz, siguiendo esta sintaxis:
String[][] nuevaMatriz = matriz.clone();
donde clone() es un mtodo especial, que permite la clonacin de arrays de cualquier dimensin en
Java. De esta manera "nuevaMatriz" y "matriz" son 2 matrices distintas pero con los mismos valores.
Vamos a definir una matriz, a modo de ejercicio: queremos almacenar en una matriz el nmero de
alumnos con el que cuenta una academia, ordenados en funcin del nivel y del idioma que se estudia.
Tendremos 3 filas que representarn al Nivel bsico, medio y de perfeccionamiento y 4 columnas en las
7/25/2019 Prog. Java Nivel I
50/85
que figurarn los idiomas (0 = Ingls, 1 = Francs, 2 = Alemn y 3 = Ruso). La declaracin de dicha matriz
sera:
int[][] alumnosfxniveleidioma = new int[3][4];
Podramos asignar contenidos de la siguiente manera:
alumnosfxniveleidioma[0][0] = 7
alumnosfxniveleidioma[0][1] = 14
alumnosfxniveleidioma[0][2]= 8
alumnosfxniveleidioma[0][3] = 3
alumnosfxniveleidioma[1][0] = 6
alumnosfxniveleidioma[1][1]= 19
alumnosfxniveleidioma[1][2] = 7
alumnosfxniveleidioma[1][3] = 2
alumnosfxniveleidioma[2][0] = 3
alumnosfxniveleidioma[2][1]= 13
alumnosfxniveleidioma[2][2] = 4
alumnosfxniveleidioma[2][3] = 1
Tambin, podramos asignar contenido de la siguiente forma, como ya se ha explicado anteriormente:
int[][] alumnosfxniveleidiom a = {{7,14,8,3},{6,19,7,2},{3,13,4,1}};
La representacin grfica que podramos asociar a esta asignacin de datos sera esta matriz:
rz 14 8 3>
6 19 z 2
V3 13 4 1,
La organizacin de la informacin en matrices, nos generar importantes ventajas a la hora del
tratamiento de datos en nuestros programas.
Para terminar en cuanto a multidimensionalidad, veamos casos de declaraciones con ms de dos
dimensiones. Para ello volveremos al ejemplo del conteo de coches que ya hemos usado. La forma de
declarar esos array sera la siguiente:
7/25/2019 Prog. Java Nivel I
51/85
Duracin del conteo Tipo de array
Declaracin con Java
(nc es Nmero de coches)
Un da A rray de una dimensin (hora) int[] nc = new int[24];
Varios das A rr a y de dos dim ensiones
(hora y da)
int[][] nc = new int[24][31];
Varios meses A rra y de tre s dim ensio nes
(hora, da y mes)
int[][][] n c = new int[24][31][12 ];
Varios aos A rra y de cu at ro dim ensio nes
(hora, da, mes y ao)
Int[][][][] n c = new int[24][31] [12][2999 ];
Varios siglosA rra y de cinco dim ensio nes
(hora, da, mes, ao y siglo)Int[][][][][] nc = new int[24][31][1 2][299 9][21];
Veamos lo que sera un ejemplo de programa con array multidimensional, usando un tipo String.
public class MatrizAlumnos {
public static void main(String argQ) {
String[ ][ ] nombreAlumno = new String[5][25];
nombreAlumno[2][23] = Pedro Hernndez Gonzlez;
System.out.println(EI alumno nmero 24 del curso tercero se llama +nombreAlumno[2][23]);
}
}
El resultado del programa es la aparicin del mensaje "El alumno nmero 24 del curso tercero se llama
Pedro Hernnde z Gonzlez".
En este ejemplo, [5] representa a los cursos. Hablamos de 5 cursos que son identificados con 0, 1, 2, 3,
4, por lo que [2] hace mencin al tercer curso;lo mismo podemos decir de [23], que corresponde al
alumno nmero 24. Hay que recordar que siempre en Java tenemos que contar el cero, ya que si no lo
hacemos podemos cometer errores.
Prxima entrega: CU00514A
7/25/2019 Prog. Java Nivel I
52/85
Comentarios y herramientas
lgicas y matemticas en Java.
(CU00514A)
Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n13 del Curso Lenguaje de programacin Java Nivel I"
10
7/25/2019 Prog. Java Nivel I
53/85
INSERCIN DE COMENTARIOS EN EL CDIGO
Existen distintas posibilidades para insertar comentarios en el cdigo, tales como:
El signo / / com entario de una lnea: la presencia del signo //, transforma en comentario todo lo que se
encuentre a continuacin de l en una lnea. El signo // puede encontrarse al principio de una lnea, con
lo cual, nada de lo que aparezca en dicha lnea ser ejecutado, o bien, despus de una o varias
instrucciones que se encuentren en una lnea, con lo cual una parte de la lnea se ejecutar.
El signo /* .... */ comentario de varias lneas: la presencia del signo /* abre un comentario y todo lo
que escribamos a partir de ese signo, puede estar en una o varias lneas hasta indicar el cierre del
comentario con el signo */. El signo /* ... */ puede encontrarse en cualquier parte del programa por lo
que nada de lo que aparezca entre /* y */ ser ejecutado.
Ejemplo 1:public class Programa {
public static void main(String args[]) {
//Declara una variable
boolean seleccionado;
//Asigna contenido
seleccionado = true;
//Introduce espacioSystem.out.println();
//Valor actual
System.out.println("El valor actual de seleccionado es " + seleccionado);
}
}
Ejemplo 2:public class Programa {
public static void main(String args[]) {
/* Declara una variable */
boolean seleccionado;
/* Asigna contenido */
seleccionado = true;
/* Introduce espacio */
System.out.println();
/* Valor actual */
System.out.println("El valor actual de seleccionado es " + seleccionado);
}
}
7/25/2019 Prog. Java Nivel I
54/85
Ejemplo 3:public class Programa {
public static void main(String args[]) {
boolean seleccionado; //Declara una variable
seleccionado = true; //Asigna contenido
System.out.println(); //Introduce espacioSystem.out.println("El valor actual de seleccionado es " + seleccionado); //Valor
actual
}
}
Ejemplo 4:public class Programa {
public static void main(String args[]) {
boolean seleccionado; //Declara una variable
seleccionado = true; /* Asigna contenido */
System.out.println(); // Introduce espacio
System.out.println("El valor actual de seleccionado es " + seleccionado); /* Valor
Actual */
}
}
El ejemplo 1, corresponde a un programa con comentarios insertados a travs del signo //^comentarios
previamente situados a la lnea que comentan.
El ejemplo 2, es similar al caso anterior, pero se han creado los comentarios con los signos /* ... */.
En el ejemplo 3, los comentarios con el signo //, se sitan a continuacin de las instrucciones, en la
misma lnea.
Por ltimo, el ejemplo 4 combina el uso del signo / /con los signos/* ... */, separados los comentarios
de las instrucciones que se van a ejecutar.
Los criterios para insertar comentarios sern los que se estudian en los cursos de bases de la
programacin, debindose buscar que los comentarios aporten claridad a un programar. Loscomentarios son una parte importante de los programas, por lo que es conveniente cuidar su
estructuracin y contenidos. Dado que el signo de corchetes se usa muchas veces para indicar un
comentario cuando se plantea un algoritmo como pseudocdigo, podemos usar los corchetes detrs
del signo/* para "recordar" el carcter de comentario de dicho texto.
/*[Esto es un comentario detrs de un /*. El corchete no es estrictamente necesario pero podemos
ponerlo si querem os]*/
7/25/2019 Prog. Java Nivel I
55/85
HERRAMIENTAS LGICAS Y MATEMTICAS EN JAVA
Java clasifica los operadores con que trabaja de la siguiente manera:
Operadores aritmticos: operadores utilizados para ejecutar clculos matemticos.
Operadores de comparacin: operadores utilizados para efectuar comparaciones.
Operadores de concatenacin: operadores utilizados para combinar cadenas de caracteres.
Operadores lgicos:operadores usados para realizar operaciones lgicas.
Operadores
Aritmticos
Operadores de
comparacin
Operador de
concatenacin
Operadores
lgicos
(Multiplicacin)
=
(Mayor o igual que)
%
(Resto) (Igual a)
=
(Distinto de)
La mayora de estos operadores nos resultarn conocidos, pues son comunes con otros lenguajes y se
estudian en los cursos de bases de la programacin. El operador + tiene cierto inters para concatenar
cadenas. Por ejemplo "Hoy puede" + "ser un gran da" equivale a "Hoy puede ser un gran da".
En cuanto a las funciones matemticas, las funciones disponibles vienen definidas en la clase Math y se
pueden consultar en la lista completa, disponible en la siguiente direccin oficial de Java:
http://download.oracle.com/avase/1.4.2/docs/api/ava/lang/Math.html
http://download.oracle.com/%c2%a1avase/1.4.2/docs/api/%c2%a1ava/lang/Math.htmlhttp://download.oracle.com/%c2%a1avase/1.4.2/docs/api/%c2%a1ava/lang/Math.html7/25/2019 Prog. Java Nivel I
56/85
A continuacin, mostraremos el uso de las ms importantes:
Funciones
Matemticas
Significado Ejemplo de uso Resultado
abs Valor absoluto int x = Math.abs(2.3); x = 2;
atan Arcotangente double x = Math.atan(1); x = 0.78 53 98 16 33 97 44 ;
sin Seno double x = Math.sin(0.5); x = 0.4794255386042;
cos Coseno double x = Math.cos(0.5); x = 0.87758256189037;
tan Tangente double x = Math.tan(0.5); x = 0.54630248984379;
exp Exponenciacin neperiana double x = Math.exp(1); x = 2.71828182845904;
log Logaritmo neperiano double x = Math.log(2.7172); x = 0.99960193833500;
pow Potencia double x = Math.pow(2.3) ; x = 8.0 ;
round Redondeo double x = Math.round(2.5); x = 3;
random Nmero aleatorio double x = Math.ramdom(); x = 0.20614522323378;
Destacar que las funciones matemticas, al pertenecer a la clase Math, se invocan siempre de la
siguiente manera: Math.funcion(argumentos).
Las funciones relacionadas con ngulos (atan, cos, sin, tan, etc.) trabajan en radianes. Por tanto, paraoperar con grados, tendremos que realizar la conversin oportuna.
La funcin random ,permite generar nmeros aleatorios en el rango ]0,1[. Por tanto el 0 y el 1 estn
excluidos.
La funcin exponenciacin neperiana o exponenciacin de e, matemticamente significa ex, que en Java
sera Math.exp(x),donde x es un nmero real y la base es la constante neperiana e = 2.7172...
La funcin logaritmo neperiano, matemticamente significa Ln x, que en Java correspondera a la
expresin Math.log(x).
7/25/2019 Prog. Java Nivel I
57/85
La funcin potencia, matemticamente significa baseexponente, que en Java se convertira en
Math.pow(base,exponente),donde base y exponente son nmeros reales, por lo tanto, si queremos
obtener la raz cubica de 2,la instruccin sera Math.pow(2,0.333).
No hay una funcin directa para obtener la parte entera de un nmero real, pero para estos casos, se
puede obtener de la siguiente manera:
int x = (int)(8.7); --> x = 8;
int x = (int)(-8.7); --> x = -8;
Aclarar, que obtener la parte entera es distinto a redondear.
Si vas a trabajar con constantes fsicas o matemticas, te resultar de inters la instruccin
final pa ra la de cla ra ci n de constantes . La vent aja de declara r una cons tant e en ve z de una
variable, consiste en que la constante no puede variar en el transcurso del programa. Por tanto, se
impide que por error pueda tener un valor no vlido en un momento dado. Las constantes facilitan
la documentacin del program a y lo hacen fcil de modificar. Una declaracin tipo de constante
po dr a se r la sig uien te:
fin al double pi = 3.1 4159265358979;
Sin embargo, el propio Java tiene una constante propia para definir la constante matemtica PI:
public st atic fina l do uble PI;
El siguiente programa, mostrar su uso en la conversin de un angulo sexagesimal a radianes.
pu blic class Pro gr am a {
pu blic st atic vo id m ain(S tr ing ar gs []) {
double sexagesimal = 30;
double radianes = Math.PI/180 * sexagesimal;
System.out.println("Angulo en radianes : "+radianes);
}
}
Prxima entrega: CU00515A
7/25/2019 Prog. Java Nivel I
58/85
Generacin de nmeros aleatorios
en Java. (CU00515A)
Seccin: Cursos
Categora: Lenguaje de programacin Java Nivel I
Fecha ltima actualizacin: 2010
Autor: Walter Sagstegui Lescano
Resumen: Entrega n14 del Curso Lenguaje de programacin Java Nivel I"
10
7/25/2019 Prog. Java Nivel I
59/85
GENERACIN DE NMEROS ALEATORIOS
La clase Random proporciona un generador de nmeros aleatorios. Es ms flexible que la funcin
randomde la clase Math,que vimos en funciones matemticas.
La generacin de nmeros aleatorios adquiere gran relevancia para un programador, pudiendo tenerdistintas aplicaciones como:
Construccin preliminar de programas, en los que a falta de datos definitivos, introducimos datos
aleatorios.
Simulacin de procesos aleatorios (nmero resultante de tirar un dado, eleccin de un color por
parte de una persona, nmero premiado en un sorteo de lotera, cantidad de personas que entran
a un supermercado en una hora...)
Verificacin de programas, y en particular lo que en verificacin de algoritmos se conoce como
verificacin aleatoria (probar el programa con distintos supuestos aleatorios).
Otras aplicaciones.
Conviene recordar que "aleatorio" no puede confundirse con "cualquier cosa", "descontrol", "incierto",
"impredecible", etc. Usaremos el vocablo "aleatorio", ms en el sentido de "no predeterminado" que
el de "no predecible", ya que en general, vamos a definir qu tipo de resultado queremos obtener y en
qu rango de valores debe estar. Vamos a imaginar que Java genera nmeros aleatorios, como si fuera
un robot lanzador de dardos muy preciso (robot rnd). De este modo, cuando se le dice que comience a
tirar dardos en distintas posiciones, repite siempre los lugares. Por ejemplo, si la diana est marcada
con nmeros, cada vez que le decimos que tire, genera la misma secuencia: 7, 5, 6, 3, etc. Cmo
conseguir convertir este proceso predefinido en aleatorio? Simplemente, poniendo a girar la diana
(mayordomo randomize), en este caso, a una velocidad que depende del segundo del da en que nosencontremos. As pues, el proceso lo dividimos al decirle al mayordomo que ponga a girar la diana y al
indicarle al robot que dispare. Bueno, un poco simple, pero para qu complicarnos? Veamos los pasos
sintcticos a emplear para crear una secuencia de nmeros aleatorios:
1. Proporcionar a nuestro programa informacin acerca de la clase Random. Al principio del programa
escribiremos la siguiente sentencia:
Import java.util.Random;
2. Crear un objeto de la clase Random:
La clase Random dispone de dos constructores, para crear un objeto. El primer constructor es:
Random rnd = new Random();
crea un generador de nmeros aleatorios cuya semilla es inicializada automticamente, en base al
tiempo actual. Esto conlleva que en cada ejecucin la semilla cambie, es decir, que la secuencia de
nmeros aleatorios que se genera en cada ejecucin siempre ser diferente.
7/25/2019 Prog. Java Nivel I
60/85
El segundo constructor es:
Random rnd = new Random(ncalzar_semlla);
nos permte ncalzar la semlla manualmente con un nmero entero cualquera. S este nmero es el
msmo en cada ejecucin, la secuenca de nmeros aleatoros que se genera en cada ejecucn ser
gual.
3. Llamar a una de las funciones miembro que generan un nmero aleatorio:
Hay cuatrofunc ione s miem brodferentes que generan nmeros aleatoros:
Funcin miembro Descripcin Rango
rnd.nextInt() Nmero aleatoro entero de tpo nt 322yro
2
rnd.nextLong() Nmero aleatoro entero de tpo long 2-64 y 264
rnd.nextFloat() Nmero aleatoro real de tpo float [0,1[
rnd.nextDouble() Nmero aleatoro real de tpo double [0,1[
Cas sempre, para generar un nmero aleatorio, se usa la funcin miem bro rnd.nextDouble().El valor
devuelto es de tpo double. Un aspecto mportante a tener en cuenta, es que el valor devuelto se
encuentra en el rango mayor o gual a cero y menor a 1. Es decr, el nmero devuelto puede ser cero
pero no puede ser uno.
En el sguente ejemplo mostraremos todo lo expresado hasta este momento:
mportjava.til. Random;
public class Programa {
public static void main(String arg[]) {
Random rnd = new Random();
System.out.prmtlnf'Nmero aleatorio real entre [0,1[: "+rnd.nextDouble());
}
J ____________________________________________________________________________
En el caso de necestar nmeros aleatoros enteros en un rango determnado, podemos trasladarnos a
un ntervalo dstnto, smplemente multplcando, aplcando la sguente frmula general:
(int) (rnd.nextDouble() * cantidad_nmeros_rango + trmino_inicial_rango)
donde (nt) al nco, transforma un nmero decmal doubleen entero int,elmnando la parte decmal.
7/25/2019 Prog. Java Nivel I
61/85
Por ejempIo, si deseamos nmeros enteros comprendidos entre eI rango [0,99], incIuidos Ios extremos,
Ia frmuIa quedara de Ia siguiente manera:
(int)(rnd.nextDoubIe() * 100 + 0); ^ (int)(rnd.nextDoubIe() * 100);
100 es Ia cantidad de nmeros enteros en eI rango [0,99] y 0 es eI trmino inicia! deI rango.
En eI caso de querer nmeros aIeatorios enteros comprendidos entre [1,6], que son Ios Iados de un
dado, Ia frmuIa quedara as.
(int)(rnd.nextDoubIe() * 6 + 1);
6 es Ia cantidad de nmeros enteros en eI rango [1,6] y 1 es eI trmino iniciaI deI rango.
A continuacin, daremos dos programas compIetos , como ejempIo para expIicar eI cambio de semiIIa
en Ia generacin de nmeros aIeatorios:
importjava.utiI.Random;
public class Programa {
public static void main(String arg[ ]) {Random rnd = new Random();
System.out.printIn("Primera secuencia."+"\n");
System.out.printIn(rnd.nextDoubIe());
Syste