Programación Básica Con Java
-
Upload
juan-paredes -
Category
Documents
-
view
238 -
download
0
description
Transcript of Programación Básica Con Java
Programa Java Fundamentals Developer
Programación Básica con Java
Al finalizar el capítulo, el alumno podrá:
Reconocer y aplicar un código de programación Java.
Temas
1. IDE Java
2. Consola
3. Depuración
4. Programas fuentes y compilados
5. Instrucciones repetitivas
6. Instrucciones condicionales
7. Instrucciones de transferencia
8. Combinaciones
9. Excepciones
Programación Básica con Java 38
1. IDE Java
1. IDE Java
El IDE NetBeans es una herramienta para programadores, pensada para escribir, compilar, depurar y ejecutar programas. Está escrito en Java, pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para extenderlo. Además, NetBeans es un producto libre y gratuito sin restricciones de uso. NetBeans soporta el desarrollo de todos los tipos de aplicación Java (J2SE, web, EJB y aplicaciones móviles). Entre sus características se encuentra un sistema de proyectos basado en ant, control de versiones y refactoring. Asimismo, extiende las características existentes del Java EE (incluyendo Soporte a Persistencia, EJB 3 y JAX-WS). Adicionalmente, el NetBeans Enterprise Pack soporta el desarrollo de aplicaciones empresariales con Java EE 5, incluyendo herramientas de desarrollo visuales de SOA, herramientas de esquemas XML, orientación a web servicies (for BPEL) y modelado UML. El NetBeans C/C++ Pack soporta proyectos de C/C++, mientras el PHP Pack, soporta PHP 5. Todas las funciones del IDE son provistas por módulos. Cada módulo provee una función bien definida, tales como el soporte de Java, edición o soporte para el sistema de control de versiones. NetBeans contiene todos los módulos necesarios para el desarrollo de aplicaciones Java en una sola descarga permitiendo al usuario comenzar a trabajar inmediatamente. NetBeans se puede descargar del siguiente enlace:
http://netbeans.org/downloads/
Programación Básica con Java 39
1.1 Instalación de NetBeans
La opción de descarga es All, y el archivo descargado es netbeans-7.4-ml-windows.exe. Cuando se encuentre en el disco, solo debe dar doble clic sobre él y se podrá ver el siguiente diálogo.
Para seleccionar la instalación del Servidor Apache Tomcat 7.0.41, se deberá hacer clic en el botón Customize. A continuación, se debe realizar la secuencia de las siguientes pantallas por defecto:
Programación Básica con Java 40
Luego, se pulsa en el botón OK y se retornará al cuadro de diálogo anterior, donde ya se tendrá seleccionado Apache Tomcat 7.0.41.
Después, se pulsa en el botón Next, y se aceptan los términos de licencia del NetBeans.
Programación Básica con Java 41
Programación Básica con Java 42
El diálogo de finalización es el siguiente (clic en Install). En este punto se ha terminado con las opciones de instalación y por lo tanto, el programa procede con la instalación. Cuando NetBeans ha sido instalado, se notará un grupo más (NetBeans) en Todos los Programas. Ejecute NetBeans 7.4 para probar.
Programación Básica con Java 43
Luego, puede apreciar la ventana de bienvenida de NetBeans que tiene una serie de links para visitar documentación, proyectos demostrativos y otros, como se muestra a continuación.
Programación Básica con Java 44
2. Consola
2. Consola
En Java, todo código
generalmente, se
desarrolla en una
clase (class Hola)
Un programa básico en Java podría ser el siguiente:
Donde:
La línea 1 indica el paquete (carpeta) donde se guardará el archivo.
La línea 3 define una clase pública (Hola) y será el nombre del archivo.
La línea 5 declara el método main por donde empezará la ejecución del programa.
La línea 7 imprimirá en consola: Hola mundo… Este programa será guardado con el nombre Hola.java, el nombre del archivo debe ser completamente igual al nombre de la clase (Hola). Una clase es un prototipo que define las variables y los métodos comunes a un cierto tipo de objetos. Las clases son las plantillas, de las que luego, se pueden crear múltiples objetos del mismo tipo. La clase define las variables y los métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones.
Programación Básica con Java 45
El método main es el punto de ejecución de una aplicación que puede constar de muchos archivos, pero solo uno de ellos tendrá al método main. Para este ejemplo la sentencia System.out.println("Hola a todos!"); imprimirá un mensaje en la consola. Para ejecutar el programa, se deberá hacer clic derecho sobre el código y seleccionar Run File.
2.1 Ingreso de datos por consola
No existe instrucción directa en Java para el ingreso de datos, pues el lenguaje asume que el dispositivo lo proveerá. En este caso, para el ingreso de datos por consola, se tiene a partir del JDK 1.5 la clase Scanner. El siguiente programa ilustra sus usos:
El programa solicita un nombre que después de ingresarlo y pulsar <enter>, muestra un mensaje de bienvenida con el nombre ingresado.
Programación Básica con Java 46
3. Depuración
3. Depuración
La depuración es un aspecto importante en programación, pues con ella, se detecta fácilmente donde está el error o resultado no esperado. Para depurar, primero se agrega un break point a una línea del programa, esto se logra dando clic en el número de línea.
Luego, se hace clic derecho sobre el código de programa y del menú flotante que se muestra, seleccione Debug File. La ejecución del programa se detiene en la línea que contiene el break point, la cual se pinta de verde; además, se activan los siguientes toolbar:
Programación Básica con Java 47
Estos botones, según el orden en el que se muestran, ejecutarán las siguientes acciones:
1. Step Over: permite avanzar a la siguiente línea. 2. Step Over Expression: avanza sobre partes de la línea . 3. Step Into: permite ingresar al código del método del cual se esté invocando. 4. Step Out: permite salir del código del método del cual se esté invocando. 5. Run to Cursor: hace un salto de ejecución hasta donde está el cursor.
También, se puede activar la ventana Variables (menú Window / Debugging / Variables) para poder apreciar el valor que van tomando las variables conforme se van ejecutando las líneas del programa.
Programación Básica con Java 48
4. Programas fuentes y compilados
4. Programas fuentes y compilados
La carpeta de instalación de Java (jdk1.7.0_05 / bin) contiene todas las utilidades y bibliotecas del lenguaje Java. El IDE de NetBeans se comunica en todo momento con estas utilidades. Por ejemplo:
Para compilar el programa (Hola.java), NetBeans utiliza a javac.exe, el cual devuelve un archivo .class (Hola.class)
Para interpretar un archivo .class, NetBeans utiliza a java.exe el cual lo muestra en consola, solo si tiene el método main.
Asimismo, en la carpeta bin,, se encuentran otras herramientas de Java, con las que se podrá compilar, ejecutar, documentar, empaquetar y muchas otras tareas, propias del entorno. Con respecto al primer programa Hola.java, para llegar a ejecutarlo y verlo en consola, se deberá pasar por el proceso siguiente:
Programación Básica con Java 49
5. Instrucciones repetitivas
5. Instrucciones repetitivas
Instrucciones repetitivas de Java
while
do
for
Ejecutan un bloque de sentencias tantas veces como su condicional arroje
true.
Una instrucción repetitiva ejecuta un bloque de sentencias, tantas veces como la condición que lleve como argumento, devuelva true. Este bloque de sentencias se conoce como proposición, la cual se ejecuta hasta que la expresión de su condición devuelva false. Java cuenta con 3 instrucciones repetitivas:
while
do
for Si se desea mayor información oficial de las sentencias repetitivas de Java, navegar el siguiente URL:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html
5.1 Instrucción While
Tiene una condición de entrada, es decir, si desde el inicio la condición arroja false, entonces nunca se ejecutará el grupo de sentencias (proposición); en caso contrario, ejecuta el grupo de sentencias tantas veces hasta que la condición devuelva false. Un ejemplo sencillo con while podría ser solicitar un valor entero (que en Java puede tener hasta 10 dígitos) y que luego, imprima cuantos dígitos tiene dicho valor entero. El siguiente código muestra una posible solución:
Programación Básica con Java 50
Para contar dígitos, se obtiene el último digito y se contabiliza; luego, al valor se le resta el último digito y luego, se le quita dividiendo entre 10 volviendo a evaluar el valor hasta que éste sea 0 (cero).
5.2 Instrucción Do
Tiene una condición de salida, es decir, de todas maneras ejecuta la proposición y sigue ejecutándola hasta que la condición arroje false. Un ejemplo sencillo con do podría ser, solicitar N valores hasta que se ingrese el valor 0 (cero) y luego, imprimir cuantos valores fueron solicitados por el cliente sin considerar el último valor ingresado (cero). El siguiente código muestra una posible solución:
Programación Básica con Java 51
Como se puede apreciar, se están solicitando valores que se contabilizan, mientras éste sea diferente de cero. Cuando el valor es cero, termina imprimiendo la cantidad de los valores ingresados menos 1, ya que el último, que es cero, no debe considerarse.
5.3 Instrucción For
Es tal vez la más compleja de las instrucciones repetitivas, por presentar 3 argumentos: inicialización, control y actualización. La proposición se ejecuta tantas veces como el control lo permita con el valor true. Por otro lado, el argumento inicialización, solo se ejecuta una sola vez al inicio de la interacción, mientras que la actualización tantas veces como la proposición. Un ejemplo sencillo con For podría ser, imprimir la tabla de multiplicar del 1 al 12.
Para una posible solución se tiene que usar un for dentro de otro for, a esto se conoce como anidamiento de instrucciones.
Programación Básica con Java 52
El siguiente código ilustra la solución con un anidamiento de for:
La proposición del primer for (i) es la caja de líneas discontinuas. La proposición del segundo for (j), más interno, es la salida de la tabla de multiplicar solicitada. La salida será la siguiente:
1 * 1 = 1 1 * 2 = 2 . . . 2 * 1 = 2 2 * 2 = 4 . . . 12 * 1 = 12 12 * 2 = 24 . . . 12 * 12 = 144
Programación Básica con Java 53
6. Instrucciones condicionales
6. Instrucciones condicionales
Instrucciones condicionales de Java
if
else
Switch
Permiten tomar decisiones en función a la condición que llevan como
argumento.
Una instrucción condicional es aquella que, en función a un resultado (true o false) de una condición, ejecutará una proposición para luego, seguir con la ejecución secuencial de las sentencias del algoritmo. Java cuenta con 3 instrucciones condicionales:
if
else
switch Si se desea mayor información oficial de las sentencias condicionales de Java, se puede navegar en el siguiente URL:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html
6.1 Instrucciones if / else
Son condiciones que pueden trabajar juntas; sin embargo, la instrucción else es opcional, mientras que if es obligatoria. La proposición a ejecutar por alguna de ellas, está en función al valor devuelto por el resultado de la expresión que lleva como condición la instrucción if, que puede ser true (ejecuta la proposición de if) o false (no ejecuta la proposición de if, pero sí la de else si hubiese). Un ejemplo sencillo con if / else podría ser, solicitar dos valores para luego, imprimir el mayor de ellos sin son diferentes o el mensaje que son iguales si lo fueran.
Programación Básica con Java 54
El siguiente código muestra una posible solución:
Se puede apreciar en esta solución, que se tiene anidamiento de la instrucción if, porque hay 3 posibles respuestas:
1. Que x1 sea al mayor. 2. Que x2 sea el mayor. 3. Que ambos valores sean iguales.
6.2 Instrucción switch
Esta instrucción condicional tiene una sola condición, pero varios casos de respuesta en función a su resultado de coincidencia y con cada uno de sus casos, ejecutará la proposición correspondiente. La instrucción switch se activa en el momento que alguno de los casos coincida con el valor de la expresión, entonces a partir de allí, ejecuta todos los casos. Una forma de evitar que los demás casos se ejecuten, también puede ser utilizando una instrucción de transferencia (break).
Programación Básica con Java 55
Un ejemplo sencillo con switch podría ser, solicitar un número de día de la semana (de 0 a 6, siendo 0 el domingo), para luego imprimir a qué día de la semana corresponde dicho número ingresado.
El siguiente código ilustra la solución usando switch:
En este caso, si el número (x) ingresado es 0 (cero), se imprime domingo; si es 1, lunes, y así sucesivamente. Además, si el número ingresado no pertenece al rango [0, 6] se imprimirá número incorrecto.
Programación Básica con Java 56
7. Instrucciones de transferencia
7. Instrucciones de transferencia
Instrucciones de transferencia en Java
break
continue
Permiten hacer saltos de varias sentencias hacia arriba o hacia abajo.
Se ejecutan dentro de una instrucción repetitiva, excepto break con switch.
Una instrucción de transferencia es aquella que permite saltar varías líneas de sentencias hacia arriba o hacia abajo del algoritmo de programación. Para poder ser usada debe estar dentro de una instrucción condicional, que a su vez esté dentro de una instrucción repetitiva; excepto la instrucción break que puede usarse dentro de una instrucción swith para saltar varios casos de comparación hasta el final de la instrucción (ver formato de swith, salto es break). Java cuenta con 2 instrucciones transferencia.
break
continue Si se desea mayor información oficial de las sentencias condicionales de Java, navegar en el siguiente URL:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html
Programación Básica con Java 57
7.1 Instrucción break
Esta instrucción permite, literalmente, romper la interacción de una instrucción repetitiva. La imagen siguiente muestra una instrucción repetitiva que tiene varias sentencias y entre ellas, hay una condicional (if) que si su condición es true, entonces se ejecuta break; por lo tanto, en ese momento la ejecución salta al final del bloque de la repetitiva haciendo que ésta termine.
repetitiva {
sentencia1;
sentencia2;
if (...) break;
sentencia3;
…
sentenciaN;
}
Cuando se ejecuta la instrucción break, automáticamente la instrucción repetitiva termina, ya que break salta a la sentencia después del bloque de la repetitiva. Un ejemplo sencillo con break podría ser, solicitar varios valores hasta que se ingrese un valor múltiplo de 7 y el algoritmo termina imprimiendo dicho valor. El siguiente código ilustra la solución usando break:
Programación Básica con Java 58
Solo cuando el valor es múltiplo de 7, su módulo con 7 da como resultado cero, entonces se ejecuta break haciendo que el algoritmo termine imprimiendo el mensaje que el valor es múltiplo de 7.
7.2 Instrucción continue
Esta instrucción a diferencia de break, hace que la instrucción repetitiva siga con su interacción, pero todas las sentencias que estuviesen después de la instrucción continue no se ejecutarían. La siguiente imagen ilustra su efecto:
repetitiva {
sentencia1;
sentencia2;
if (...) continue;
sentencia3;
…
sentenciaN;
}
No se ejecutan
Cuando se ejecuta continue, las sentencias de 3 a N son ignoradas, no se ejecutan, como si no estuviesen allí. Un ejemplo sencillo con continue podría ser, imprimir los múltiplos de 7, de 2 dígitos ([10, 99]). El siguiente diagrama ilustra la solución usando break.
Programación Básica con Java 59
8. Combinaciones
8. Combinaciones
La combinación de instrucciones permite mostrar la habilidad del programador para desarrollar óptimos algoritmos, es decir, pocas líneas y de ejecución rápida. Las instrucciones de control se agrupan en las siguientes categorías:
Repetitivas while do for
Condicionales if else switch
De Transferencia break continue
A continuación, se muestra un ejemplo que ilustra dicha combinación.
Programación Básica con Java 60
Ingrese un valor entero e imprima cuántos dígitos pares e impares tiene.
Programación Básica con Java 61
9. Excepciones
9. Excepciones
Para controlar el flujo de un programa en Java, como se ha visto hasta ahora, puede hacerse mediante las ya conocidas sentencias estructuradas (if, while, break). Pero Java va mucho más allá, mediante una técnica de programación denominada excepciones. Mediante las excepciones se podrán evitar posibles errores o peligros en el código, así como, avisar a otros objetos de una condición anormal de ejecución, a fin de tomar las medidas necesarias. El siguiente código es un fragmento de una clase que será creada en el siguiente capítulo; se tiene la función entero que lo que hace es validar si el contenido de una cadena puede formar un entero, retornando true si es posible.
La línea 9 intenta convertir a entero x la cadena s. Si lo logra retorna true; caso contrario, false.
La línea 9 se ejecuta si es que no se puede convertir la cadena en entero. Su argumento NumberFormatException se activa, si la cadena no tiene el formato de un número.
Programación Básica con Java 62
La sentencia try catch, puede tener varios catch para atender varios posibles problemas que puedan presentarse, siendo los primeros catch más específicos y los siguientes más generales.
try { // Código con posibles problemas } catch (NumberFormatException e) { // Código para solucionar valor no bien formado } catch (Exception e) { // Código para solucionar otro posible problema }
También, se puede usar un formato con finally, cuyo código se ejecuta de todas maneras, después de terminar try o después de terminar catch. try { // Código con posibles problemas } catch (NumberFormatException e) { // Código para solucionar valor no bien formado } catch (Exception e) { // Código para solucionar otro posible problema } finally { // Código que se ejecuta de todas maneras }