INSTITUTO TECNOLÓGICO DE CHIHUAHUA II INGENIERIA EN SISTEMAS COMPUTACIONALES GRUPO C FUNDAMENTOS DE PROGRAMACIÓN PROFESOR: JOEL ADAN SALDAÑA VILLALBA MANUAL BÁSICO DE PROGRAMACIÓN EN JAVA ALAN JESUS MONTES SILVA 1 ÍNDICE • • • • • • • • • • • Java…………………………………………………………………………………………………………………………………………….…………3 ¿Qué es Java? ……………………………………………………………………………………………………………….……………3 ¿Qué es un lenguaje de programación orientado a objetos? …………………………….……..3 Usos de Java……………………………………………………………………………………………………………………………….4 Tipos de programas soportados en Java……………………………………………………………………….…4 Requisitos para Java……………………………………………………………………………………………………………………….6 Instalación del JDK…………………..……………………………………………………………………………………………….6 Verificación de la instalación-………………………………………………………………………………………………7 Entornos para programar en Java……………………………………………………………………………………………..7 Tipos de datos ……………………………………………………………………………………………………………………………………8 Primitivos……………………………………………………………………………………………………………………………………..8 Estructurados…..…………………………………………………………………………………………………………………………9 Wrappers………………………………………………………………………………………………………………………………………9 void…………………………………………………………………………………………………………………………………………………9 Conversiones entre tipos de datos……………………………………………………………………………………..9 Identificadores de acceso…………………………………………………………………………………………………………….10 Modificadores de clases y métodos………………………………………………………………………………………….11 Static…………………………………………………………………………………………………………………………………………….11 Final..…………………………………………………………………………………………………………………………………………….11 Palabras reservadas ……………………………………………………………………………………………………………………..11 Clases ………………………………………………………………………………………………………………………………………………….12 ¿Qué son las clases en Java? ………………………………………………………………………………………………12 ¿Como se conforman? ………………………………………………………………………………………………..………….12 Estructura de una clase………………………………………………………………………………………………………….12 Métodos………………………………………………………………………………………………………………………………………………..13 Tipos de métodos………………………………………………………………………………………………………………………………14 Métodos de clase ………………………………………………………………………………………………………………………14 Métodos de instancia…………………………………………………………………………………………………..…………..14 Método main…………………………………………………………………………………………………………………..……………14 Otros………………..………………………………………………………………………………………………………………..……………14 Blibliografia………………………………………………………………………………………………………………………………………….16 2 JAVA ¿Qué es Java? Java es uno de los lenguajes de programación más conocidos y usados, es orientado a objetos y fue desarrollado en 1995 originalmente por James Gosling, trabajador y desarrollador en la empresa Sun Microsystems, una organización que formaba parte del icónico Silicon Valley y que se dedicaba a vender componentes y softwares informáticos. En las fases tempranas del desarrollo del lenguaje se le llamaba Oak y posteriormente Green, hasta tomar el nombre actual, el cual aún no se sabe la razón oficial de su nombre, sin embargo, las mejores teorías apuntan a que el nombre se le dio debido a que cerca del estudio de desarrollo se encontraba una cafetería, además de que “java” en ingles significa café, razón que explica también el porque de su logo. Java nació como un proyecto para innovar el lenguaje C y C++, para que la programación de objetos fuera más simple, con ello se origino java, el cual se basa en 5 pilares: -En la programación orientada a objetos -En ser multiplataforma y compatible con varios sistemas operativos -Incluir soporte para trabajar en internet -Ejecución del código desde lugares remotos -Facilidad de uso ¿Qué es un lenguaje de programación orientado a objetos? También conocido por su abreviación “POO” es un tipo de paradigma (estilo de programación) que apareció por primera vez y de forma muy primitiva en 1967 con el lenguaje de programación “Simula” el cual contaba con las características principales de una “POO”. Este paradigma trabaja por medio de clases y objetos, lo que hace que el programar sea más sencillo, pues es una forma de asimilar el código con la realidad, pensando que todo esta conformado por componentes que cuentan con atributos y funciones, a los que les llamamos objetos, estos deben ser creados o como se le nombra aquí deben ser instanciados por una plantilla, por un molde que recopile esas funciones y atributos particulares, a esta plantilla le llamamos clase y esta es la forma en que trabaja un lenguaje orientado a objetos, esta forma de programar tiene varias ventajas pero la principal es la reutilización de código, ya que al no programar de forma estructurada, sino con piezas por así decirlo, es más sencillo volver a utilizar estas piezas en futuros proyectos o inclusive en varias veces en un mismo proyecto con atributos nuevos (herencia). Para que un lenguaje sea 3 considerado orientado a objetos, debe contar con 4 características particulares, mejor conocidas como los pilares de la “POO”: -Abstracción: Debe contar con la capacidad de poder definir atributos y métodos de un objeto, para así crear una clase que genere varios de estos. -Encapsulamiento: Deberá brindar protección a ciertas clases, objetos, métodos o atributos para que no puedan ser accedidos o modificados desde otros objetos o métodos particulares. -Polimorfismo: Es la capacidad de reutilizar código mediante la nueva asignación de funciones o cambio de funcionalidad a un mismo objeto o método. -Herencia: Son subclases o clases hijas que comparten los mismos atributos y métodos de la clase padre aunando a nueva abstracción (nuevos atributos y métodos), para crear nuevos objetos con atributos compartidos (heredados) de la otra clase. Usos de Java Java como todo lenguaje de programación tiene utilidades ilimitadas, puesto que depende del programador que tan lejos querrá llevar las funciones del lenguaje, sin embargo se puede exponer en que ha sido utilizado java para identificar su participación en la actualidad, para comenzar java es utilizado para desarrollar aplicaciones denominadas “de productividad” las cuales conforman a los procesadores de texto y a las hojas de cálculo, también es utilizado para desarrollar videojuegos, el ejemplo más claro es “Minecraft” que de hecho es un claro ejemplo de ejemplificación de las clases y objetos, java también es utilizado para el ámbito educativo, donde se han programado distintas aplicaciones como programas de hojas de finanzas, calculadoras, graficadoras y herramientas de gestión del tiempo. Otra utilidad es que java genera applets, que son programas que tienen la facilidad de ser ejecutados desde el navegador web, por lo cual son usados en muchas aplicaciones móviles como Google maps, WhatsApp o Telegram. Tipos de programas soportados en Java Java soporta principalmente 2 tipos de programas y 3 utilidades extras: -Applets: Como se comento anteriormente son aplicaciones pequeñas desarrolladas en java, que tienen la facilidad de ser ejecutadas en el navegador, lo cual permite que puedan ser utilizadas en aplicaciones o páginas web como funciones extras, por ejemplo, implementar un reloj, realizar un método como calcular el monto a pagar, etc. Lamentablemente este formato 4 de aplicación ha perdido mucha utilidad en los últimos años, pues navegadores como Chrome han ido sustituyéndolas por otros formatos conocidos como apis y frameworks. -Aplicaciones: Son todos los programas que un ordenador puede ejecutar desde su sistema operativo sin necesidad de contar con acceso a internet, la función de la aplicación dependerá del objetivo o utilidad que le dé el programador. Otros: -Aplicaciones web: Son programas que necesitan acceso a internet, estos a diferencia de las páginas web, no solamente brindan información, sino que interactúan directamente con el usuario, es necesario tener una interacción para que funcionen por lo que también necesitan una base de datos, y su objetivo de igual forma dependerá del objetivo que le de el programador, pueden ser páginas de traducción, agendas virtuales, plataformas escolares, etc. -Aplicaciones móviles: Son un tipo de aplicaciones que están especialmente programadas para ejecutarse en dispositivos móviles. 5 -Tarjetas Java: Esta es una curiosidad y particularidad de Java, donde se pueden programar ciertos applets destinados a funcionar en una tarjeta de crédito, para que puedan tener determinadas funciones. REQUISITOS PARA JAVA Trabajar con Java es muy sencillo primeramente porque es totalmente gratuito y libre, no es necesario contar con licencias o comprar alguna versión para poder utilizarlo, para comenzar a programar en este lenguajes se cuenta con el sencillo requerimiento de hardware de tener más de 48 Mb de memoria RAM, algo que por obviedad está disponible en la totalidad de las computadoras actuales, luego es necesario instalar el Java Development Kit “JDK” que son las herramientas de desarrollo que utiliza java, dentro del JDK se encuentra el “javac” que es el compilador de java, el cual tiene la tarea de convertir el código java a bytecode, luego nos encontramos con la Java Virtual Machine “JVM” que es la maquina virtual que ejecuta el código compilado, dentro del JDK se encuentra también el javadoc que es la herramienta encargada de generar la documentación de nuestro código y el jvisualvm que se encarga de mostrar información sobre nuestras aplicaciones que están siendo ejecutadas, finalmente se encuentra el Java Runtime Environment “JRE” que es la herramienta que ejecutara nuestros programas terminados. Todo JDK incluye su JRE, pero en el caso de los usuarios que no necesitan las herramientas para programar, solo será necesario que descarguen el JRE para que puedan ejecutar los programas. Instalación del JDK La instalación es muy simple, como la de cualquier otro programa, lo primero es descargar la versión del JDK compatible con nuestro sistema operativo, para esto podemos ingresar directamente a la página de Oracle, donde lo podremos descargar de manera totalmente gratuita, al terminar la descarga se nos generara un archivo .exe, el cual simplemente debemos ejecutar y automáticamente iniciara el proceso de instalación, donde deberemos seleccionar la ubicación de donde se instalará nuestro JDK y listo. 6 Verificación de la instalación Hay muchas formas de verificar la instalación correcta de java, pero la más sencilla es buscar que nuestro equipo pueda identificar la versión de java, con ello quedara comprobado que se instalo de manera correcta, para ello debemos seguir 3 sencillos pasos: 1.- Seleccionar el menú de Windows 2.- Buscar “programas” y hacer clic ahí 3.- Buscar Java en el repertorio de programas y hacer clic en él para conocer su versión Si pudimos encontrar el programa Java y el sistema operativo nos mostro la versión de este, quiere decir que se instalo de manera correcta, por lo que podemos comenzar a trabajar en algún entorno de desarrollo “IDE”. ENTORNOS PARA PROGRAMAR EN JAVA Para comenzar a programar es necesario contar con un entorno de desarrollo integrado “IDE” el cual nos proporcionara varias facilidades para que podamos desarrollar, compilar y ejecutar nuestros códigos de una mejor forma, en estos entornos encontraremos herramientas como depuradores y gabinetes de herramientas de edición, para complementar de la mejor manera posible nuestros programas, existen IDE´S online, donde no es necesario descargar ni instalar nada, únicamente accedemos a nuestro navegador y comenzamos a programar, un ejemplo de estos IDE es “paiza.io” donde podemos programar y ejecutar nuestro código, sin embargo para realizar proyectos más complejos o para guardar de manera organizada nuestro códigos estos no son tan eficientes, lo mejor es instalar uno. Los 3 mejores IDE para programar en Java son: -Eclipse: Es un IDE muy conocido y maneja código abierto, fue desarrollado por IBM y es compatible con Windows, Linux y Mac, además puede servirnos para programar otros lenguajes como C, C++C Python, entre otros. Es reconocido por la gran eficiencia de su depurador. -NetBeans: Es uno de los más comunes puesto que es el IDE oficial de java y al igual que Eclipse es de código abierto, es reconocido por su estructura modular que al tratarse de en este caso ser un lenguaje de programación orientada a objetos, nos facilita el poder ver de manera visual los distintos paquetes y clases de nuestros proyectos, para que así sea más sencillo reutilizar partes de códigos para nuevos proyectos. -IntelliJ Idea: Este es IDE que cuenta con una versión libre y gratuita y otra de costo con características como la posibilidad de desarrollar aplicaciones Android entre otras, todo esto por una suscripción anual con un costo de 500 dólares y 30 días gratis para probarlo. 7 TIPOS DE DATOS Java cuenta con 4 tipos de datos “primitivos, estructurados, Wrappers y void” los cuales nos sirven para ser asignados a variables y atributos y para que a su vez puedan ser utilizados por clases o métodos, que son las unidades básicas de nuestros códigos Primitivos Son los tipos de datos definidos por el mismo lenguaje de programación de ahí sus nombres “primitivos” y por ende son los más simples o sencillos, java soporta ocho tipos de datos primitivos: -El ”byte”, el cual tiene un tamaño en memoria de 8 bits permitiéndole almacenar valores numéricos enteros desde -128 hasta 127. -El “short” ocupa el doble de tamaño que el byte con un espacio de 16 bits, pudiendo almacenar valores numéricos enteros desde -32768 hasta 32767. -El “int” es el tipo de dato más común a la hora de asignar variables de tipo entero, ocupa un total de 32 bits en la memoria y tiene una capacidad de almacenamiento de valores que parten de -2147483648 hasta el 2147483647. -El “long” es otro tipo de dato entero utilizado para almacenar grandes valores numéricos debido a su amplia capacidad, ocupa un total de 64 bits en la memoria pudiendo almacenar valores en el rango de -9223372036854775808 hasta 9223372036854775807. -El “float” es el tipo de dato más utilizado para guardar valores numéricos flotantes o mayormente conocidos como decimales, cuenta con una ocupación de memoria de 32 bits y tiene la capacidad de almacenar valores desde -3.402823e38 hasta el 3.402823e38. -El “double” al igual que el long, sirve para almacenar valores numéricos muy grandes, pero en este caso de tipo decimal, además de que su gran capacidad de soporte de valores, hace que sea más exacto que el float, ocupa un espacio de 64 bits y puede almacenar valores que parten del -1.79769313486232e308 hasta el 1.79769313486232e308. -El “char” es un tipo de dato especial que ocupa un total de 16 bits en la memoria y que es capaz de almacenar caracteres como letras, signos o símbolos, para asignarse en las variables se deben introducir dentro de comillas simples ‘ a ’ o también se puede utilizar su valor de tipo Unicode ‘\u0061’. -El “boolean” es un tipo de dato especial que almacena dos valores, “verdadero o falso”. 8 Estructurados Los datos primitivos son los únicos datos como tales, puesto que los demás tipos son objetos de clases específicas de Java y tienen la capacidad de almacenar varios datos y no únicamente uno como es el caso de los primitivos, dentro de este tipo se encuentran: -String: Es un tipo de dato que almacena cadenas de texto, para poder ser almacenadas se deben introducir dentro de comillas dobles “cadena de texto”. -array: También conocidos como vectores o matrices, son un tipo de dato especial que puede almacenar varios valores en uno mismo utilizando índices, primero se debe declarar el arreglo y especificar el tipo de dato que almacenara, luego el número de índices con el que contara el arreglo, cada valor se introducirá en un determinado índice del arreglo, el cual se señala con corchetes, por ejemplo: [0] para indicar que en ese índice se guardara el dato, además los espacios de almacenamiento comienzan a partir del 0. -Definidos por el usuario: El usuario puede crear objetos en clases personalizadas y usarlos como algún tipo de dato personalizado. Wrappers También conocidos como de tipo envoltorio, es una forma de convertir los datos primitivos a datos estructurados o mejor dicho convertirlos en objetos para que puedan ser tratados como tales, esto para poder hacer ciertos procedimientos, como el convertir una cadena de texto a números. Este tipo de valores al igual que los primitivos son 8, uno para cada uno: -Byte: El equivalente envolvente a un “byte” -Short: El equivalente envolvente a un “short” -Integer: El equivalente envolvente a un “int” -Long: El equivalente envolvente a un “long” -Float: El equivalente envolvente a un “float” -Double: El equivalente envolvente a un “double” -Boolean: El equivalente envolvente a un “boolean” -Character: El equivalente envolvente a un “char” void Aunque no es del todo un tipo de dato es usado en los métodos, para indicar que el método no retornara ningún tipo de valor Conversiones entre tipos de datos En ocasiones será necesario hacer conversiones entre los distintos tipos de datos, ya sea para condicionar por ejemplo un String con parámetros numéricos o para convertir números decimales de un float a números enteros en un int, para poder realizar esto, se puede utilizar la siguiente función: Tipo VariableNueva = (NuevoTipo) VariableAntigua; 9 Es decir simplemente se especifica la nueva variable o la variable que tomara el nuevo valor y se iguala a el nuevo tipo de dato dentro de paréntesis y finalmente el nombre de la variable que se convertirá, esta es la forma más sencilla de hacer conversiones entre tipo de datos, sin embargo se deben considerar las capacidades de almacenamiento de cada tipo de dato, por ejemplo si convertimos de un long a un int, short o byte, todos la gran cantidad de datos almacenados, se recortaran perdiendo información. Otro método utilizado para hacer conversiones entre tipos de datos es con el método “valueOf”, la sintaxis es igual a el método anterior, pero en este caso se sustituyen los paréntesis por la nueva variable punto “valueOf” y dentro de los parámetros del método introducimos la variable que a la que se le aplicara la conversión: Tipo VariableNueva = VariableNueva.valueOf(VariableAntigua); IDENTIFICADORES DE ACCESO Cómo se explicó en un inicio al ser java un lenguaje de programación orientada a objetos, quiere decir que debe contar con la característica de encapsulamiento, que es la capacidad de poder proteger el acceso a ciertas clases, atributos o métodos, dándole seguridad a nuestro programa, para especificar el tipo de protección o acceso se utilizan los identificadores de acceso, los cuales son 4: -Default: Si no queremos hacer uso del encapsulamiento, java nos da esta posibilidad, declarando los elementos como de tipo default, dando oportunidad a que cualquier clase pueda acceder a todos los elementos sin ninguna implicación, no es recomendable, puesto que los usuarios experimentados, podrán alterar y acceder a todos los elementos de nuestro programa a su gusto. -Private: Es el más seguro y protegido de todos, al definir algo como tipo private, le estaremos especificando que solo podrá ser accedido o modificado por elementos de la misma clase, es decir si se llama un elemento desde otra clase, el acceso será denegado. -Public: Es todo lo contrario al tipo private y es el que más libertad de acceso da de todos, en este identificador de acceso, damos permiso a que cualquier clase, objeto o inclusive paquete ajeno a la clase, pueda acceder a los elementos de la clase para modificarlos o utilizarlos. -Protected: Es un tipo de private condicionado para que tenga más libertades, en este acceso se brindan permisos para que elementos de clases del mismo paquete o si se desea también clases herederas puedan acceder a los elementos de la clase definida. 10 MODIFICADORES DE CLASES Y MÉTODOS static Es un modificador que nos permite inicializar elementos de una clase antes de que sea instanciada, haciendo que sean declarados desde que comienza a correr el programa, esto es importante a la hora en que se necesiten acceder a elementos de alguna clase desde antes de que se instancien, porque, en caso contrario, surgirá un error. final Este modificador nos permite declarar elementos como constantes, es decir que sus valores o elementos no podrán ser modificados posteriormente, sino que siempre mantendrán el mismo valor o estado. PALABRAS RESERVADAS Las palabras reservadas son palabras que no pueden ser utilizadas por el programador para nombrar variables, métodos, objetos o clases, ya que esas palabras ya son utilizadas por java para alguna determinada función, java cuenta con un total de 57 palabras reservadas (en el paréntesis se especifica para que son usadas): -abstract(Modificador) -double(Tipo de dato) -static(Modificador) -assert(aseveraciones) -else(Parte de un if) -strictfp(restriccion) -boolean(Tipo de dato) -enum(enumerar) -super(Herencia) -break(parte del switch) -extends(Herencia) -switch(Condicional) -byte(Tipo de dato) -final(Modificador) synchronized(Modificador) -case(casos del switch) -finally(parte del try) -this(Diferenciador) -catch(parte del try) -float(Tipo de dato) -throw(Excepciones) -char(Tipo de dato) -new(Declarar objeto) -throws(Excepciones) -class(Clase) -package(Paquete) -transient(no serializado) -const(variable constante) -private(Tipo de acceso) -try(Excepciones) -continue(parte switch) -protected(Tipo de acceso) -void(Tipo de dato) -public(Tipo de acceso) -volatile(Modificador) -return(Retorno) -while(Condicional) del -default(Tipo de acceso) -do(condicional) -short(Tipo de dato) 11 CLASES Las clases son la esencia de todo lenguaje de programación orientado a objetos, las clases son plantillas que cuentan con atributos (datos o variables) y métodos (funciones) para poder crear objetos que compartan características similares, cuando un objeto es creado se dice que es una instancia de su clase ¿Qué son las clases en Java? Al igual que en toda “POO” son la plantilla para crear objetos con ciertos atributos, en java para poder inicializar una clase se utiliza la palabra reservada “class”, además las clases están agrupadas en paquetes, los cuales vaya la redundancia son un conjunto de determinadas clases. ¿Como se conforman? Las clases pueden ser conformadas de tres elementos y generalmente se estructuran en este orden: -Primero se declaran todas las variables con las que trabajara la clase para darle atributos al objeto. -Luego se coloca el o los métodos constructores en caso de que la clase los requiera. -Finalmente se declaran todos los métodos de la clase, que serán las funciones que podrá realizar el objeto. -Si es una clase principal, debe contar con un único método main, que será el método principal que se ejecutará. Estructura de una clase La estructura básica de una clase vacía se ve de la siguiente manera, donde se puede identificar primero el nombre del paquete de la clase, luego el nombre de la clase principal y finalmente el método main: package javaapplication; public class JavaApplication { public static void main(String[] args) { // Instrucciones del método main } } 12 METODOS Los métodos son un conjunto de instrucciones los cuales se definen dentro de una clase para realizar una determinada función o tarea, los cuales deben ser llamados por un nombre. Utilizar métodos nos facilita muchísimo la programación pues nos ofrece la posibilidad de poder reutilizarlos en futuros proyectos o programar de forma modular, para que un método sea eficiente se dice que solamente debe realizar una tarea, para que sean más generales y no específicos, aumentando más su posibilidad de reutilización, los métodos tienen cierta sintaxis conformada por 7 elementos: [tipo_acceso] [Modificador] listaDeExcepciones] { tipo_Devuelto nombre_Metodo ([Parámetros]) [throws //instrucciones [return valor;] } -Acceso: Como se comento anteriormente es la instrucción que especifica el tipo de seguridad y permisos para que otras clases utilicen o accedan a nuestro método, puede ser opcional especificarlo, sin embargo, quedara como acceso tipo “default”. -Modificador: Determinan como será el método, si será estático, es decir inicializado desde en un inicio o si será final es decir constante que no cambiara su valor. -Tipo de valor devuelto: Los métodos pueden devolver algún tipo de valor por medio de la instrucción return, por eso mismo es imprescindible que se declare el tipo de valor que devolverá el método al momento de declararlo y en caso de que no devuelva ningún valor, se debe especificar como se comento anteriormente con el tipo de valor “void”. -Nombre método: Es el nombre con el que se invocara el método, puede ser cualquiera que crea conveniente el programador, siempre y cuando no utilice alguna de las palabras reservadas de java. -Parámetros: Estos se introducen dentro de paréntesis (los cuales deben de ponerse siempre usemos o no parámetros) después de nombrar al método, los parámetros son la declaración de las entradas de valores que tendrá método para operar, estas entradas deben ser separadas por comas y especificando que tipo de dato son, para que al momento de invocar el método se le puedan mandar los argumentos correspondientes. -Throws lista de excepciones: Son instrucciones utilizadas para corregir y señalar errores durante la ejecución del método, por ejemplo, para corregir algún tipo de valor incorrecto o no admitido, una división entre 0 o cualquier otro valor o acción que consideremos como no valida. -Return: Es la instrucción que devuelve un tipo de valor del método, el cual debe coincidir con el tipo que se especifico al momento de declarar el método, en caso de que sea de tipo void, la 13 instrucción return es totalmente opcional. El return también sirve para finalizar el método y se puede colocar cuantas veces sea necesario dentro de estos. TIPOS DE METODOS Dentro de los tipos de métodos podemos encontrar los siguientes: Métodos de clase También conocidos como métodos static pues necesitan tener este modificador para considerarse así, son los que como se comentó anteriormente pertenecen directamente a la clase, se inicializan desde que el programa comienza a ejecutarse, dando la posibilidad de acceder a ellos, sin necesidad de que la clase instancie un objeto. Métodos de instancia Estos son lo contrario a los métodos de clase, pues son los que, para poder acceder a ellos, la clase debe ser instanciada, debido a que estos métodos trabajan con los atributos declarados en el objeto (también pueden utilizar las variables de su clase) y si este no se crea, es imposible utilizarlos, pues aún no estarían definidos. Método main Este es el método principal de la clase y solo puede ser declarado una vez, además de que siempre será estático, puesto que es el método donde se ejecutaran todas las instrucciones e invocaciones, en este método se inicializan las variables de la clase principal, se mandan instanciar los objetos y se invocan los métodos o las clases, la estructura del método main es inalterable y tiene los siguientes elementos: public static void main(String[]args) {} Debe ser de tipo publico para que pueda ser accedido desde todas las clases, también como se comento de tipo estático ya que será el método principal que se ejecutara por lo que debe ser iniciado desde que se ejecuta el programa, es de tipo void puesto que el método main no puede regresar ningún tipo de valor y dentro de sus parámetros se definirá un arreglo de String´s. Otros -Constructores: Son métodos que tiene la tarea de recopilar los atributos de un objeto por medio de parámetros, para luego definir cada uno, construyendo e instanciando así el objeto, dentro de sus características y especificaciones encontramos que debe tener el mismo nombre que su clase, no devuelve ningún tipo de valor y es llamado automáticamente en el momento en que se crea el objeto. 14 -Por defecto: Estos son utilizados para que el programador pueda asignar valor prestablecidos a un objeto sin necesidad de un constructor. -Paramétricas: Son parecidos a los de “por defecto”, sin embargo, en estos los valores no son predefinidos por el programador, sino que en este caso los atributos del objeto son definidos por parámetros que defina el programador. -Modificadoras: En este caso se utiliza un objeto para modificar o construir los atributos de otro objeto. -Analizadoras: Estos métodos toman algún valor de algún atributo de un objeto y lo regresan por medio de la instrucción return. “La imitación es la forma más sincera de adulación, muchas gracias “ James Gosling 15 BLIBLIOGRAFIA https://www.tokioschool.com/noticias/historia-java-el-origen-de-este-lenguaje-deprogramacion/#:~:text=En%20principio%2C%20de%20hecho%2C%20el,roble%20fuera%20de%2 0su%20oficina.&text=El%20nombre%20definitivo%20fue%20el,hab%C3%ADa%20cerca%20de%2 0donde%20trabajaban. http://www.manualweb.net/java/historia-java/ https://sg.com.mx/revista/56/historia-sun-microsystems https://www.lenovo.com/mx/es/faqs/pc-vida-faqs/que-es-java/ https://definicion.de/java/ https://www.lainter.edu.mx/blog/2018/03/18/programacion-orientada-aobjetos/#:~:text=La%20programaci%C3%B3n%20Orientada%20a%20objetos%20(POO%2C%20u% 20OOP%20seg%C3%BAn%20sus,%2C%20polimorfismo%2C%20acoplamiento%20y%20encapsula miento. https://entrenamiento-python-basico.readthedocs.io/es/latest/leccion9/poo.html https://formatalent.com/usos-mas-habituales-de-programas-en-java/ https://www.viafirma.com/faq/es/que-es-un-applet/ http://joseltoro.blogspot.com/2018/10/que-tipos-de-programas-se-puedenhacer.html#:~:text=En%20Java%20podemos%20escribir%20b%C3%A1sicamente,JVM%20(Java% 20Virtual%20Machine). https://www.ingenieroperales.com/que-es-el-jdk-y-el-jre-java/ http://library.gxtechnical.com/gxdlsp/pub/GeneXus/Java/Docum/Manuals/7.0/Java70Sp02.htm https://ifgeekthen.everis.com/es/los-ide-mas-usados-en-programacion-java https://computandocodigo.wordpress.com/2019/03/03/tipos-de-datos-primitivos-en-java/ https://www.abrirllave.com/java/tipos-de-datos-primitivos.php https://users.dcc.uchile.cl/~lmateu/Java/Apuntes/hello.htm#:~:text=La%20palabra%20void%20i ndica%20que,caso%20se%20recibe%20un%20argumento. http://www.utm.mx/~mgarcia/CursoJava5-Wrapper.pdf https://www.campusmvp.es/recursos/post/variables-y-tipos-de-datos-en-java-tipossimples-clases-y-tipos-envoltorio-o-wrapper.aspx http://programacion.codeandcoke.com/doku.php?id=bloque3:wrappers 16 https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=636:co nversion-de-tipos-de-datos-en-java-tipado-ejemplos-metodo-valueof-error-inconvertibletypes-cu00670b&catid=68&Itemid=188 https://www.programarya.com/Cursos/Java/Modificadores-de-Acceso http://programacion.jias.es/2012/07/modificadores-en-java/ https://www.adictosaltrabajo.com/2015/09/17/la-directiva-static-en-java/ https://www.ciberaula.com/cursos/java/palabras_reservadas_java.php https://aprenderaprogramar.es/index.php?option=com_content&view=article&id=650:conceptode-metodos-de-clase-o-static-y-metodos-de-instancia-diferencias-metodo-main-de-javacu00683b&catid=68&Itemid=188#:~:text=Un%20m%C3%A9todo%20de%20instancia%20es,invoca do%20sin%20existir%20una%20instancia. https://www.arkaitzgarro.com/java/capitulo-14.html http://java-white-box.blogspot.com/2013/05/javaplayer-metodo-main-main-firmadel.html#:~:text=El%20m%C3%A9todo%20main%20en%20java,de%20ciclo%20de%20vida%20pro pios. https://citas.in/autores/james-gosling/ 17