Conceptos básicos de Java: un tutorial para principiantes

Actualización 28 de mayo: Vídeo añadido.

Post original, 17 de abril: Si alguna vez has querido escribir su propia aplicación para Android, por diversión o con fines de lucro, usted está probablemente va a tener que hacer un poco de programación. Hay un montón de diferentes maneras de escribir programas para Android, pero el idioma oficial de Android es Java. Si usted no desea intentar su mano en Java, entonces te recomiendo que leas mi artículo: Quiero desarrollar apps Android - ¿Qué idiomas debo aprender?

No sólo es Java el lenguaje de programación oficial para el desarrollo de aplicaciones, la propia de Java es utilizado por Google para la gran parte de los internos Android. Hay dos partes distintas a escribir una aplicación para Android. Uno es el lenguaje de programación Java en sí, la otra es entender cómo crear una aplicación en cuanto a su interfaz de usuario, el sistema operativo Android, y la Kit de Desarrollo de Software Android (SDK). En este tutorial vamos a hacer frente a la primera de ellas, el lenguaje de programación Java.

java-tutorial-para-principiantes-koding1

Para empezar a escribir programas Java necesita una forma de compilar el código fuente y convertirlo en un archivo ejecutable para el tiempo de ejecución de Java.

Java fue lanzado por primera vez a mediados de la década de 1990 por Sun Microsystems. Fue diseñado para ser fácil de aprender por los programadores que ya conocían C y C ++. Durante 2006 y 2007, Sun lanzó Java como software libre y de código abierto, en los términos de la Licencia Pública General de GNU (GPL). Sun fue adquirida por Oracle en 2009/2010, y Oracle mantiene su compromiso de Java.

Para empezar a escribir programas Java necesita una forma de compilar el código fuente y convertirlo en un archivo ejecutable para el tiempo de ejecución de Java. La manera normal de hacer esto es para instalar el kit de desarrollo de Java. En el momento de escribir la versión actual de Java es Java 8, sin embargo, es relativamente nuevo, así que Android utiliza Java 7. Si no está seguro sobre cómo instalar el JDK luego leer este Cómo instalar el tutorial de Java Software Development Kit. Oracle también ofrece una Guía de instalación del JDK 7.

Sin embargo, si usted no está listo para instalar el JDK, y desea una ruta rápida para intentar su primer programa Java, entonces te recomiendo Koding.com. Koding le da acceso a una máquina virtual gratuita con todos los compiladores y herramientas necesarias para compilar y ejecutar programas Java, así como desarrollar en otros idiomas como Go, Python, Nodo, y C. Para inscribirse sólo hay que visitar Koding.com, tipo su dirección de correo electrónico y una contraseña de su elección, y luego haga clic en "Registrarse".

La máquina virtual (VM) viene con un IDE y mando de acceso a línea. La vista web de la máquina virtual se divide en cuatro. En el izquierdo si el panel de control Koding con acceso a datos de su cuenta, las máquinas virtuales que se han creado y así sucesivamente. Al lado de él es un gestor de archivos que muestra todos los archivos y carpetas que tiene en su máquina virtual. Además la pantalla se divide en dos. La mitad superior es un editor, para escribir su código- y la mitad inferior le da orden de acceso a línea.

De aquí en lo asumirá que está utilizando Koding. Sin embargo, para aquellos que han instalado el JDK el proceso es casi idéntico, excepto que usted tendrá que usar un editor de texto en su PC en lugar del editor dentro del Koding IDE.

Corte y pegue el siguiente código en el editor:

public class HelloWorld {main (String [] args) void estáticos públicos {System.out.println ("Hola, mundo") -}}

Y guardarlo como HelloWorld.java. En Java el nombre del archivo del código fuente y el nombre de la clase debe ser el mismo. La primera línea del código declara una clase llamada HelloWorld, por lo que el código fuente debe estar guardado en HelloWorld.java.

En Koding para guardar el archivo, pase el puntero del ratón sobre la pestaña para el código (probablemente llamada Untitled.txt) y haga clic en la pequeña flecha. Luego haga clic en "Guardar como ...", introduzca HellowWorld.java como nombre de archivo y haga clic en "Guardar".

