Conceptos básicos del lenguaje de programación Java

Java es un lenguaje de programación desarrollado por Sun Microsystems en 1995, que luego fue adquirido por Oracle. Ahora es una plataforma completa con muchas API estándar, API de código abierto, herramientas, una gran comunidad de desarrolladores y se utiliza para crear las soluciones empresariales más confiables tanto por empresas grandes como pequeñas. El desarrollo de aplicaciones de Android se realiza íntegramente con Java y su ecosistema. Para saber más sobre Java, lea esto y esto.

Versión

La última versión es Java 11, que se lanzó en 2018 con varias mejoras con respecto a la versión anterior, Java 10. Pero para todos los efectos, usaremos Java 8 en esta wiki para todos los tutoriales.

Java también se divide en varias "Ediciones":

  • SE - Standard Edition - para aplicaciones de servidor independientes y de escritorio
  • EE - Enterprise Edition - para desarrollar y ejecutar componentes Java que se ejecutan integrados en un servidor Java
  • ME - Micro Edition - para desarrollar y ejecutar aplicaciones Java en teléfonos móviles y dispositivos integrados

Instalación: ¿JDK o JRE?

Descargue los últimos binarios de Java del sitio web oficial. Aquí puede enfrentarse a una pregunta, ¿cuál descargar, JDK o JRE? JRE significa Java Runtime Environment, que es la máquina virtual Java dependiente de la plataforma para ejecutar códigos Java, y JDK significa Java Development Kit, que consta de la mayoría de las herramientas de desarrollo, lo más importante el compilador javacy también el JRE. Entonces, para un usuario promedio, JRE sería suficiente, pero como estaríamos desarrollando con Java, descargaríamos el JDK.

Instrucciones de instalación específicas de la plataforma

Ventanas

  • Descargue el archivo .msi correspondiente (x86 / i586 para 32 bits, x64 para 64 bits)
  • Ejecute el archivo .msi. Es un archivo ejecutable autoextraíble que instalará Java en su sistema.

Linux

  • Descargue el archivo tar.gz relevante para su sistema e instale:

bash $ tar zxvf jdk-8uversion-linux-x64.tar.gz

  • Las plataformas Linux basadas en RPM descargan el archivo .rpm relevante e instalan:

bash $ rpm -ivh jdk-8uversion-linux-x64.rpm

  • Los usuarios tienen la opción de instalar una versión de código abierto de Java, OpenJDK o Oracle JDK. Si bien OpenJDK está en desarrollo activo y sincronizado con Oracle JDK, solo difieren en materia de licencias. Sin embargo, pocos desarrolladores se quejan de la estabilidad de Open JDK. Instrucciones para Ubuntu :

Instalación abierta de JDK:

bash sudo apt-get install openjdk-8-jdk

Instalación de Oracle JDK:

bash sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer

Mac

  • Descargue Mac OSX .dmg ejecutable desde Descargas de Oracle
  • O use Homebrew para instalar:
brew tap caskroom/cask brew install brew-cask brew cask install java

Verificar instalación

Verifique que Java se haya instalado correctamente en su sistema abriendo Símbolo del sistema (Windows) / Windows Powershell / Terminal (Mac OS y * Unix) y verificando las versiones del compilador y el tiempo de ejecución de Java:

$ java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) $ javac -version javac 1.8.0_66

Tip : Si se produce un error del tipo “comando no encontrado” en cualquierajavaojavaco ambos, el pánico no haga, es sólo su PATH sistema no está configurado correctamente. Para Windows, consulte esta respuesta de StackOverflow o este artículo sobre cómo hacerlo. También hay guías para Ubuntu y Mac. Si aún no puede resolverlo, no se preocupe, ¡pregúntenos en nuestra sala Gitter!

JVM

Ok now since we are done with the installations, let’s begin to understand first the nitty gritty of the Java ecosystem. Java is an interpreted and compiled language, that is the code we write gets compiled to bytecode and interpreted to run . We write the code in .java files, Java compiles them into bytecodes which are run on a Java Virtual Machine or JVM for execution. These bytecodes typically has a .class extension.

Java is a pretty secure language as it doesn’t let your program run directly on the machine. Instead, your program runs on a Virtual Machine called JVM. This Virtual Machine exposes several APIs for low level machine interactions you can make, but other than that you cannot play with machine instructions explicitely. This adds a huge bonus of security.

Also, once your bytecode is compiled it can run on any Java VM. This Virtual Machine is machine dependent, i.e it has different implementations for Windows, Linux and Mac. But your program is guranteed to run in any system thanks to this VM. This philosophy is called “Write Once, Run Anywhere”.

Hello World!

Let’s write a sample Hello World application. Open any editor / IDE of choice and create a file HelloWorld.java.

public class HelloWorld { public static void main(String[] args) { // Prints "Hello, World" to the terminal window. System.out.println("Hello, World"); } }

N.B. Keep in mind in Java file name should be the exact same name of the public class in order to compile!

Now open the terminal / Command Prompt. Change your current directory in the terminal / Command Prompt to the directory where your file is located. And compile the file :

$ javac HelloWorld.java

Now run the file using java command!

$ java HelloWorld Hello, World

Congrats! Your first Java program has run successfully. Here we are just printing a string passing it to the API System.out.println. We will cover all the concepts in the code, but you are welcome to take a closer look! If you have any doubt or need additional help, feel free to contact us anytime in our Gitter Chatroom!

Documentation

Java is heavily documented, as it supports huge amounts of API’s. If you are using any major IDE such as Eclipse or IntelliJ IDEA, you would find the Java Documentation included within.

Also, here is a list of free IDEs for Java coding:

  • NetBeans
  • Eclipse
  • IntelliJ IDEA
  • Android Studio
  • BlueJ
  • jEdit
  • Oracle JDeveloper