*Primeras Aplicaciones.
*Creando el programa.
*Ejecutando el programa.
*Nuestra primera clase.
*El primer método.
*Escribiendo en pantalla.
*El método main.
*Otra aplicación.
PRIMERAS APLICACIONES:------Creando el programa:
Código:
/*
Primera aplicación Java
Compilar con:
javac HolaMundo.java (y se creará un archivo llamado HolaMundo.class)
Ejecutar con:
java HolaMundo
*/
public class HolaMundo {
public static void main(String[ ] args) {
System.out.print ln("Hola Mundo, mundo");
}
}
Compilando el programa:
javac HolaMundo.java
Ejecutando el programa:
java HolaMundo
Analizando el Código:
Nuestra primera clase:
/* y */: es para hacer comentarios. También se pueden usar dos barras .
Luego de los comentarios, nos encontramos con la declaración:
public class HolaMundo {
Explicación:
La palabra public es para aclarar que la clase HolaMundo será publica, es decir se podrá acceder a ella desde otra clase. La palabra class se escribe solamente para darle un nombre a la clase.
El primer método:
public static void main(String[] args) {
Explicación:
Esto declara nuestra primer rutina. Las funciones y rutinas en Java siempre corresponde a una clase, y se denominan métodos. El código de arriba define el método main (principal). Al método anterior se lo declara de tipo void, para indicar que no es una función sino un procedimiento y se lo define como static (estático). Este calificador indica que no es un método que vaya a actuar sobre un objeto de la clase HolaMundo, sino que será ejecutado sin necesidad de crear ningún objeto: es un método de clase (esto queda más claro cuando se estudian clases y objetos en Java).
El método main recibe un arreglo de Strings como único argumento. Este es un vector de cadenas de caracteres representa que los parámetros opcionales que le podemos pasar por la línea de comando. En el ejemplo de arriba no se usaron argumentos.
Escribiendo en pantalla:
Ahora nos encontramos con la sentencia:
System.out.println("Hola, mundo");
< objeto >.<método>(<argumentos>)
Explicación:
Esto mostrará un texto en pantalla (Hola, mundo). El texto System.out hace referencia a un objeto: el out del paquete System. Este es un objeto que ya está disponible para nuestro uso, es decir Java nos brinda un serie de clases y objetos ya definidas. Por otro lado la invocación a un objeto es, como ya se mostró con anterioridad:
<objeto>.<método>(<argumentos>)
Aquí nos encontramos con el método println ("print line"), que toma los parámetros y los imprime en pantalla.
El método main:
Si volvemos a las instrucciones de ejecución de u programa, vemos que escribimos:
Java HolaMundo
El intérprete busca el archivo HolaMundo.class y comienza a ejecutarlo. Por convención, cuando al interprete le indicamos una clase a ejecutar, ejecuta un método en particular: el método main. Este es el método que lanza todo el programa. Por eso tuvimos que definirlo. Lo declaramos público justamente para que pueda ser invocado por el intérprete. Lo declaramos estático, porque es invocado directamente, no desde un objeto (como el printl, que es invocado para el objeto System.out). Cuando se arma una applet (programa java a incluir en una página HTML) se puede observar que la forma de lanzar el programa es totalmente distinta. Esta es una de las muchas diferencias entre los aplicaciones Java y applets.
Otra aplicación:
Este programa es sólo un poco más complejo: imprime los factoriales de los primeros diez números naturales.
Factoriales.java
Código:
Imprime Factoriales
public class Factoriales {
(/ Calculo de Factorial */ static long factorial(int v) {)
if (v>1)
return(v*factorial(v-1));
return(1);
}
public static void main(String[] args) {
int k;
for (k=1;k<=10;k++)
System.out.println(factorial(k));
}
}
Lo compilas: javac Factoriales.java
Lo ejecutas: java Factoriales
Resultado del Programa:
Citar
1
2
6
24
120
720
5040
40320
362880
3628800
Analizando el Código:
Explicación:
La novedad en esta aplicación es la definición de un método estático (no necesita de un objeto Factoriales), denominado factorial, que es una función, que devuelve un valor long (entero largo), y recibe como parámetro un valor int (entero). Este método calcula el factorial de un número natural n como n!, siendo:
n!= n * (n-1) * (n-2) * ...
Así el factorial de 4 es:
4! = 4*3*2*1 = 24
En este código se puede ver el uso de la estructura if en:
if (v>1)
return(v*factorial(v-1));
que examina si v es mayor que 1. Si es así, devuelve como valor de la función el resultado de multiplicar v por el factorial de v-1.
En el cuerpo del método main tenemos a declaración de una variable:
int k;
Esta sentencia declara una variable k, que será de tipo int (entero), y que es local al método donde está definida. Tal vez la parte más compleja es la sentencia for:
for (k=1;k<=10;k++)
System.out.println(factorial(k));
Que hace recorrer a la variable k por los valores desde 1 a 10, y envía a imprimir en pantalla el resultado de invocar factorial(k).