Está en la página 1de 14

PROGRAMANDO CON JAVA.

PARTE. 1 PREPARANDO EL ENTORNO DE PROGRAMACION.

Para realizar la programación con el lenguaje Java, primeramente se debe tener instalado el JDK
(Java Development Kit), o en español Herramientas de desarrollo para Java, en nuestros
computadores, aquí nos encontraremos con el compilador javac que es el encargado de convertir
nuestro código fuente (.java) en bytecode (.class), el cual posteriormente será interpretado y
ejecutado con la JVM, Java Virtual Machine por sus siglas en inglés, en español es La Máquina
Virtual de Java, también dentro de estas herramientas encontramos los siguientes programas,
javadoc(encargado de generar la documentación de nuestro código), el jvisualvm( muestra
información a detalle sobre las aplicaciones que están corriendo actualmente en la JVM), entre
muchas otras.

El JRE es el Java Runtime Environment, en español es el Entorno de Ejecución de Java, en palabras


del propio portal de Java es la implementación de la Máquina virtual de Java que realmente
ejecuta los programas de Java, esto quiere decir que aquí encontraremos todo lo necesario para
ejecutar nuestras aplicaciones escritas en Java, normalmente el JRE está destinado a usuarios
finales que no requieren el JDK, pues a diferencia de este no contiene los programas necesarios
para crear aplicaciones en el lenguaje Java, es así, que el JRE se puede instalar sin necesidad de
instalar el JDK, pero al instalar el JDK, este siempre cuenta en su interior con el JRE.

Para poder instalar java en su última versión realizamos la descarga desde la página oficial:
https://www.java.com/es/download/. Una vez descargado la instalación es sencilla.

Para que nuestro computador sea capaz de reconocer los comando de java es decir el Compilar
con javac y la ejecución con java debemos realizar algunas configuraciones en la variable de
entornos.

1. Verificamos que versión de java se tiene instalado en mi PC en la consola (acceder a la


consola w+r  cmd.exe)

2. Necesitamos ir a configuración de las variables de entorno del sistema de Windows.


Propiedades de equipo  configuración avanzada de sistema variables de entorno 
en variables del sistema seleccionamos la variable path y editar  en Windows 7 nos
vamos al final del valor de la variable aumentamos con un punto y coma seguido de la
dirección de la ubicación de la instalación de java. Es decir: ;c:\Program
Files\Java\jdk1.8.0_201\bin y guardamos y aceptamos. Y en Windows 8 y 10 editamos y
creamos una nueva y pegamos la dirección de jdk de java y aceptamos.

En este tutorial vamos a empezar desde cero con la programación, es decir sin ningún IDE
todavía, para conocer de como realiza el trabajo java para poder compilar y ejecutar las línea
de código que vayamos realizando.

El direccionamiento de java en la variable de entorno del sistema es para poder acceder por la
línea de consola al ejecutable de javac y java

Vamos a escribir nuestras primeras líneas de código en el lenguaje de java y compilarlo y


ejecutarlo desde línea de comando cmd para eso realizamos los siguientes pasos:

1. primeramente nos creamos una carpeta en la cual guardaremos los ejercicios que
realicemos. En escritorio con el nombre de practicasJava.
2. Con la ayuda del editor de texto Bloc de notas realizamos el siguiente código:
public class saludo{ //cabecera de la clase
public static void main(String a[]){ // metodo principal de la clase
//variable en donde almacenamos información
String saludo="Bienvenidos a todos a este curso de Programacion de Java
para Android";
// Salida de informacion en la consola
System.out.println(saludo);

}
}
3. Una vez terminado el código debemos guardar el archivo en la carpeta que se ha creado
en escritorio con el mismo nombre que tiene la clase y con extensión .java en este
ejemplo se guardara saludo.java.
4. Ahora para poder ejecutar desde consola abrimos la consola con w+r  cmd.exe, la
consola se abrirá con la ubicación del usuario es decir

5. Debemos de direccionarnos a la carpeta sonde está alojado nuestros ejercicios es decir a


la carpeta de practicasJava. Para ello utilizamos para porder explorar en la consola
utilizando:
 Cd … ingresar a otro directorio
 Dir … muestra los directorios existentes en la ubicación actual
 ….
6. Una vez en la ubicación de nuestra carpeta de ejercicios realizamos la compilación del
archivo .java con el comando javac saludo.java y presionamos enter , si existen errores
en el código el compilador nos mostrara en que línea de código es el error, una vez que
son corregidos todos los errores se creara un nuevo archivo con el mismo nombre con
una extensión .class el cual vamos a ejecutar con el comando java saludo sin la extensión
.class, por lo que mostrara el resultado del código.
PARTE 2: PROGRAMANDO CON JAVA

Tipos de datos

