100%(2)100% encontró este documento útil (2 votos) 776 vistas267 páginasProgramacion en Java
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Wan }
et)
ek
"S&S Java
Serna A OBUJETOS
A TRAVES DE EVEMPLOS nnUniversidad Laica Eloy Alfaro de Manabi
Ciudadela universitaria via circunvalacién (Manta)
wwwz.uleam.edu.ec
Autoridades:
Miguel Camino Solérzano, Rector
liana Fernandez, Vicerrectora Académica
Doris Cevallos Zambrano, Vicerrectora Administrativa
Programacién en Java. Orientada a objetos a través de ejemplos
‘©Edwin René Guamédn Quinche
©José Oswaldo Guamén Quinche
©Daysi Mireya Erreyes Pinzén
©Hlernén Leonardo Torres Carrién
Revision pares académicos:
Nombre: René Rolando Elizalde Solano
Instituci6n: Universidad Técnica Particular de Loja
Tiempo completo
Teléfono: 0994049481
Email: rrelizalde@utpl.edu.ec
Nombre: Freddy Patricio Ajila Zaquinaula
Institucién: Escuela Superior Politécnica de Chimborazo
Tiempo completo
Teléfono: 098057220
Bmail: freddy.ajila@espoch.edu.ec
Consejo Editorial: Universidad Laica Eloy Alfaro de Manabi
Director Editorial: Herndn Murillo Bustillos
Diseio de cubierta: José Marquez
Diseno y diagramacion: José Marquez
Estilo, correccién y edicién: Alexis Cuzme (DEPU)
ISBN: 978-9942-775-05-4
Edicién: Primera. Noviembre 2017
Departamento de Edicién y Publicacién Universitaria (DEPU)
Editorial Mar Abierto
2623 026 Ext. 255
www.marabierto.uleam.edu.ec
www.depu.uleam.blogspot.com
www.editorialmarabierto.blogspot.com
Manta - Manabf - EcuadorDEDICATORIA
A Dios que es mi fortaleza, a mis padres por el apoyo y amor recibido, a mi querida
‘esposa ¢ hijos que son mi fuente de inspiracién y el motivo de superacién.
René
A mi familia, quienes han estado a mi lado todo este tiempo, a mis padres y
hermanos por apoyarme en todo este proceso y a todas aquellas personas que me
prestaron su ayuda.
José
Con reverencia y admiracion a Dios, porque es la luz. que ha guiado mi existencia
desde siempre; a mi esposo por su apoyo incondicional y a mis tres hijos quienes
con su inocencia y amor se han convertido en la principal inspiracién de todos mis
logros y éxitos.
Mireya
A mi familia, especialmente a mis padres que son ejemplo de lucha y progreso, a
mis hermanos Patil y Renato, y a mi querida esposa Natalia y a mis hijos Nicolas y
Felipe quienes son mi fuente de inspiraci6n y el motor de mi superacién.
HernanRESUMEN
En este libro se ejemplifica como programar con Java, para ello ha sido necesario contar
con el aporte de varios colaboradores en el campo de desarrollo de aplicaciones
informaticas, lo que ha permitido que la realizacién del presente trabajo sea posible y que
sobre todo sirva a las futuras generaciones de programadores.
En su estructura consta de varias secciones y al final de cada una los respectivos ejemplos
y cuestionarios, que han permitido exponer de forma concreta conceptos esenciales en la
vida de un buen desarrollador; en el capftulo uno se da a conocer la introduccién de la
programacién orientada a java, encontrar caracteristicas, versiones, jdk y su respectiva
configuracién; el capftulo dos esté orientado a los fundamentos y requisitos hdsicos para
iniciar un programa en java como palabras reservadas, manejo de comentarios, errores
comunes, paquetes y la manera correcta de importarlos; en el capitulo tres se detalla el
uso de tipos de datos primitivos, identificadores, variables y constantes como elementos
claves en la creacién de cualquier programa; el cuarto capitulo se orienta al manejo de
todos los tipos de operadores que son posibles de manipular en java; en el capitulo cinco
estan descritas las estructuras de control necesarias para controlar el flujo de los datos; en
el capitulo seis se encuentra una seccién completa del manejo adecuado de los métodos y
pardmetros; las clases y los objetos se detallan en el capftulo siete;
en el capitulo ocho se
detalla la estructura de un tipo de dato enumerado como datos simple o como un objeto;
en el capitulo nueve se da a conocer una caracterfstica muy interesante que es la herencia,
con sus respectivos conceptos como jerarquia, redefinicién y sobre escritura de elementos
y la sentencia sper; en el capftulo diez se definen los conceptos relacionados con la
programacién de interfaces y clases abstractas; en el capitulo once se explica los
mecanismos de implementacién al establecer las relaciones entre clases. En el capitulo
doce se introduce al manejo de excepciones y la diferencias entre errores de compilacién y
de ejecucién; en el capitulo trece se describe las principales clases utilizada por los
programadores para diseftar sus programas y las clases envolventes; en el capitulo catorce
se explica el manejo de cadena a través de sus métodos mas importantes. Para finalizar se
realiza una explicacién del manejo de arreglos y matrices a través de ejemplos.
Palabras clave:
java, objetos, programacién.CONVENCIONES TIPOGRAFICAS
Se ha adoptado un conjunto de convenciones tipogréficas con el objetivo de
‘mejorar la lectura de los conceptos y comprender los ejercicios planteados.
Los estilos empleados en el texto son:
- El texto general del libro se utiliza la letra Times New Roman.
~ Las palabras reservadas se destacan con color morado. Ejemplo: new, for, if,
etc.
- Los nombres de los programas, clase, métodos se destacan con tipo de letra
Courier (11 puntos). Ejemplo: Estudiante, mostraMensaje, IPersona, etc
- Toda palabra que no sea en espajiol, se destacan con cursiva. Ejemplo:
String Development Kit, swing
Los estilos empleados en los ejemplos son:
~ Se han omitido las tildes y eftes en los identificadores de los ejemplos
propuestos al ser Java un lenguaje escrito en inglés. Ejemplo: anio, dias,
numero, etc.
- Los ejemplos normalmente estén completos y por lo tanto se pueden
escribir y probar. Se los ha encerrado en cajas y estin numerados. El texto
de los ejemplos emplea un tipo de letra de paso fijo Courier. Ejemplo:
Ejemplo 4 Estilo del c6digo Java
public class Computadora {
String marca;
double precio;
public void prender( ){
// bloque de cédigo del método
String mensaje = "Se prendi
System.out-printIn(mensaje);
- Los mimeros de linea permiten hacer referencia a una instruccién concreta
del cédigo.- Los ejemplos parciales tienen el mismo formato que un ejemplo completo,
pero no se colocard su titulo.
1 | intaumero
2 | String mensaje = "Se prendi
~ Lasalida que genera un c6digo de ejemplo o un programa se encierra en un
cuadro y estan numerados (el texto de las salidas emplea un tipo de letra de
paso fijo Courier). Ejemplo:
programas librosjava MayorTresNumeros
Ingrese el primer nimero
7
Ingrese el segundo nimero
8
Ingrose el tercer niimero
6
Elniimero mayor es = 8
Los estilos empleados en los cuadros de sintaxis y recomendaciones:
- Las sintaxis de cada elemento va encerrado en un cuadro sin numeracién.
Ejemplo:
import java.paquete.NombreClase1;
import java.paquete.NombreClase2;
- Las recomendaciones 0 sugerencias va encerrado en un cuadro sin
numeracién. Ejemplo:
Se recomienda que al definir una clase, se establezca el inicio y final de la clase a
través de la llave abierta y cerrada {), los programadores que estan aprendiendo
este lenguaje de programacién, suelen olvidar cerrar la clase, esto ayudara a
evitar errores al momento de compilar sus aplicaciones.Contenido
INTRODUCCION. = cass
1 FUNDAMENTOS DE JAV.
1.1 INTRODUCCION...
1.2 CARACTERISTICAS. 7
13. VERSIONES.
14 JD
15 JVM.
16 JRE
1.7 INSTALACION Y CONFIGURACION DE JAVA.
1.7.1 WINDOWS...
17.2 LINUX.
2. FUNDAMENTOS DE LA PROGRAMACION DE JAVA..
2.1 INTRODUCCION A LAS CLASES.
22 PALABRAS RESERVADAS.
23 COMENTARIOS....
24 METODO Main...
25 PRIMER PROGRAM.
24
2.6 ERRORES COMUNES AL COMPILAR UNA CLASE.
2.7 PAQUETES E IMPORTACIONES.
28 — EJEMPLOS.
29 — CUESTIONARIO....
3. TIPOS DE DATOS PRIMITIVOS, IDENTIFICADORES.
3.11 TIPOS DE DATOS PRIMITIVOS.
3.1.2 DATOS ENTEROS:
3.1.3 DATOS DECIMALES:
3.14 DATOS CARACTER.
315 DATOS LOGICOS..
3.2 Variables, Identificadores y constantes
3.21 VARIABLE...
3.2.2 IDENTIFICADORES.
3.2.3 CONSTANTES.
3.3 EJERCICIOS. i i 56
34 CUESTIONARIO...
4 OPERADORES:
41 INTRODUCCION 60
49
5042
43
44
45
46
47
48
49
4.10 EJERCICIOS.
ait
5 _ ESTRUCTURAS DE CONTROL.
54
52
5.2.1 ESTRUCTURA if- then.
5.2.2 ESTRUCTURA if/ else..
5.2.3 ESTRUCTURAS CONDICIONALES ANIDADOS..
5.24 OPERADOR TERNARIO.
5.2.5 ESTRUCTURA switch.,
53
5.3.1 ESTRUCTURA for.
5.3.2 ESTRUCTURA while.
5.3.3 ESTRUCTURA do while.
OPERADORES ARITMETICO!
OPERADORES DE RELACION.
OPERADORES CONDICIONALES..
OPERADORES A NIVEL DE BIT:
OPERADOR DE ASIGNACION.
OPERADOR DE INCREMENTO Y DECREMENTO..
ZOPERADOR TERNARIO
PRECEDENCIA DE OPERADORES.
CUESTIONARIO....
INTRODUCCION...
ESTRUCTURAS CONDICIONALES 0 SELECTIVAS....
ESTRUCTURAS REPETITIVAS..
53.1.1 Bucles Infinitos.
5.3.12 Términos miiltiples en la declaracién del bucle for,
5.3.13 BUCLE FOR ANIDADOS..
5.34 SENTENCIAS DE SALIDA DE UN BUCLE. ae)
5.3.4.1 SENTENCIA breal
5.3.4.2 SENTENCIA continue.
5.4 EJERCICIOS.
55 CUESTIONARIO.... 06
6 METODO: 12
61 DEFINICION DE METODOS. seen 12
62 — METODOS QUE NO DEVUELVE NINGON VALOR Y SIN PARAMETRO:
6.3 METODOS QUE DEVUELVE UN VALO}
64 PARAMETROS DE UN METODO
65 — EJERCICIOS.
66
CUESTIONARIO....7 CLASES Y OBJETOS...
71 CLASE..
7.1.1 ATRIBUTOS..
72 CONSTRUCTOR...
7.21 CONSTRUCTOR POR DEFECTO...
7.2.2 CONSTRUCTOR CON PARAMETROS.
7.3 OBJETOS.
74 — MODIFICADORES DE ACCESO...
74.1 MODIFICADOR PUBLICO...
7.4.2 MODIFICADOR PRIVADO...
743 MODIFICADOR PROTEGIDO.
7.44 — MODIFICADOR POR DEFECTO.
7.5 SENTENCIA this...
7.6 — ATRIBUTOS Y METODOS ESTATICOS.
7.7 CUESTIONARIO....
& DATOS DE TIPO ENUMERADO..
81 — INTRODUCCION...
82 DEFINICION..
83 DATOS DE TIPO ENUMERADO AVANZADOS.
84 EJEMPLOS.
85 CUESTIONARIO...
9 HERENCIA..
9.1 DEFINICION.
9.2 JERARQUIA DE CLASES.
9.3. REDEFINICION 0 SOBRE ESCRITURA DE ELEMENTOS.
94 SENTENCIA sper.
95 CLASE OBJECT.
9.6 — BJBRCICIO..
9.7 CUESTIONARIO
10 INTERFACES ¥ CLASES ABSTRACTAS...
10.1. INTERFACES.
10.1.1 ATRIBUTOS EN LAS INTERFACES
10.1.2 IMPLEMENTACION DE VARIAS INTERFACES..
10.2 CLASES ABSTRACTAS.
10.3 EJEMPLO
10.4 CUESTIONARIO....
11 RELACIONES ENTRE CLASE..11.1 DEFINICION..
11.2 ASOCIACION
11.2.1 NAVEGACION DE LAS ASOCIACIONES..
11.3 AGREGACION Y COMPOSICION.
11.3.1 AGREGACION.
11.3.2 COMPOSICION..
12 EXCEPCIONES...
12.1 DEFINICION..
12.2. CAPTURA DE EXCEPCIONES.
12.3 BLOQUE finally...
12.4 LANZAR UNA EXCEPCION
12.5 PROPAGACION DE EXCEPCIONES.
12.6 CREAR PROPIAS EXCEPCIONES.
12.7 PREGUNTAS..
13. CLASES FUNDAMENTALES.
13.1. CLASE Object...
B11
13.12
13.2. CLASES ENVOLVENTE.
13.2.1 CLASE Integer...
CLASE Short.
CLASE Long..
CLASE Float..
CLASE Boolean. #8 gaaml992
CLASE Character.
13.2.9 CONVERSIONES ENTRE LOS TIPOS PRIMITIVOS Y SUS CLASES
ENVOLVENTE
13.3. CLASE Math.
13.4 CLASE Scanner.
13.5. CLASE Date
13.6 EJEMPLOS..
13.7 CUESTIONARIO....
14 MANEJO DE CADENAS.
14.1 DEFINICION..
14.2 COMPARACION ENTRE CADENAS....14.2.1 METODO equal
14.2.2 METODO equalslgnoreCase..
14.2.3 METODO compareTo..
14.3 INFORMACION BASICAS DE CADENA‘
143.1 METODO length.
14.3.2 METODO charAt..
14.4 MANEJO DE CADENAS.
14.4.1 METODO concat
14.4.2. METODO replace.
144.3 METODOtri
14.44 METODO split..
14.4.5 METODOS toUpperCase y toLowerCase.
14.5 METODO CON SUBCADENAS.
14.6 CONVERSION A CADENAS.
14.7. CLASE StringBuilder
14.8 EJEMPLOS..
14.9 CUESTIONARIO....
15 ARREGLOS.
15.1 DEFINICION..
15.2 ARREGLOS UNIDIMENSIONALES.
15.2.1 DECLARACION Y CREACION
15.2.2 LECTURAY ESCRITURA.
15.2.3 BJEMPLOS CON ARREGLOS..
15.3 ARREGLOS BIDIMENSIONALES.
15.3.1 DECLARACION Y CREACION
15.3.2 LECTURAY ESCRITURA.
15.3.3 EJEMPLOS....
BIBLIOGRAFIA...
SOBRE LOS AUTORES
cEINDICE DE FIGURAS
Figura 1 Proceso de ejecucién de una aplicacién Java...
ira 2 Descarga del SDK.
Figura 3 Instalacién correcta del JDK..
Figura 4. Propiedades de mipc.
Figura 5 Propiedades del sistema - variables de entorno.
igura 6 Variable de entorno
Figura 7 Variable de Sistema
Figura 8 Configuracién correcta de JDK.
Figura 9 sudo update-alternatives.
Figura 10 Representacién abstracta del conocimiento
Figura 1 Representacién de la clase Computadora en UML..
Figura 12 Primera Clase...
igura 13 Archivos Computadorajava y Computadora.class..
igura 14 Error de compilaci6n. 38
Figura 15 Representacién de paquetes.. 40
Figura 16 Sintaxis de una estructura selectiva simple... 77
ira 17 Sintaxis de la estructura selectiva doble. 78.
Figura 18 Sintaxis del operador ternario. 83
Figura 19 Sintaxis de la estructura de selectiva miltiple. 87
Figura 20 Sintaxis de la estructura repetitiva para 90
Figura 21 Estructura de una estructura repetitiva while 95
Figura 22 Estructura de la estructura repetitiva hasta que 97
Figura 23 Estructura de un método..
Figura 24 Invocacién a un método
Figura 26 Métodos de la clase en UML.
jgura 27 Métodos de la clase en UML sentencia return. 116
Figura 28 Métodos con parametros.
igura 29 Clase en UML.
Figura 30 Diagrama de clases basico.
ira 31 Estructura de una clase
Figura 32 Atributos en UML.
Figura 33 Estructura de un atributo.
Figura 34 Constructor por defecto
gura 35 Estructura para crear un objeto.
Figura 36 Modificador acceso piiblico
Figura 37 Modificador acceso privado.
Figura 38 Diagrama paquete proyecto libro.
Figura 39 Diagrama de paquetes..
Figura 40 this, diferencia entre atributo y parametro...
Figura 41 Representacién de un tipo de dato enumerado un UML...
‘igura 42 Relacién entre un dato de tipo enumerado y una clase.
Figura 43 Dato de tipo enumerado avanzado.
Figura 44 Relacién entre una clase y un enum,
Figura 45 Representacién de herencia en UML...
Figura 46 Relacién de herenci:Figura 47 Herencia,
Figura 48 Jerarquia de clases.
Figura 49 Sobre escritura de métodos.
Figura 50 Ejemplo de herencia..
Figura 51 Interfaz en UML...
Figura 52 Representacién de la implementacién de interfaces
Figura 53 Implementacién de una interfaz.
Figura 54 Implementacién de varias interfaces.
Figura 55 Clase Abstracta...
Figura 56 Implementaci6n de una clase abstracta
Figura 57 Diagrama interfaces y clases abstractas.
Figura 58 Diagrama Clase Abstracta e Interfaces...
Figura 59 Asociacién unidireccional.
Figura 60 Asociacién unidireccional.
Figura 61 Relacién de asociacién bidireccional.
Figura 62 Asociacién de 1.*
Figura 63 Relacién *.
Figura 64 Representacién de agregacién.
Figura 65 Agregacién entre clases.
Figura 66 Relacién de composicién..
Figura 67 Composicién entre clases.
Figura 68: Diagrama de clase de Excepciones.
Figura 69 Estructura de una cadena.
Figura 70 Representacién de un arreglo,
Figura 71 Partes de un arregl
Figura 72 Valores por defecto en un arreglo de enteros..
Figura 73 Valores por defecto en un arreglo de String.
Figura 74 Escritura de un arreglo
Figura 75 Componentes de una matriz..
Figura 76 Partes de un arregl
Figura 77 Valores por defecto en una matriz de enteros.
Figura 78 Valores por defecto en una matriz de String,
Figura 79 Escritura de una matriz.
13INDICE DE TABLAS
Tabla 1 Palabras reservadas...
Tabla 2 Tag para documentar clases con JavaDoc:
‘Tabla 3 Paquetes principales en java.
‘Tabla 4 Métodos principales de la clase Scanner 42
‘Tabla 5 Caracteres especiales.
Tabla 6 Tipos de datos primitivos.
Tabla 7 Operadores aritméticos,
Tabla 8 Operadores de relaci6n,
Tabla 9 operadores condicionales.
‘Tabla 10 Operadores de bit.
‘Tabla 11 Operador de asignacién = 66
Tabla 12 Operadores de asignacién. 67
‘Tabla 13 Operadores de incremento o decremento. 68
Tabla 14 Precedencia de operadores...
Tabla 15 Reglas para generar los métodos get y set.
Tabla 16 Modificares de acceso.
Tabla 17 Métodos de la clase Enum..
Tabla 18 Métodos de la clase Object.
Tabla 19 Cardinalidades -
Tabla 20 Representacién de la cardinalidad.
Tabla 21 Diferencias entre las relaciones de agregacisn y compos
Tabla 22 Datos primitivos y Clases envolventes.
Tabla 23 Atributos de la clase Integer.
Tabla 24 Métodos principales de la clase Integer .
Tabla 25 Atributos de la clase Short.
Tabla 26 Métodos de la clase Short.
Tabla 27 Atributos de la clase Long.
Tabla 28 Métodos de la clase Long.
Tabla 29 Atributos clase Byte.
Tabla 30 Métodos de ta clase Byte.
Tabla 31 Atributos de la clase Double.
Tabla 32 Métodos de la clase Double.
Tabla 33 Atributos de la clase Float.
Tabla 34 Métodos de la clase Float.
Tabla 35 Atributos de la clase Boolean.
Tabla 36 Métodos principales de la clase Boolean
Tabla 37 Atributos principales de la clase Character.
Tabla 38 Métodos principales de la clase Character.
Tabla 39 Métodos principales de la clase Scanner.
Tabla 40 Métodos principales de la clase Scanner.
Tabla 41 Métodos principales de la clase Date.
Tabla 42 Métodos principales de la clase String.
Tabla 43 Métodos principales de la clase StringBuilder
14INTRODUCCION
El presente libro denominado “Introduccién a la programacién orientada a objetos
en Java a través de ejemplos”, en el que se presentan los fundamentos del lenguaje
Java a través de ejemplos, ha sido desarrollado por un grupo de profesionales de la
Ingenieria en Sistemas que desean compartir sus conocimientos adquiridos en el
quehacer de la ensefianza a nivel universitario.
La idea de desarrollar este libro, surge como fruto de la experiencia por varios
afios como docentes en el campo de la programacién y por la imperiosa necesidad
de colaborar con las personas que se inician en este fascinante mundo de la
programacién, y que al momento de implementar sus programas prefieren el
lenguaje Java.
EI libro esté pensado, para todos aquellos principiantes que no tienen
conocimientos de programacién en general y de Java en particular, donde se
explica mediante ejemplos términos que para la mayoria de personas resultan
complejos. El propésito es para que puedan fundamentar sus primeros proyectos
orientados a la resolucién de problemas del entorno real y con ello mejorar sus
destrezas y capacidades en el arte de la programacién.
El método empleado para el desarrollo del presente libro se basa en la experiencia
de los profesionales, comprometidos con la programacién y deseosos de aportar
en este ambito muy importante de la ciencia, asf mismo ha sido necesaria la
revisién literaria de conceptos basicos en fuentes oficiales en la web y varios libros
relacionados con la Informatica y Computacién.
151 FUNDAMENTOS DE JAVA
En este capftulo se realiza una descripcién de las caracterfsticas que tiene el
Ienguaje Java y las versiones del SDK. Ademis, se explica el proceso de instalacién
en los sistemas operativos window y linux. Por tltimo, se indica la configuracién
del CLASSPATH.
Objetivos:
- Identificar las fortalezas que brinda el lenguaje Java al construir
aplicaciones de escritorio.
- Configurar la CLASSPATH de java en los sistemas operativos Window y
Ubuntu.
1.1 INTRODUCCION
Dentro de las etapas del ciclo de vida de desarrollo de aplicaciones informaticas,
esta la programacién, en la cual es necesario adoptar un determinado lenguaje. Un
lenguaje de programacién, es el mecanismo que permite al programador
comunicarse con el computador mediante la codificacién y ejecucién de
instrucciones para realizar determinado proceso o tarea.
Un lenguaje de programacién, es la herramienta base para codificar las
instrucciones que el programador escribe relacionando simbolos, palabras
reservadas y reglas sintdcticas segin el lenguaje empleado, que le permite una
comunicacién adecuada con el computador y a su vez controlar la ejecucién
ordenada y secuencial de tareas para la obtencién de un resultado que se conoce
como programa.
Con la aparicién de los lenguajes orientados a objetos la eficiencia y los resultados
a obtener dependen de la forma como el programador modele e interprete las
16caracteristicas y acciones de los objetos como si se trataran de objetos del mundo
real.
Existe una jerga extensa de lenguajes de programacién orientados a objetos (POO),
uno de ellos es Java, que aparecié en el afio 1992, y desde entonces se ha
convertido en uno de los ms populares y empleado para desarrollo de
aplicaciones.
1.2 CARACTERISTICAS
Entre las mas importantes tenemos:
Simple, permite a los desarrolladores novatos lograr una curva de
aprendizaje significativa en corto tiempo, as{ mismo programadores de C++,
C# pueden migrar facilmente por la simplicidad en la sintaxis.
Orientado a objetos, soporta los pilares fundamentales de la POO, como
encapsulacién, herencia, polimorfismo.
Robusto, permite validar el cédigo tanto en tiempo de compilacién como en
ejecucién, haciendo que las aplicaciones desarrolladas bajo este lenguaje
sean confiables, facilitando al programador de los tediosos procesos de
liberacién de memoria y manejo de punteros.
Portable, gracias a la maquina virtual de java, se puede tener aplicaciones
independientes de la plataforma.
Interpretado, el proceso de compilacién e interpretacién puede realizarse
en una sola pasada y en tiempo real.
Multitarea, permite sincronizar varios hilos de ejecucién al mismo tiempo.
Distribuido, a través del API de Java se tiene acceso a clases especificas,
que permiten al programador desarrollar aplicaciones distribuidas de
manera eficiente.
Difundido, por ser un lenguaje muy conocido, ya que existen muchas
comunidades, blogs, grupos de noticias que publican diariamente sus
experiencias con este lenguaje en internet.
71.3 VERSIONES
Existen varias versiones del lenguaje de programacién java desde la version 1
creada en 1991 (conocido anteriormente con OAK) hasta la versién 8 creada en el
2014, en cada uno de ellas hay mejoras tanto a la maquina virtual como
agregaciones de nuevas clases, las cuales se detalla a continuacién:
~ Versién 1.0: fue creada en 1996, contiene el api AWT, las clases iniciales y
la maquina virtual de java, como fue lanzado demasiado pronto tenia
muchos errores.
~ Versién 1.1 fue lanzada en 1997, incluye una mejora en la maquina virtual,
API JDBC para conexién con base de datos, RMI para invocaciones a
métodos remotos.
- Version 1.2: fue lanzada en 1998, agrega el API de swing y collections para
el manejo de estructuras de datos.
- Version 1.3: fue lanzada en el 2000, incluye el nuevo compilador JIT (justo
a tiempo) que permite compilar los métodos al ser Hamados a cédigo byte,
ademis se afiade soporte para |NDI (Interfaz de nombrado y directorios
java) y el API JAVA SOUND.
- Version 1.4: fue lanzada en 2002 y ofrece soporte de expresiones regulares,
el nuevo API NIO (New 1/0) para manejo de entrada / salida, criptografia
JCE JAVA CRYPTOGRAPHY EXTENSION), soporte para XML, SOCEKT |SSE
(JAVA SECURE SOCKET EXTENSION) y ademas incluye parte de seguridades
JASS (JAVA AUTENTIFICATION AND AUTHORIZATION SERVICE).
- Versién 1.5: fue lanzada en 2004, permite hacer la conversién de datos
primitivos a sus clases envolventes y viceversa (WRAPPERS), ademés del
uso de ENUMS y bucles simplificados. Fue renombrado a java 5.
- Version 1.
jue lanzada en 2006, incluye libreras para gestionar servicios
web mediante JAX-WS y nuevos drivers para la conexién de base de datos.
Ademés Sun Microsystem lo convierte a OPEN SOURCE bajo la licencia GPL y
‘en 2008 se lo conoce como OpenjDK.
- Version 1.7: fue lanzado en 2011, incluye mejoras en la maquina virtual
con respecto a los recolectores de basura y una nueva librerfa 10 para
gestion de archivos.
18- Version 1.8: esta versin fue lanzada en 2014, se incluyen expresiones
lambda en el cual podemos crear métodos sin nombre (anénimos),
eliminacién del espacio de memoria PermGem y la creacién del Metaspace
haciendo el tamaho de la memoria dindmicamente y no permitiré la fuga de
memoria, nueva API para TIME y DATE, soporte para codificacién y
decodificacién Base64.
14 JDK
Java Development Kit es el entorno de desarrollo de Java, que provee las
herramientas necesarias las cuales permiten compilar, ejecutar y desarrollar
programas de escritorio basados en este lenguaje. El JDK tiene varias versiones,
hasta la actualidad esté en la versién 8.
Oracle distribuye de forma gratuita la maquina virtual de java (JDK) para los
sistemas operativos Window, Linux 0 Mac. Los programas mas importantes que
incluye el JDK son:
- Javae: permite compilar una clase de java.
- Java: permite ejecutar un programa compilado.
- Javadoc: permite crear la documentacién de un proyecto de software.
- Jar: permite ejecutar un archivo jar que posea un claspath ejecutable.
Las variables de entorno del JDK son:
- CLASSPATH: es el directorio donde estan las librerfas o las clases del
usuario.
- PATH: es la ruta del directorio donde esta ubicado el JDK, lo utiliza el
sistema operativo para buscar los ejecutables desde la Iinea de comandos.
15 JVM
La Maquina virtual de java es la encargada de ejecutar los programas basados en
Java, y su objetivo principal es garantizar la portabilidad de las aplicaciones, es
decir, que si un programa fue desarrollado y ejecutado en Windows debera
ejecutarse de la misma manera en Linux o Mac. Para hacer las aplicaciones Java
19portables, se crea archivos con instrucciones especificas en bytecodes, el intérprete
de java ejecuta estas instrucciones que se guardan en los archivos .class.
Las tareas principales del JVM son:
- Crear objetos y los asigna a la memoria.
- _Limpia los objetos que ya no estén siendo utilizados.
- Asignar variables registros y pilas.
- No permite realizar conversiones entre datos que sean de distinta
naturaleza
- En arreglos, listas y colecciones los punteros son gestionados directamente
por la JVM.
- Gestiona de forma eficiente la memoria.
Del concepto expuesto, en la siguiente figura se ilustra el proceso de ejecucién de
un programa Java desde el ingreso del cédigo fuente en un archivo java, la
compilacién de los archivos por medio del comando javac y la ejecucién de la clase
ejecutada por medio del comando java, el JVM cumple la funcién de ejecutar una
aplicacién Java en cualquier sistema operative a través de sus intérpretes.
vane (wm)
3 > — + Fjecucion
computadraces java
Archivo.java
>
Figura 1 Proceso de ejecucién de una aplicacién Java
EI cédigo hecho en Java es compilado por el comando javac para ser
transformado en un archivo .class y estos archivos pueden ser ejecutaos en
cualquier sistema operativo por medio del intérprete de Java.
2016 JRE
Java Runtime Enviroment es el que permite ejecutar las aplicaciones Java
previamente compilados mediante el uso de librerias y utilidades, esta conformada
por la Maquina virtual de java (JVM) y las librerfas estandar (API).
1.7. INSTALACION Y CONFIGURACION DE JAVA
El primer paso que se debe realizar previo al proceso de instalacién es descargar la
Ultima versién del JDK de Java en la pagina oficial de Oracle, se acepta la licencia y
se selecciona el JDK en el sistema operativo que se vaya a trabajar.
Aceptamos la
condiciones
sin | wears | cineca Comin [Ten | Fmatin
JDK 8ut11 with NetBeans 8.2
eran nse 1811 ean 22 Ct
© Accu cone Apvoment © ncn ieee Agreed
1 dra Ree a Seleccionamos la
1 nebo Roe te idk dependiondo
del sistema
operativo
‘Figura 2 Descarga del SDK
Luego de haber instalado el JDK se procede a configurar las variables de entorno,
estas variables son muy importantes ya que le informamos al Sistema operativo en
donde esta instalado el JDK.
a1.7.1 WINDOWS
El proceso de instalacién del JDK de Java es el de cualquier aplicacién de escritorio.
Pero es indispensable comprobar si la instalacién fue la correcta 0 no. El primer
paso es abrir la terminal de comando y ejecutar el comando java, si imprime el
mensaje "No se encuentra el comando” significa que el SDK no se instalé
correctamente y es necesario reinstalar. Si la instalacién ha sido correcta imprime
informacién del comando java como se ilustra en la siguiente figura:
Wrers Rene? 1pv9
1 SSE2 disponible
TR avetn ruta ce seceno ce bosque ce clases de fon rectorios Tor or
menobray cee SNMOOS OE Bara "Seats: rahanee Mt
Drraace son tne tiene
inciSn e585 anticusde y s¢ eliminers
‘Seeiones ave ne sean eaténdar
TF SSPERENSHTIE pect toda
Figura 3 instalacién correcta del JDK
Instalado el JDK, el siguiente paso es configurar la variable de entorno, esta
variable es muy importante porque se informa al sistema operativo la ruta donde
estd instalado el JDK y se la denomina JAVA_HOME.
Para configurar la variable de entorno se debe seguir los siguientes pasos:
1. Ira propiedades del sistema en MiPc.
2. Seleccionar la opcién "Configuracién avanzada del sistema’.
221p WB Pan scant» Tone eres ease ae Sas wie) (Buea.
Drie Eee er Herries te
EPSON fay ct bet » @ Petit
apne tan se
Ver informacin bia acerca del equipo
1 saminda tigctvor —_Sindeindor
coe ene BE Windows 8
Remeron
a ra oe maa coae
See
Figura 4. Propiedades de mipe
3. Seleccionar la opcién “variables de entorno’.
Inc expen
ric del ciera. ences dele lem de depusén
Figura 5 Propiedades del sistema - variables de entorno
23Propiedades del sistema
enti de eae I Haine
Variables de entomo
te do usuario paa one
at regan reset 3.0.21
ror ‘AUSEREROFLEN gpa Terp
cy ‘USEREROFLEwlgpOstahoea Tone
twas) [ear | | erm
verte
FF NOHOSTC.
nek o>.
‘Figura 6 Vartable de entorno
4. Crear un nueva variable de entorno en variables del sistema llamada
JAVA_HOME, se ubica la direccién del directorio donde esta instalado el JDK. En
Windows si la instalacién fue por defecto, el directorio donde se instala el SDK es
C:\Program Files\Java.
=
Nombre dela variable: JAVA HOME
Lalor dela variable:
(reer)
Pigura 7 Variable de Sistema
5. Verificar si se configuré correctamente el SDK por medio de la terminal de
comandos. Al digitar el comando javac, imprime el mensaje “No se encuentra el
comando” significa que el JAVA HOME esta mal direccionado y hay revisar si la
direccién del SDK es la correcta.
Si la configuracién ha sido correcta imprime informacién del javac como se ilustra
en la siguiente figura:
24EL SSIES" Tosa lond abel SY SSrEcaEea RoHS SP
Soecify here to find wer clans Files ond annota
Beer.
ol tgt AVEGELSR Sa
iy es Els ese
Bescilz sharesten sorrel nett’ SATFT A eere
Seaereteat aay Lasse See antec
Figura 8 Configuracién correcta de JDK
1.7.2 LINUX
Existen diferentes sistemas operativos bajo la distribucién de GNU-LINUX, en este
caso se utilizard el sistema operativo Ubuntu 16.04.
La instalaci6n se har utilizando la consola de comandos:
-Para instalar JSK en debfan o Ubuntu se ejecuta el comando:
apt-get install opendk--jre
-En fedora, Centos, Oracle el comando es:
yum install java--opendk
Previo a la instalacién en Ubuntu se debe agregar y actualizar el repositorio de
Oracle:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
La diltima versién estable de Java por el momento es el JDK 8:
$ sudo apt-get install oracle-java8- installer
Para instalar el JDK 9 se utiliza el siguiente comando:
$ sudo apt-get install oracle-java9-installer
25Instalado el SDK de java, se debe configurar la variable de entorno JAVA_HOME. El
primer paso es averiguar dénde se encuentra instalado:
$ sudo update-alternatives --config java
~$ sudo update-alternatives --config java
sudo: unable to resolve hast Inspiron-2443
There is 1 choice for the alternative java (providing /usr/bin/java) .
Selection Path Priority status
e Jase/ib/}va/jav
“1 7as/\ib/}va/ java.
-oracle/jre/bin/java_ 1081 auto mode
-oracle/jre/bin/java 1981 manual mode
Press to keep the current choicel*], or type selection number:
Figura 9 sudo updatealternatives
Copiar la ruta y abrir el archivo enviroment con cualquier editor de texto:
$ sudo nano /etc/environment
Al final del documento se agrega la ruta del JDK:
JAVA HOME="/usr/lib/jvm/java-8-oracle”
Guardado el documento, es necesario cargarlo de nuevo mediante el comando:
$ source /etc/environment
Para comprobar sila configuracién es la correcta, se utiliza el comando javac ena
consola de comandos descrito en la configuraci6n en el sistema operativo Window.
262 FUNDAMENTOS DE LA PROGRAMACION DE JAVA
En este capitulo se describe el concepto de “clase”, su sintaxis y a través de
ejemplos se define a los atributos y métodes. Se explica el comportamiento de los
comentarios en el cédigo. Se listan las palabras reservadas en el lenguaje Java.
Ademés se indica el funcionamiento del método main, su compilacién y su
ejecucién. Por dltimo se explica algunos errores clésicos cometido por los
desarrolladores principiantes.
Objetivos:
- Reconocer las palabras reservadas del lenguaje Java.
~Utilizar los tipos de comentarios para documentar el cédigo.
- Implementar el método main para ejecutar aplicaciones de escritorio.
- Evaluar los mensajes de error generados al compilar archivos java.
2.1 INTRODUCCION A LAS CLASES
En la programacién orientada a objeto, las clases son el punto neuronal de las
aplicaciones de software porque permiten representar de forma abstracta como
estaré formado el problema que se pretende resolver. Por lo tanto una clase es una
plantilla que permite establecer el esqueleto de las entidades que interactuarén en
el sistema.
En Java se emplea la palabra reservada class para crear una clase. Por ejemplo,
suponiendo que existe una clase llamada Computadora y se quiere representar en
cédigo, se define a continuacién:
27Fjemplo 2 Definicién de una clase basica
public class Computadora {
1
2
3 |)
En Ja linea 1, se emplea la palabra reservada public y es un modificador de acceso
que establece que la clase podré ser utilizada por otras clases, La palabra
Computadora es el nombre o identificador de la clase definida por el programador.
Las llaves abierta “{” y cerrada “}” establece el inicio y el final de la clase.
Se recomienda que al definir una clase, se establezca el inicio y final de la clase a
través de la lave abierta y cerrada {}, los programadores que estan aprendiendo
este lenguaje de programacién, suelen olvidar cerrar la clase, esto ayudara a
evitar errores al momento de compilar sus aplicaciones.
En Java, las clases se componen de dos partes fundamentales que son los atributos
y métodos. Cuando definimos una clase, establecemos las caracteristicas y acciones
que tendrén los objetos y en un sentido mas amplio permiten definir:
~ Sus atributos: caracteristicas que tendran las clases y estaran definidos por
los modificadores de accesibilidad, en otros lenguajes se las conoce como
variables globales.
- Sus métodos: establecen las acciones que pueden realizar las clases, en
otros lenguajes se llaman funciones o procedimientos.
Por ejemplo, piense en una computadora, el cerebro representa este conocimiento
através de una imagen y es la primera representacién abstracta del conocimiento
como se ilustra en la siguiente imagen. Cualquier persona al graficar una
computadora puede definir y establecer caracterfsticas como su marca, precio,
y
color, capacidad de disco, memoria, si es de escritorio o portatil e
funcionalidades como procesar, caleular, imprimir, ete. Pero el programador debe
representar este conocimiento en un diagrama de datos que posteriormente se
pueda traducir en un lenguaje de programacién.
28‘Maasro cerebro recrea un conodimlento atria de une Igor
= ag ?
9
Per representacén abstracts
Figura 10 Representacién abstracta del conocimiento
Para representar un conocimiento abstracto se utiliza diagramas en UML.
UML es un lenguaje unificado de modelado y es un estandar que sirve para crear
esquemas, diagramas y documentacién relativa a los desarrollos de software.
Desde otro enfoque, UML permite diagramar los planos de las aplicaciones
informéticas. En este caso se utilizar el diagrama de clases para representar las.
entidades que interactuarén en el problema y posteriormente implementarla a
través del lenguaje de programacién Java.
Obtenida la primera representacién abstracta de la computadora, se representar4
ala clase Computadora en UML:
Computadora
j-precio: double
Figura 11 Representacién dela clase Computadora en UML
En la clase Computadora se ha definido dos atributos, la marca y el precio. Al
traducir del diagrama UML al lenguaje Java se genera el siguiente cédigo:
Ejemplo 3 Defniién de una clase con dos atributos
public class Computadora {
1
2 public String marca;
3 private double precio;
4 |}
En este ejemplo, en la linea 2 y 3, se establecen los atributos de la clase
Computadora, para definir un atributo se ubica el tipo de dato y el identificador, el
primero es de tipo String (es una cadena) y el segundo es de tipo double (decimal).
Sus identificadores son marca y precio; y son establecidos por el programador.
Ahora a la clase Computadora, se la definiré un método llamado prender()
29Ejomplo 4 Defniién de una clase con un método
public class Computadora {
String marca;
double precio;
public void prender(){
7/ bloque de cédigo del método
}
y
En este ejemplo, en la linea 5 la palabra prender es el identificador definido por el
programador, la palabra reservada public establece que es de caracter piblico y
podré ser llamado en cualquier clase, void expresa que el método no devolveré
ningiin tipo de datos. Tanto las clases como los métodos deben definir sus limites,
su inicio y fin. Para ambos casos las llaves abierta y cerrada “{ }"establecen esos
limites.
Las clases una vez al ser declaradas e implementadas, se guardan con la extensién
java y el nombre del archivo debe ser exactamente igual al nombre de la clase. En
el ejemplo anterior, la clase Computadora debe ser guardada con el nombre
Computadorajava.
Por convencién todos los nombres de las clases se deben escribir como
sustantivo propio, la primera letra debe ser escrita con maytiscula y cuando el
nombre de una clase esté conformada por mds de dos palabras, la primera letra
de cada palabra debe ser escrita con mayiisculas. Algunos ejemplos:
EmpleadoGobierno, BancoPrivado, etc.
Es imprtante recordar que los lenguajes de programacién establecen sus propias
reglas para formar los programas, definen sintaxis que los programadores deben
respetar. La sintaxis permiten crear elementos en las clases, tales como:
- Identificadores: los nombres que se dan a las clases, interfaces, clases
abstractas, datos de tipo enumerado, arreglos, métodos, variables, ete.
- Tipos de datos: primitivos, enumerados o por referencia.
- Palabras reservadas: las palabras que utiliza el propio lenguaje y que no
se pueden utilizar como identificadores.
~ Sentencias: secuenciales, selectivas y repetitivas.
30~ Expresiones.
~ Operadores.
Java es un lenguaje de programacién muy riguroso en su sintaxis pero en el tema
de indentacién es pobre, porque se puede escribir el cédigo en una sola linea y
puede ser funcional. También el cédigo puede ser escrito en la misma jerarquia, en
otras palabras sin respetar los espacios para distinguir que bloques de c6digo
pertenece a la clase, a los métodos, o estructuras de control. Esto hace que el
cédigo no sea legible.
El siguiente ejemplo, se ilustra la implementacién de la clase Computadora definida
en el ejemplo anterior, no tiene errores de compilacién, pero no respeta las reglas
de indentacién, haciendo que el c6digo no sea legible, no permitiendo la lectura del
cédigo, para realizar modificaciones o mantenimiento del mismo.
Ejemplo § Clase Computadora sn reglas de identancién
public class Computadora {
String marca;
double precio;
public void prender( ){
7/ dloque de cédigo del método
}
Ahora, el siguiente ejemplo no respeta los saltos de linea ni la identacién de cédigo
pero no tiene errores de compilacién, asi que el programa podra ser funcional pero
no serd legible para su mantenimiento, En Java el separador de instrucciones es “;",
asi que un programa puede ejecutarse un una sola linea de cédigo.
Bjemplo 6 Definicién de una clase sin identacién y sin saltos de linea
public class Computadora { String marca;double precio; public void prender( ){
// bloque de cddigo del método
n
Para resolver este inconveniente, se debe emplear cuatro espacios como unidad de
indentaci6n. La construccién exacta de la indentaci6n (espacios en blanco contra
a1tabuladores) no se especifica Los tabuladores deben ser exactamente cada 4
espacios.
2.2 PALABRAS RESERVADAS
Para definir clases, atributos, métodos, tipos de datos, estructuras de control, etc.,
es imprescindible utilizar palabras reservadas. En Java son identificadores
predefinidos que tienen un significado para el compilador, como su nombre indica,
estas palabras estén reservadas por el lenguaje de programacién, y no se pueden
usar como identificadores de usuario.
En a siguiente tabla se lista algunas palabras reservadas declaradas en Java:
Tabla 1 Palabras reservadas
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient,
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
Las palabras reservadas se pueden clasificar en las siguientes categorias:
vos: boolean, float, double, int, long, byte, short,
- Valores booleanos: true, false
~ Sentencias condicionales: if, else, switch.
~ Sentencias iterativas: for, do, while, continue.
~ Tratamiento de las excepciones: try, catch, finally, throw.
- Estructura de datos: class, interface, implements, extends.
- Modificadores y control de acceso: public, private, protected.
Hay que tener en cuenta que todas las palabras reservadas se han definido en
mindsculas.
322.3 COMENTARIOS
Son mecanismos en que se apoyan los lenguajes de programacién para
documentar las aplicaciones y son utilizados por los programadores para explicar
c6mo funciona el cédigo. En Java, los comentarios pueden ser Iineas de cédigo no
ejecutable o texto definido por el programador, en otras palabras el compilador no
las procesa y no estan sujetos a ninguna sintaxis del lenguaje. Hay tres tipos de
comentarios:
~ Comentarios de una sola linea: comienza con doble slash “//" y pueden
ser colocados en cualquier parte de nuestro cédigo y ocupan una sola linea.
- Comentarios de multiples lineas: cuando el comentario ocupan mas de
una linea deben comenzar con “/*"y terminar con “*/".
- Comentarios de documentacion con javadoc: para la documentacién del
programa se necesita comentarios especiales, por ejemplo @author,
@method, etc. Para definir el bloque del comentario se utilizara /** para
iniciar el comentario y*/ para terminar el comentario.
En el siguiente ejemplo se emplea el concepto de comentario de una sola linea:
jemplo 7 Comentario de una sa tinea
public class Animal {
// se definiran los atributos de la clase
1
2
3. | String nombre; //atributo, define el nombre del animal
4
3
En este ejemplo, existen dos comentarios definidos en la Iineas 2 y 3, ambos son
comentarios de una sola linea porque utiliza el doble slash //. En la Iinea 3 el
comentario se ubica al final de la instruccién y se lo utiliza para explicar el
significado de la instruccién. Java no toma en cuenta a los comentarios al momento
de compilarlos 0 ejecutarlo, por esa raz6n, se los puede ubicar al inicio o final de la
instruccién.
El siguiente tipo de comentario es el de mdltiples Iineas, y permite comentar un
bloque de texto utilizando “/* ...*/". En el siguiente ejemplo se ilustra su
utilizacion:
33Ejemplo 8 Comentario de mileiples lneas
,
* To change this license header, choose License Headers
* To change this template file, choose Tools | Templates
* and open the template in the editor.
public class Animal {
‘String nombre;
,
tra forma de definir comentarios es usando los caracteres especiales de javadoc y
sirven para genera la documentaci
in del programa. En la siguiente tabla se explica
algunos tab usados en javadoc:
Tabla 2 Tag para documentar clases con JavaDoc
Tag Descripcién
@author Indica el nombre del desarrollador.
@deprecated Mica que el método o clase es antigua y que no se recomienda su uso
porque posiblemente desaparecera en versiones posteriores.
Definicién de un pardmetro de un método, es requerido para todos los,
@param _parmetros del método.
Informa de lo que devuelve el método, no se puede usar en
@return cae
constructores 0 métodos "void
@see Asocia con otro método o clase.
@throws Excepcién lanzada por el método.
@version Versién del método o clase.
2.4 METODO Main
Un proyecto de software o programa est compuesto por un conjunto de clases que
interactian para prestar servicios a través de sus métodos. De toda esta coleccién
de clases debe existir una que empiece con la ejecucién del programa. Java ha
definido un método especial que inicie con la ejecucién del proyecto Hamado
“main®. La clase que implemente este método se la denomina clase Ejecutora. Se
define su sintaxis en el siguiente ejemplo:
1 | public static void main (String [] args)(
2 | //cédigo
3 1}
34En la linea 1 se define la cabecera del método main y se compone de los siguientes
elementos:
- public: todo método tiene un modificador de acceso que puede ser publico,
protegido, privado o por defecto; esto depende del nivel de accesibilidad
que se defina. Esta palabra reservada especifica que el método puede ser
accedido desde cualquier otro método o clase. EI método main siempre sera
declarado con modificador de acceso public.
- static: establece que el método podra ser llamado sin la necesidad de una
instancia u objeto. Un método estatico es un método de clase que se lo Hama
directamente con el nombre de la clase. El método main se ejecuta
automaticamente al convertirse en el ejecutor del programa.
- void: los métodos tienen dos comportamientos, el primero devuelve un
valor y est obligado a utilizar la sentencia return, el segundo no devuelve
ningin valor pero ejecuta todas las instrucciones. La palabra reservada void
establece que no se devolveré ningin valor y solo ejecutar’ las
instrucciones declaradas en el método.
~ main: todo método debe definir un nombre, pero la maquina virtual de java
busca en sus clases un método llamado main, este identificador le indica a
Java que serd el ejecutor del programa.
- String: es un tipo de dato que pertenece a la Clase String que permite
manejar cadenas y proviene del paquete java lang.
- String [ ]: los corchetes representa una estructura de datos lineal estatica,
quiere decir que es un arreglo de objetos. Este arreglo permite recibii
pardmetros al ejecutar la aplicacién.
Ademés hay que diferenciar entre un método de instancia y uno de clase, el
primero es el que se invoca siempre sobre una instancia, es decir, un objeto de una
clase. Por ejemplo:
Siendo n un objeto de la clase Numero quien es el encargado de invocar al método
sumar( ). El segundo es el método de clase, es aquel que puede ser invocado sin
existir una instancia, por ejemplo los métodos estaticos.
35En este caso, para utilizar el método main no se necesita crear una instancia. El
siguiente ejercicio se codifica la forma de implementar este método:
Ejemplo 9 Método main
1. | public class Computadora {
3 public static void main (String [] args){
4 | Systemoutprintin("Computador digital)
ely
En la linea 2, el método inicia con el modificador de acceso public, ademas es
estatico, por lo que no podré utilizar atributos 0 métodos dindmicos de la clase. Los
métodos pueden o no devolver un dato, en este caso, el método main no retorna
ningiin tipo de datos al ser definido como void y su funcién sera ejecutar las
instrucciones que se encuentren en él.
Se definen solo un parémetro, es un array de caracteres, cada elemento del array
es un pardmetro enviado por el usuario desde la Iinea de comandos. A este
argumento se le llama cominmente “args”. El arreglo de caracteres “String [] args”
es importante para el método.
Al igual que las clases, los métodos deben definir el inicio y final de cada uno de
ellos a través de las llaves “{ }".
En la linea 3, la instruccién System.outprintin }, es la que permitira imprimir por
consola un mensaje “Computador digital’.
2.5 PRIMER PROGRAMA
Ahora, el primer paso para crear la clase Computadora es editar un documento de
texto y nombrarlo como “Computadorajava", hay que tener cuidado al crear el
documento porque si el nombre del archivo es diferente al nombre de la clase,
generaré un error. En Java el nombre del archivojava y de la clase deben ser
idénticos.
En la siguiente figura se ilustra la relacién entre el nombre de archivo y la clase.
36Ti ubiic class Conputadora (
2 public static void main (String [] args){
system.out.println(*Conputador digital”);
y
Computadora,java
Figura 12 Primera Clase
Una vez codificada la clase y el método main, se debe realizar el proceso de
compilacién. Esto permite verificar que la sintaxis del documento en Java es la
correcta. El comando para realizar este proceso es javac. La sintaxis para compilar
una clase es:
$ javac NombreArchivo java
Compilemos la clase Computadora con la siguiente instruccién:
1 | $ javac Computadorajava
Si la sintaxis definida en la clase Computadora es correcta, no mostrar mensajes
de error:
1_[ programas_libro$ javac Computadora java
2 | programas libros
Si en el proceso de compilacién no se detectaron errores, el SDK de java genera un
documento “.class” con el nombre de la clase. Este archivo contendré el bytecode, y
consiste en instrucciones que la JVM conoce y puede ejecutar. El archivo generado
es “Computadoraclass”, como se ilustra en la siguiente figura:
> >
Computadora.class Computadorajava
Figura 13 Archivos Computadora java y Computadora.class
Se compila la clase y generado el archivo .class, se debe ejecutar la clase que
contenga el método main, la sintaxis es:
$ java NombreClase
Se procede a ejecutar la clase Computadora:
1 | $ java Computadora
a7
También podría gustarte
PDF M4 Java
Aún no hay calificaciones
PDF M4 Java
216 páginas
Java POO PDF
Aún no hay calificaciones
Java POO PDF
91 páginas
Java
Aún no hay calificaciones
Java
32 páginas
Libro de JAVA
Aún no hay calificaciones
Libro de JAVA
241 páginas