En la parte inferior de la pantalla es la línea de comandos. La máquina virtual se está ejecutando Linux y el terminal está ejecutando Bash. Si no está familiarizado con el uso de la línea de comandos de Linux, pruebe este tutorial: Tutorial de Linux para principiantes, especialmente Tutorial Uno y Dos. Así que, para compilar su primer programa Java sólo tienes que escribir:

javac HelloWorld.java

La compilación sólo debe tomar un segundo o dos. Luego de ejecutar el tipo de programa:

HelloWorld java

Su recompensa es el texto "Hola Mundo" que se muestra en el terminal. ¡Felicidades!

java-tutorial-para-principiantes-koding2

¿Qué acabo de hacer?

Así que vamos a tomar un momento para ver lo que acaba de suceder. En primer lugar el código fuente. El archivo hace tres cosas. 1) Se declara una clase llamada HelloWorld. 2) Se define un método (una función) en la clase HelloWorld llamada principal. 3) La principal() llamadas a métodos System.out.println a la salida de un texto.

En Java, y en todos los lenguajes de programación orientados a objetos, una clase define un objeto. Un objeto es un elemento autónomo que interactúa con otros objetos. En Android dicho objeto incluiría elementos de la interfaz de usuario, una conexión de red, algunos datos de localización, y así sucesivamente.

Cada programa Java debe definir un método llamado principal en al menos una clase. Es el punto de entrada, en el que el programa empieza a ejecutarse. En el sencillo ejemplo anterior, el principal() método tiene una sola línea de código, una llamada a System.out.println a la salida de "Hola, mundo". println () es un método que pertenece a la clase PrintStream y se incluye como parte de la clase System. Oracle tiene un montón de información sobre la clase de sistema y la clase PrintStream.

Para compilar y ejecutar el programa que primero llamó javac y entonces Java. El primero es el compilador de Java, por lo tanto, la letra 'c' al final, y la segunda es la máquina virtual de Java. Java es independiente de la arquitectura lo que significa que un archivo .java no se compila para un procesador específico en un sistema operativo específico, como Windows en un chip de Intel x86, o Android en un ARM Cortex-Un procesador, sino que se convirtió en Código de bytes de Java. El trabajo de la máquina virtual Java es para ejecutar ese código de bytes en la plataforma específica.

Variables

Al escribir programas de ordenador que necesitará para almacenar algunos datos para uso temporal. Por ejemplo, en un juego para Android que se desea almacenar la puntuación del jugador actual. Estos bits de datos se almacenan en las variables - una caja en la que usted puede poner algunos datos y luego volver más tarde a recogerlo. Puesto que los datos se presenta en diferentes formas una variable debe definirse con un tipo, que narra Java lo que se almacena. Algunos de los tipos de datos primitivos de Java incluyen int (por entero), doble (para doble precisión flotante número de punto), y boolean (por un valor verdadero / falso).

Aquí es un sencillo programa que establece el valor de una variable, imprime el valor de la consola, cambia la variable y luego lo imprime de nuevo:

public class VariableTest {public static void main (String [] args) {int i = 1-System.out.println ("El valor de i es:" + i) -i = i + 24 System.out.println ( "El valor de i es ahora:" + i) -}}

Guarde el archivo como "VariableTest.java". Para compilarlo tipo: javac VariableTest.java, y para ejecutarlo utilizar: java VariableTest. La salida del programa será:

El valor de i es: 1La valor de i es ahora: 25

Como se puede ver el programa define una variable llamada "i" y le da un valor inicial de 1. El valor de "i" se imprime en la consola. Entonces i se establece en el nuevo valor de i + 24, o 1 + 24, que es de 25. El nuevo valor, entonces se imprime.

Trate de modificar el programa para utilizar un "doble" en lugar de un "int". Set "i" a algo así como 1.3 y aumentar su valor por otro número decimal como 24,9.