En cualquier lenguaje de programación, se trabaja con datos. Por ello, en esta lección voy a
mencionar los tipos de dato más utilizados (y básicos). Hay más, pero son menos útiles.
Los tipos de datos que más vamos a usar son los siguientes:
 int = Tipo de dato entero. Su valor mínimo es -2,147,483,648 y el máximo 2,147,483,647
(incluído).
Ejemplo: 12, 456, -315...
 double = Dato en coma flotante, para valores decimales.
Ejemplo: 2.40 - 3.14 - 10.90.
 boolean = El tipo de dato boolean solamente tiene dos valores posibles: true (verdadero) y
false (falso).
 char = El tipo de dato char es un solo carácter Unicode. Por ejemplo: 'c', 'a', '7', etc..
 String= cadena de caracteres ejemplo: “el texto que representa un string”

Variables
Las variables son el elemento esencial de la programación. En ellas será donde almacenemos
todos los datos con los que vamos a trabajar.
La creación de variables se lleva a cabo de la siguiente forma:

<tipo de dato> <nombre de variable>


El tipo de dato puede ser cualquiera de los vistos en la lección anterior, y el nombre de la variable,
el que queramos darle, siempre es recomendable darle un nombre orientativo.

int num;

num = 3;
De esta forma, primero se crea la variable tipo entero, y luego se le asigna el valor "3".

OPERADORES:

OPERADOR ASIGNACIÓN
El operador asignación =, es un operador binario que asigna el valor del término de la derecha al
operando de la izquierda. El operando de la izquierda suele ser el identificador de una variable. El
término de la derecha es, en general, una expresión de un tipo de dato compatible; en particular
puede ser una constante u otra variable. Como caso particular, y a diferencia de los demás
operadores, este operador no se evalúa devolviendo un determinado valor.
OPERADORES ARITMÉTICOS
El lenguaje Java soporta varios operadores aritméticos para los números enteros y en coma
flotante.

Se incluye + (suma), - (resta), * (multiplicación), / (división), y % (módulo, es decir, resto de una


división entera).

OPERADORES ARITMÉTICOS INCREMENTALES

OPERADORES ARITMÉTICOS COMBINADOS

OPERADORES DE RELACIÓN
Realizan comparaciones entre datos compatibles de tipos primitivos (numéricos, carácter y
booleanos) teniendo siempre un resultado booleano. Los operandos booleanos sólo pueden
emplear los operadores de igualdad y desigualdad.
OPERADORES LÓGICOS O BOOLEANOS
PARTE 3. SENTENCIAS CONDICIONALES

SENTENCIAS DE CONTROL DEL FLUJO DE UN PROGRAMA

Cuando se escribe un programa, se introduce la secuencia de sentencias dentro de un archivo. Sin


sentencias de control del flujo, el intérprete ejecuta las sentencias conforme aparecen en el
programa de principio a fin. Las sentencias de control de flujo se emplean en los programas para
ejecutar sentencias condicionalmente, repetir un conjunto de sentencias o, en general, cambiar el
flujo secuencial de ejecución. Las sentencias selectivas o condicionales se verán en este capítulo y
las sentencias repetitivas en el siguiente.

SENTENCIA IF-ELSE

Es una bifurcación o sentencia condicional de una o dos ramas. La sentencia de control evalúa la
condición lógica o booleana. Si esta condición es cierta entonces se ejecuta la sentencia o
sentencias (1) que se encuentra a continuación. En caso contrario, se ejecuta la sentencia (2) que
sigue a else (si ésta existe). La sentencia puede constar opcionalmente de una o dos ramas con sus
correspondientes sentencias.

Sintaxis:

if (expresionLogica) {
sentencia_1; 

}
O bien (con dos ramas):
if (expresionLogica) {
sentencia_1;
} else {
sentencia_2; }

La expresión Lógica debe ir entre paréntesis. Las llaves sólo son obligatorias si las sentencias (1) ó
(2) son compuestas (las llaves sirven para agrupar varias sentencias simples).

La parte else y la sentencia posterior entre llaves no son obligatorias. En este caso quedaría una
sentencia selectiva con una rama.

Un ejemplo muy sencillo que muestra este tipo de sentencia es el siguiente:

// Codigo autoexplicativo
if (a>b) {
System.out.println("a es mayor que b"); 

} 
 else { 

System.out.println("a no es mayor que b");
}
SENTENCIAS REPETITIVAS O BUCLES

Los bucles, iteraciones o sentencias repetitivas modifican el flujo secuencial de un programa


permitiendo la ejecución reiterada de una sentencia o sentencias. En Java hay tres tipos diferentes
de bucles: for, while y do-while.

SENTENCIA FOR

Es un bucle o sentencia repetitiva que ejecuta la sentencia de inicio. verifica la expresión booleana
de término.

Sintaxis:

for (inicio; termino; iteracion)


