Programación Básica Con Java

26
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

description

Programacion de Java, Lenguaje Java, Variables, Sintaxis

Transcript of Programación Básica Con Java

Page 1: 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

Page 2: Programación Básica Con Java

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/

Page 3: Programación Básica Con Java

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:

Page 4: Programación Básica Con Java

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.

Page 5: Programación Básica Con Java

Programación Básica con Java 41

Page 6: Programación Básica Con Java

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.

Page 7: Programación Básica Con Java

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.

Page 8: Programación Básica Con Java

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.

Page 9: Programación Básica Con Java

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.

Page 10: Programación Básica Con Java

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:

Page 11: Programación Básica Con Java

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.

Page 12: Programación Básica Con Java

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:

Page 13: Programación Básica Con Java

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:

Page 14: Programación Básica Con Java

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:

Page 15: Programación Básica Con Java

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.

Page 16: Programación Básica Con Java

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

Page 17: Programación Básica Con Java

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.

Page 18: Programación Básica Con Java

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).

Page 19: Programación Básica Con Java

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.

Page 20: Programación Básica Con Java

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

Page 21: Programación Básica Con Java

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:

Page 22: Programación Básica Con Java

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.

Page 23: Programación Básica Con Java

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.

Page 24: Programación Básica Con Java

Programación Básica con Java 60

Ingrese un valor entero e imprima cuántos dígitos pares e impares tiene.

Page 25: Programación Básica Con Java

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.

Page 26: Programación Básica Con Java

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 }