Si usted echa un vistazo a la println () método verá un número entero que se añade a una cadena: "El valor de i es:" + i. Lo que realmente ocurre es que Java sabe que la primera parte de la expresión es una cadena, por lo que genera el valor de cadena para yo, en este caso "1" y luego concatena a la cadena que: "El valor de i es: 1".

Instrumentos de cuerda

Las cadenas son una parte importante de cualquier lenguaje de programación como Java. diferente a int o boolean, una cadena no es un tipo primitivo es una clase. Cuando se crea una variable de cadena que está creando realmente un objeto String (nótese la mayúscula S). Como un objeto que tiene ciertas propiedades como su valor (la propia cadena) y su longitud. Las cadenas pueden ser manipulados en un montón de diferentes maneras, incluyendo siendo diseccionado, concatenado, en comparación, y buscar.

He aquí un programa de ejemplo que realiza algunas operaciones simples en una cadena:

PlayingWithStrings clase pública {main (String [] args) {static void públicas cadena hola = "Hola, mundo" -System.out.println (hola) - // Añadir una! a la endhello = hola + "" - System.out.println (hola) - // Extrae la palabra "Hola" de la cadena // es decir, empezando por el principio (0) durante 5 charactersString justHello = hello.substring (0 , 5) -System.out.println (justHello) - // Añadir algunos espacios finales y luego eliminarlos con el ajuste () hola hola = + "" -hello = hello.trim () - // Ahora salida de la cadena todo en MAYÚSCULAS y lowercaseSystem.out.println (hello.toUpperCase ()) - System.out.println (hello.toLowerCase ()) -}}

Guárdelo como PlayingWithStrings.java. Compilarlo y ejecutarlo usando javac y Java como se indica anteriormente.

Este es un método especial llamado constructor. El constructor se llama sólo una vez, en el momento que se crea el objeto.

La primera parte del programa crea un objeto String llamado "hola" y le da un valor de "Hola, mundo". Aunque esto marca un aspecto similar a cómo se declara y asigna un número entero o en otro tipo primitivo, en realidad hay mucho más que hacer aquí. Java permite a los operadores simples como = y + para asignar tareas simples. Realmente Cadena hola = "Hola, mundo" - es en realidad algunos como Cadena hola = new String ("Hola, mundo") -, en otras palabras, crear un nuevo objeto de tipo String y pase el valor "Hola, mundo" al constructor. Pero vamos a hablar más sobre eso en los objetos de la sección a continuación.

La parte siguiente muestra cómo se puede concatenar cadenas, en este caso se añade un signo de exclamación al final de la cadena. Desde cuerdas es un objeto que puede tener métodos. String.substring () es un método que devuelve parte de una cadena. En este caso, los primeros 5 caracteres. String.trim () es otro método que elimina espacios precedentes y posteriores. La última parte del programa demuestra la String.toUpperCase () y String.toLowerCase () métodos.

La salida del programa será:

Hola, WorldHello, Mundo! Hellohello, MUNDO! ¡Hola, mundo!

Puede encontrar más información sobre el objeto String en Tutorial Cadena de Oracle y de la documentación de Java String.

Loops

Si hay una cosa que un ordenador es bueno, que está haciendo tareas repetitivas. Para llevar a cabo una tarea repetitiva en un lenguaje de programación que utiliza una construcción llamada un bucle - algo que se enrolla alrededor de una y otra vez.

Java tiene tres tipos de bucle simple: la para bucle, el mientras bucle, y el hacer mientras lazo. Cada tipo de bucle sigue la misma idea básica, es necesario repetir algo una y otra vez hasta que se cumpla una determinada condición.

He aquí un ejemplo que muestra cómo imprimir los números 1 a 10, 11 a 20 y 21 a 30, el uso de los tres tipos diferentes de bucle:

Loops clase pública {main (String [] args) void estáticos públicos {// Para loopfor (int i = 1- ilt; = 10 i ++) {System.out.println ("i es:" + i) -} / / Mientras Loopint j = 11-while (jlt; = 20) {System.out.println ("j es:" + j) j ++ -} // Do While Loopint x = 21-do {System.out.println ( "x es:" + x) -x ++ -} while (x lt; = 30) -}}

Crear un archivo llamado Loops.java con el código de arriba, luego compilarlo y ejecutarlo como se indica anteriormente.

java-tutorial-para-principiantes-koding3

los para bucle como tres partes. En primer lugar la inicialización (int i = 1), Que se ejecuta sólo una vez. En el ejemplo anterior la inicialización se utiliza para declarar un entero yo y establezca su valor en 1. Luego viene la expresión de prueba (ilt; = 10). Esta expresión se pondrá a prueba cada vez que el bucle se ejecuta. Si el resultado de la prueba es cierto, entonces el bucle ir alrededor de nuevo. En este ejemplo, la prueba es comprobar que i es todavía menor o igual a 10. Después de cada iteración la tercera sección, el iterador, se ejecutará. En este ejemplo se aumenta el valor de yo por uno. Tenga en cuenta que i = i + 1 es lo mismo que i ++.

los mientras bucle es similar a la para bucle, excepto que no contiene la fase de inicialización y la fase iterador. Eso significa que la inicialización se debe hacer por separado, por lo tanto, la declaración int j = 11-. El repetidor también necesita ser codificado por separado. En nuestro ejemplo es la línea j ++ que se encuentra dentro del bucle después de la println ().

LA do ... while bucle es muy similar a una mientras bucle con una gran diferencia, la prueba para ver si el bucle debe continuar está en el extremo del bucle y no al principio. Esto significa que una do ... while está garantizada para ejecutar al menos una vez, sino un mientras bucle ni siquiera necesita para ejecutar en absoluto, si las condiciones no se cumplen en la entrada en el bucle.

Como el mientras lazo, la inicialización debe suceder fuera del bucle, en este caso: int x = 21- y el iterador se produce dentro del bucle: x ++. Cuando X Balón por encima del bucle 30 se detendrá.

Objetos

Como mencioné antes, Java es lo que se conoce como (OO) lenguaje de programación orientado a objetos y tener éxito realmente en programación Java y Programación Android es importante entender los conceptos OO.

En su nivel más simple de un objeto es un conjunto de métodos (funciones) que trabajan en un conjunto de datos. Los datos y los métodos pertenecen al objeto, y trabajan para el objeto.

Aquí está el código fuente de un programa muy simple que crea una mostrador objeto:

Contador public class {int contador count-público () {count = 0-} public void Incremento () {count ++ -} public int GetCount () {return cuenta atrás} main (String [] args) {static void públicos Contador myCounter = nueva Contador () - System.out.println ("MyCounter es" + myCounter.GetCount ()) - myCounter.Increment () - System.out.println ("MyCounter es" + myCounter.GetCount ()) -}}

El objeto Contador tiene un dato, la variable entera contar y tres métodos (excepto principal): Contador (), Incremento (), y GetCount (). Dejando el primer método por el momento, se puede ver que Incremento() y GetCount () son muy simple. El primero añade una a la variable interna contar y la segunda devuelve el valor de contar.

Hasta ahora todos los métodos que hemos declarado comenzaron con public void pero si te das cuenta de la GetCount() método comienza con public int. Vamos a hablar más sobre público en un momento, pero la diferencia entre vacíoint Es esto: vacío declara que el método no devuelve nada, no habrá ningún resultado volviendo fuera del método. Pero int nos dice que el método devolverá un número, específicamente un entero. En realidad se puede crear métodos que devolverán todo tipo de datos, incluyendo objetos.

Tenga en cuenta que el primer método tiene el mismo nombre que la clase en sí, es decir, Mostrador(), y que no tiene un tipo de retorno (ni siquiera vacío). Este es un método especial llamado constructor. El constructor se llama sólo una vez, en el momento que se crea el objeto. Se utiliza para inicializar el objeto con los valores por defecto y realizar cualquier otra tarea de inicialización necesarias. En este ejemplo sólo se establece contar a cero.

Herencia

La gran cosa acerca de las clases es que se puede crear una clase general de una idea abstracta y luego crear clases específicas que se derivan de la clase original. Por ejemplo, puede crear una clase llamada Animal y luego derivar una nueva clase de ella por un animal específico, digamos un alce.

He aquí un ejemplo, voy a ampliar lo que está ocurriendo aquí en un momento ... Usted va a tener que crear dos archivos para este ejemplo, Animal.java y Elk.java. Aqui es Animal.java:

public class Animal {int NumberOfLegs-pública Animal (int n) {NumberOfLegs = n-} GetNumLegs public int () {return NumberOfLegs-}}

Y aquí es Elk.java:

public class Elk extiende Animal {int lengthOfAntlers-públicas Elk (int l) {super (4) -lengthOfAntlers = l-} int GetAntlerLength pública () {return lengthOfAntlers-} public static void main (String [] args) {Elk myElk = nueva Elk (30) -System.out.println ("Cuerno:" + myElk.GetAntlerLength ()) - System.out.println ("Piernas:" + myElk.GetNumLegs ()) -}}

Para compilar el programa sólo tienes que escribir:

javac Elk.java

La clase de animal es lo que se conoce como un super clase, mientras que la clase derivada Elk se conoce como una sub-clase, porque jerárquicamente está por debajo de la clase Animal. Cuando se amplía una clase (es decir, se crea una subclase) la nueva clase toma los datos y los métodos de la superclase. Por eso, el programa es capaz de llamar myElk.GetNumLegs () a pesar de que es parte de la clase de animal. La nueva clase Elk tiene dos variables: NumberOfLegslengthOfAntlers. También cuenta con dos métodos: GetAntlerLengthGetNumLegs. Si creamos otra subclase, dicen Oveja, que heredaría el NumberOfLegs variable y el Método GetNumLegs.

En el diseño de objetos usted descubrirá que usted quiere algunos métodos que se exponen al resto del programa, de modo que puedan ser llamados. Pero otros métodos es posible que desee mantener en privado, por lo que sólo el objeto en sí tiene acceso a ella. Aquí es donde la palabra público entra en juego. Hemos estado declarando todo como público lo que significa que el método se puede llamar desde cualquier otra parte del código. Sin embargo, usted puede declarar métodos como privado o protegido, lo que limitará el acceso a esos métodos. Las mismas reglas de acceso también se pueden aplicar a las variables del objeto. Una discusión más profunda está más allá del alcance de este tutorial, pero si quieres algo más de información, entonces usted debe leer Control de acceso a miembros de una claseDeclaración de variables miembro de la documentación de Oracle Java.

Otra cosa a destacar es cómo funcionan los constructores. El Elk () constructor inicializa el lengthOfAntlers variables, en este caso a 30, el número pasado en la que se creó el objeto. Pero antes de eso, se llama al constructor de la superclase (es decir, Animal() ) utilizando la notación especial de Java súper.

Hay mucho más que se puede decir acerca de la programación orientada a objetos (POO), pero esto debería ser suficiente para darle un sabor y empezar.

Envolver

Hay un montón de tutoriales en línea para aprender más acerca de Java. Aquí están algunos de Oracle:

  • Introducción - Una introducción a la tecnología Java y lecciones sobre la instalación de software de desarrollo de Java y usarlo para crear un programa sencillo.
  • El lenguaje Java - Lecciones que describen los conceptos esenciales y las características del lenguaje de programación Java.
  • Esenciales clases Java - Lecciones sobre excepciones, insumo básico / salida, concurrencia, expresiones regulares, y el medio ambiente de plataforma.

También puede ser que desee ver en los siguientes tutoriales:

  • Tutoriales Point - Java Tutorial
  • Introducción a la Programación Uso de Java

Para aquellos de ustedes que quieran un libro electrónico o un libro impreso en programación Java entonces es posible que desee considerar lo siguiente:

  • Java: una guía para principiantes
  • Jefe Primera Java
  • Programación Java para los principiantes - Un Simple Start Para programación Java

Además, los buenos libros sobre programación Android incluyen:

  • Programación Android: La Guía de Big Nerd Ranch
  • La guía del principiante al Desarrollo de Juegos Android
  • Aprendizaje de Java mediante la construcción de juegos Android

Android Boletín desarrollador


» » » Conceptos básicos de Java: un tutorial para principiantes