sentencia;
O si se desean repetir varias sentencias:

for (inicio; termino; iteracion) {


sentencia_1; 

sentencia_2; 

sentencia_n;
}
Las llaves sólo son necesarias si se quieren repetir varias sentencias, aunque se recomienda
porque facilita la lectura del código fuente y ayuda a evitar errores al modificarlo. Habitualmente,
en la expresión lógica de término se verifica que la variable de control alcance un uso determinado
valor. Por ejemplo:

for (i = valor_in icial; i <= valor_final; i++) {


sentencia;
}
Es completamente legal en Java declarar una variable dentro de la cabecera de un bucle for. De
esta forma la variable (local) sólo tiene ámbito dentro del bucle. Ejemplo sencillo:

System.out.println("Tabla de multiplicar del 5");


for (int i =0 ; i <= 10; i++) {
System.out.println(5 + " * " + i + " = " + 5 * i);
}
Salida por pantalla al ejecutar el código anterior:

5*0=0
5*1=5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
SENTENCIA WHILE

Es un bucle o sentencia repetitiva con una condición al principio. Se ejecuta una sentencia
mientras sea cierta una condición. La sentencia puede que no se ejecute ni una sola vez.

Sintaxis:

[inicializacion;] 

while (expresionLogica) {
sentencias;
[iteracion;]
}

SENTENCIA DO-WHILE

Es un bucle o sentencia repetitiva con una condición al final. Se ejecuta una sentencia mientras sea
cierta una condición. En este caso, la sentencia se ejecuta al menos una vez.

Sintaxis:

do {
sentencias;
[iteracion;] 

} while (expresionLogica);

OTRAS SENTENCIAS

SENTENCIA BREAK

La sentencia break puede encontrarse en sentencias switch o en bucles. Al ejecutarse, deja el


ámbito de la sentencia en la que se encuentra y pasa a la siguiente sentencia. Puede emplearse
con etiquetas, especificando sobre qué sentencia se aplica si hay varias anidadas.

etiqueta: sentencia;

break [etiqueta];

CONDICIONAL DE SELECCIÓN SWITCH.

La instrucción switch es una forma de expresión de un anidamiento múltiple de instrucciones if ...


else. Su uso no puede considerarse, por tanto, estrictamente necesario, puesto que siempre podrá
ser sustituida por el uso de if. No obstante, a veces nos resultará útil al introducir mayor claridad
en el código.

La sintaxis será:

switch (expresión) {
case valor1:
instrucciones;
break;
case valor2:
instrucciones;
break;
.
.
.
default:
sentencias;
break;
}

Ejemplo:
public void dimeSiEdadEsCritica() {
switch (edad) {
case 0:
System.out.println ("Acaba de nacer hace poco. No ha cumplido el año");
break;
case 18: System.out.println ("Está justo en la mayoría de edad"); break;
case 65: System.out.println ("Está en la edad de jubilación"); break;
default: System.out.println ("La edad no es crítica"); break;
}
}

OPERACIONES DE ENTRADA Y SALIDA DE DATOS

Como se ha mostrado en el ejemplo anterior las operaciones de entrada y salida de datos en un


programa se llevan a cabo utilizando el paquete java.io. La sentencia import java.io.*; da acceso a
la librería de Java necesaria para cualquier operación de este tipo. Los canales o dispositivos
predefinidos para realizar entradas o salidas de datos son los siguientes:

System.in:entrada estándar
System.out:salida estándar
System.err:salida de errores
Los métodos print y println se emplean para la salida de datos en formato de concatenación de
Strings.

SENTENCIA RETURN Y MÉTODOS


La sentencia return se emplea para salir de la secuencia de ejecución de las sentencias de un
método y, opcionalmente, devolver un valor. Tras la salida del método se vuelve a la secuencia de
ejecución del programa al lugar de llamada de dicho método.

Sintaxis:

return expresion;

DECLARACIÓN Y USO DE MÉTODOS

Un método es un trozo de código que puede ser llamado o invocado por el programa principal o
por otro método para realizar alguna tarea específica. El término método en Java es equivalente al
de subprograma, rutina, subrutina, procedimiento o función en otros lenguajes de programación.
El método es llamado por su nombre o identificador seguido por una secuencia de parámetros o
argumentos (datos utilizados por el propio método para sus cálculos) entre paréntesis. Cuando el
método finaliza sus operaciones, devuelve habitualmente un valor simple al programa que lo
llama, que utiliza dicho valor de la forma que le convenga. El tipo de dato devuelto por la
sentencia return debe coincidir con el tipo de dato declarado en la cabecera del método.

Sintaxis de declaración de un método:

