Para saber como comenzar a programar en Java primero debemos saber que es Java. Java un lenguaje de programación de propósito general propiedad de Oracle y actualmente es uno de los lenguajes de programación mas usados en el mundo. Por lo tanto también uno de los mas demandados del mercado.
Características de JAVA
- Simple: Resuelve características de sus predecesores como, aritmética de punteros y gestión de memoria.
- Orientado a objetos: En Java todo son objetos a excepcion de los datos primitivos.
- Lenguaje interpretado : Al compilar Java genera código que después puede ejecutarse en la Maquina Virtual de Java
- Portable: Las aplicaciones Java al Ejecutarse dentro de la maquina virtual de Java estas aplicaciones pueden ejecutarse en Windows, Linux o Mac mientras tengan la maquina virtual instalada.
Maquina virtual de Java
JVM, JDK y JRE
Una maquina virtual es un software que emula el funcionamiento de una computadora real. Entonces la maquina virtual de java(JVM) es software que emula una computadora dentro de una computadora real esto para que sobre ella corra el entorno de ejecución de java (JRE).
JDK Java Development Kit son una serie de herramientas empaquetadas que nos proporciona Java para desarrollar nuestras aplicaciones .
Para entender mejor la interacción entre estos conceptos lo ejemplificaremos con la siguiente imagen.
Si queremos solo ejecutar aplicaciones JAVA solo necesitamos el JRE que tiene dentro la JVM, pero si queremos crear aplicaciones Java debemos instalar el JDK que a su vez trae dentro el JRE y el JVM.
¿Java es Gratis?
Desde la version 8u212 de Java Oracle cambio el tipo de licencia. Lo que significa puedes seguir programando en ella pero si quieres desplegar tus aplicaciones en productivo debes pagarle a oracle cierta cantidad de dinero. Ahora existen opciones alternativas al jdk offical de oracle como el Open jdk con el podrás ahorrarte este pago y desplegar en producción completamente gratis.
¿Que necesito para comenzar a programar en Java?
Para poder programar en Java lo primero que debemos hacer es la preparación del ambiente de desarrollo. si bien lo unico que necesitas para programar en Java es el JDK, los IDEs te ayudaran y facilitaran el trabajo en gran manera.
¿Qué es un IDE?
IDE significa Entorno de desarrollo integrado, es decir es un software o programa que nos brinda herramientas para facilitarnos la vida a la hora de crear mas programas.
Un error común es especialmente entre quienes comienzan es pensar que el IDE es el lenguaje de programación en si.
Ejemplos de IDEs
- VsCode
- Eclipse
- NetBeans
- Intelli Idea
Configuración del JDK
La descarga JDK es bastante simple, lo único que tienes que hacer es elegir la versión y sistema operativo que deseas descargar y tener una cuenta de Oracle la cual es gratuita.
- https://www.oracle.com/mx/java/technologies/javase-jdk11-downloads.html
- https://www.oracle.com/mx/java/technologies/javase/javase-jdk8-downloads.html
Y su instalación es como la de cualquier otro programa dando clic en siguiente hasta finalizar.
Variables de entorno
Las variables de entorno son valores que se cargan en memoria del sistema operativo iniciarse. Normalmente almacenan rutas de bibliotecas que necesita el sistema operativo u otros programas en el instalado para funcionar correctamente.
Variables de entorno para Java
Java para su correcto funcionamiento necesita configures la variable de entorno JAVA_HOME que debe apuntar la carpeta de instalación de JDK.
Para configurar JAVA_HOME en windows pudes escribir Configuración avanzada del sistema
Y en variables de entorno encontraremos el apartado encontraremos el recuadro Variables de sistema donde podemos dar clic en nuevo y buscar la carpeta donde tenemos instalado nuestro JDK
El ultimo paso es agregar a la variable path la variable JAVA_HOME + la carpeta bin sin olvidar poner %% a cada extremo de la variable. Como se muestra en la imagen.
Para probar la correcta instalación abrimos una consola en Windows y escribimos java -version
Como IDE en esta serie de tutoriales elegiremos Eclipse. Es importante que elijamos la versión de Entrerprice
Programacion orientada a objetos
La programación orientada a objetos (POO) es un paradigma de programación. En español la programación orientada a objetos es un estilo de programación. Se baja en el concepto de Objetos para estructurar tu código en piezas simples para poder crear instancias individuales.
Para entender que es la programación orientada a objetos. Lo primero que debemos entender es que es un objeto y una clase.
Clase: Definición de un Objeto. Es decir una clase intenta explicar los componentes que tendrá un objeto (Métodos y atributos) y el comportamiento de cada uno.Objeto: Es la instancia de una clase. Es una asignación de memoria en donde va a vivir el objeto que creamos.
Abstracción: La abstracción consiste en seleccionar datos de un conjunto mas grande para mostrar solo los detalles relevantes. Oculta los datos privados de las interfaces publicas.
Encapsulamiento: La implementación se encarga de ocultar ciertos elementos de una clase y al mismo tiempo proporcionar una interfaz publica para poder acceder a el.
Componentes de una clase
¿Que es una clase?
Antes de intentar conocer los componentes de una clase debemos entender primero que es una clase. Formalmente se conoce a una clase como la definición de un objeto. Esto puede que esto al principio te pueda dejar mas confundido pero. Si lo piensas detenidamente se refiere a que una clase es la “explicación de las caracteristicas y comportamiento de una clase”.
Metodos
Un método es un conjunto de lineas de codigo o instrucciones que pueden recibir informacion (parametros) para efectuar operaciones y regresar o no un valor.
Variables
Una variable es un espacio en memoria que almacena un valor, este valor puede ser de un tipo de dato especifico. Por ejemplo numérico entero o cadena de texto.
Cuando la variable esta almacenado dentro de una clase en lugar dentro de un método se le llama atributo.
En java existen muchos tipos de datos que se clasifican en dos tipos primitivos y de tipo clase.
Los datos primitivos son los siguientes
Tipo de dato | Valor por defecto |
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
double | 0.0d |
char | ‘u0000’ |
String | null |
boolean | false |
Cualquier otro objeto | null |
Y debido al espacio de memoria que utilizan tienen un rango de valores que puedes representar en ellos.
Tipo dato | Rango |
byte | -128, 127 |
short | -32.768, 32.767 |
int | -231 a 231-1 |
long | -263 a 263-1. |
float | 1.4×10-45 a 3.4028235×1038 |
double | 4.9×10-324 a 1.7976931348623157×10308 |
boolean | true, false |
char | char |
Tipos de datos Wrapper
Las clases Wrapper de los datos primitivos en Java prentende facilitar el uso de estos datos primitivos, en pocas palabras son objetos que emulan el comportamiento de los tipos primitivos añadiendo funcionalidades extras y al ser un objeto el valor por default como en cualquier otro objeto es null.
¿Qué funcionalidades extras tienen estos objetos Wrapper? Intenta declarar un objeto agregar un punto y ve las opciones que te sugiere el IDE que estas utilizando.
Te preguntaras que pasa con String. String es considerado de tipo clase. Sin embargo tiene un trato especial ya que puede inicializarse como un tipo primitivo esto tambien aplica para las clases Wrapper de los tipos primitivos.
El conjunto de atributos y métodos es lo que hace la definición del comportamiento de una clase.
Los siguientes son otros componentes de Java utilizados en las clases. Cabe resaltar que el uso de ellos es solo un ejemplo.
Paquetes: Los paquetes son una manera de organizar nuestras clases a la vez que nos permiten agregar privacidad a los mismos. Por convención los paquetes se nombran al revés de un dominio web por ejemplo com.miescuela
Imports: Cuando programamos es común utilizar una clase que se encuentra en otro paquete. Para esto sirven los imports para que cada que necesitemos utilizar una de estas clases escribamos solo el nombre de la clase en lugar de toda la ruta desde el paquete hasta el nombre de la clase.
Método main: Es el método por donde la ejecución de nuestro software comenzara, debe llamarse main, ser estático, regresar vacío y recibir un arreglo de Strings
Prueba tus conocimientos con este pequeño Quiz de 3 Preguntas
Conclusiones
Ahora ya conoces que es Java , sus características principales y los requerimientos para comenzar a programar en este lenguaje. Continua con los siguiente tutoriales para terminar de conocer los fundamentos de Java.
- Operadores, condicionales y bucles
- Herencia y polimorfismo (Proximamente)
- Manejo de archivos (Proximamente)
- Manejo de Librerias(Proximante)
- Maven(Proximamente)
- JDBC(Proximamente)