[modificadores] TipoDeDato identificadorMetodo (parametros formales) {


declaraciones de variables locales; 

sentencia_1; 

sentencia_2;
... 

sentencia_n; 

// dentro de estas sentencias se incluye al menos un return
}
La primera línea de código corresponde a la cabecera del método. Los modificadores especifican
cómo puede llamarse al método, el tipo de dato indica el tipo de valor que devuelve la llamada al
método y los parámetros (entre paréntesis) introducen información para la ejecución del método.
Si no existen parámetros explícitos se dejan los paréntesis vacíos. A continuación, las sentencias
entre llaves componen el cuerpo del método. Dentro del cuerpo del método se localiza, al menos,
una sentencia return.

Un ejemplo sencillo

Seguidamente se muestra un ejemplo de declaración y uso de un método que devuelve el cubo de


un valor numérico real con una sentencia return:

/** 

* Demostracion del metodo cubo 

*/
public class PruebaCubo { 

public static void main (String [] args){
System.out.println("El cubo de 7.5 es: " + cubo(7.5)); // llamada
}


public static double cubo (double x) {


// declaracion
return x*x*x;
}
}
A diferencia de otros lenguajes de programación, como Pascal, en Java, la declaración del método
puede realizarse en el código fuente después de la llamada al propio método. En el caso anterior,
public y static son los modificadores especificados en la cabecera del método. El uso de estos dos
modificadores permite que el tipo de método sea similar al de una función global de Pascal o C. El
identificador double hace referencia al tipo de dato que devuelve la llamada al método, cubo es el
identificador del método y x es el identificador del parámetro en la declaración de la cabecera del
método (parámetro formal). Ejemplo de ejecución del código anterior y salida correspondiente
por pantalla:

$>java PruebaCubo

El cubo de 7.5 es: 421.875

En Java, los métodos suelen ir asociados con los objetos o instancias en particular a los que operan
(métodos de instancia). Los métodos que no necesitan o trabajan con objetos (y sí con números,
por ejemplo) se denominan métodos estáticos o de clase y se declaran con el modificador static.
Los métodos estáticos o de clase son equivalentes a las rutinas (funciones o procedimientos) de
los lenguajes que no emplean la programación orientada a objetos. Por ejemplo, el método sqrt
de la clase Math es un método estático. También lo es el método cubo del ejemplo anterior. Por
otro lado, todo programa o aplicación Java tiene un método principal main que será siempre un
método estático.

¿Por qué se emplea la palabra static para los métodos de clase?. El significado o la acepción más
común de la palabra estático (que permanece quieto en un lugar) parece no tener nada que ver
con lo que hacen los métodos estáticos. Java emplea la palabra static porque C++ lo utiliza en el
mismo contexto: para designar métodos de clase. Aprovechando su empleo en variables que
tienen una única localización en memoria para diferentes llamadas a métodos, C++ lo empezó a
utilizar en la designación de los métodos de clase para diferenciarlos de los métodos de instancia y
no confundir al compilador. El problema es que nadie pensó en que el uso de la palabra static
pudiera causar confusiones humanas.

RETURN Y VOID
En algunas ocasiones, no es necesario que el método estático tenga que devolver un valor al
finalizar su ejecución. En este caso, el tipo de dato que debe indicar en la cabecera de declaración
del método es el tipo void y la sentencia return no viene seguida de ninguna expresión.

Sintaxis:

return;

En el siguiente código se incluye un ejemplo de método que no devuelve un valor (de tipo void):

/** 

* Demostracion del metodo tabla
*/
public class PruebaTabla {
public static void main (String [] args){
tabla(4);
tabla(7);
}


public static void tabla (int n) {


// ejemplo de llamada
// de tipo void
System.out.println("Tabla de multiplicar del numero " + n);
for (int i=0; i<=10; i++) 

System.out.println(n + " x " + i + " = " + producto(n,i));

return; // No devuelve ningun valor


}


public static int producto (int a, int b) {


return a*b;
}
}
Si no hay sentencia return dentro de un método, su ejecución continúa hasta que se alcanza el
final del método y entonces se devuelve la secuencia de ejecución al lugar dónde se invocó al
método.

Un método cuyo tipo de retorno no es void necesita siempre devolver algo. Si el código de un
método contiene varias sentencias if debe asegurarse de que cada una de las posibles opciones
devuelve un valor. En caso contrario, se generaría un error de compilación. Por ejemplo:

/** 

* Demostracion de la funcion esPositivo
*/
public class PruebaPositivo { 

public static void main (String [] args) {
for (int i=5; i>= -5; i--) 

System.out.println(i + " es positivo: " + esPositivo(i));
}

public static boolean esPositivo(int x) { 



if (x<0) return false; 

if (x>0) return true; 

// Error: retorno perdido si x es igual a cero.
}
}
Ejemplo de intento de compilación del código anterior:

$>javac PruebaPositivo.java
pruebaPositivo.java:14: missing return statement
}

También podría gustarte