Sunteți pe pagina 1din 40

Introduccin a Java

Hola a todos, hoy veremos una pequea introduccin sobre este lenguaje de programacin tan
usado y como desarrollaremos las practicas. Java es un lenguaje de programacin potente y
robusto, usado en todo tipo de electrnicos. Las caractersticas son:
Orientado a objetos: es un paradigma de la programacin que nos permite descomponer
el cdigo en pequeas unidades lgicas llamadas objetos.
Multiplataforma: se pueden ejecutar en cualquier sistema operativo.
Es sencillo de manejar.
Es muy robusto, ya que el desarrollador no tendr que manejar direcciones de memoria
RAM.
Es seguro, Java detecta los cdigos maliciosos.
Orientado a la red: incorpora diferentes protocolos de red.
Multihilo: pueden ejecutar mas de una tarea al mismo tiempo.
Para ejecutar aplicaciones Java necesitamos Java JDK (la versin 7 es la mas reciente),
puedes descargar aqu la versin Java que quieras, recuerda que debe ser compatible con
tu sistema operativo y arquitectura.
Si usas una distribucin Linux, es muy probable que no necesites instalar Java ya que las
nuevas versiones las suelen incluir. Para extraer eclipse en linux, usa este comando sudo tar -
xf nombre_fichero

Convencin de nombres en Java
Hola a todos, hoy os explicare las convenciones de nombres en Java, es importante para lograr
una unificacin en nuestros programas. Vamos a indicar las convenciones ms comunes en
Java, a la hora de escribir nuestros programas:
En las clases:
o La primera letra ira en mayscula.
o Si esta formada por ms de una palabra, la primera letra de la palabra estar en
mayscula.
o Si est clase contiene un main, haciendo que sea ejecutable, incluiremos al
final App. Si no tiene, no se incluye.
o Ejemplo: SalarioEmpleadoApp
En los mtodos o funciones:
o La primera letra ira en minscula.
o Si esta formada por ms de una palabra, la primera letra de la palabra estar en
mayscula.
o Ejemplo: calculaSueldo
En las constantes:
o Todas las letras irn en maysculas.
o No pueden comenzar por nmeros.
o Ejemplo: IVA
En las variables:
o La primera letra ira en minscula.
o Si esta formada por ms de una palabra, la primera letra de la palabra estar en
mayscula. Tambin se pueden usar separadores como guiones bajos.
o No pueden comenzar por nmeros.
o Ejemplo: sueldoEmpleado o sueldo_empleado
En las interfaces:
o La primera letra ira en mayscula.
o Si esta formada por ms de una palabra, la primera letra de la palabra estar en
mayscula.
o Normalmente, suelen acabar en -able.
Comentarios de Java
Hola a todos, hoy os enseare como realizar comentarios en Java.
Los comentarios son instrucciones especiales que no se ejecutan es muy til para los
programadores en cualquier lenguaje de programacin, ya que nos permite insertar
anotaciones que nos servirn para trozos de cdigo que pueden resultar confusos en un futuro.
Tambin es til, si nuestro cdigo lo manejan mas personas.
Los comentarios en Java se pueden escribir de varias maneras:
Si queremos que un comentario sea de una lnea escribimos // y el comentario a
continuacin.
Si queremos escribir un comentario de varias lineas, escribimos /* como apertura,
el comentariova a continuacin, puede ocupar varias lneas y para cerrar usamos */
Tenemos un tipo de comentario especial usado en Javadoc, que se usa para crear
documentacin de la aplicacin, se insertan antes de clases, mtodos, constructores, etc.
Su apertura es /** y se cierra con */. Este tema lo abordaremos mas adelante en
profundidad.
Aqu vemos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* Comentario especial Javadoc usado para la documentacin
* @author Fernando
*
*/
public class PruebaApp {

public static void main(String[] args) {

// Comentario de una linea

/*
* Esto es un comentario
* de varias lineas
*/

}

}
Por ltimo, no es necesario hacer comentarios es cada linea, es recomendable hacerlos en
aquellos trozos de texto donde tu veas que sean necesarios.

Variables primitivas de Java
Hola a todos, hoy os explicare a usar las variables primitivas de Java, como se declaran los
tipos, como operar con ellos, etc.
Antes de empezar, las variable son estructuras de datos que pueden variar durante la
ejecucin de un programa.
Declarar variables significa indicar el tipo de dato que almacenara
las variables que participan en el programa.
En Java, se reserva una zona de memoria que la maquina virtual Java gestiona
automticamente. Lasvariables primitivas engloban los tipos de datos mas sencillos como
puede ser un nmero, un carcter, etc.
Antes de usar una variable debemos declararla y es recomendable iniciarla. La primera vez
que se usa debe declararse, el resto de veces no se debe hacer, es importante que el valor
asignado sea compatible con el tipo de variable.
Por ejemplo, si declaramos una variable de tipo numrico, esta no puede contener una cadena
de caracteres.
La sintaxis de una declaracin de una variable es: tipo_variable nombre_variable; Por
ejemplo, int num; pero como hemos dicho antes es recomendable iniciar estas variables con
un numero genrico como uno o cero o segn la ocasin.
Hay una serie de reglas a la hora de escribir el nombre de las variables:
Los nombres de las variables no pueden comenzar por nmeros, pero si puede formar
parte del nombre.
El nombre de una variable no puede tener espacios.
El nombre de la variable no puede estar formado por operadores como +, -, !, etc.
No puede haber dos variables que se llamen igual, aunque sean de distintos tipos, en el
mismo mbito (ya explicaremos esto mas tarde).
No pueden tener el nombre de palabras reservadas, en eclipse estas palabras se colorean.
Java es case sensitive, es decir, que diferencia entre maysculas y minsculas. A es
distinto que a.
Por convencin, se suele escribir el nombre de las variables en minscula, si hay mas de una
palabra en la variable podemos separarlo con un _ o colocar la primera letra de la nueva
palabra en mayscula, por ejemplo, variablePrueba.

Constantes en Java
Hola a todos, hoy os explicare como definir constantes en Java. Las constantes son valores
que no se modifican durante la ejecucin del programa, si definimos una constante y la
intentamos modificar durante la ejecucin, no nos dejara.
La mayor utilidad de las constantes es definir valores que siempre sern iguales y que en
caso de que varen con el tiempo se pueden cambiar, el mejor ejemplo es el IVA.
En Java, cualquier tipo de dato puede ser una constante, para definir que sea
una constante, debemos escribir antes del tipo de dato final, para seguir la convencin en
java, escribiremos el nombre de laconstante en maysculas.
Imaginemos que tenemos un programa simple para saber el precio del IVA de un producto,
este programa lo tenemos hace tiempo cuando el IVA es de 18 %, cuando subi a 21% solo es
necesario cambiar un valor.
En este pequeo ejemplo, parece que dara igual lo anterior, ya que con cambiar un par de
cosas seria igual, pero imaginemos que tenemos un programa enorme y que
esa constante es utilizada muy a menudo, si cambiara el IVA solo tendramos que cambiar
el valor de IVA y no todos los valores en todo el programa.
Mi consejo es que todo aquello que no cambia pero que puede variar en un futuro, lo hagis
constante. Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
public class PruebaApp {

public static void main(String[] args) {

final double IVA = 0.18;
int producto=300;

double resultado=producto*IVA;

System.out.println("El IVA del producto es "+resultado);
}

}
Espero que os sea de ayuda. Si tenis dudas, preguntad. Estamos para ayudarte.


Operadores en Java
Hola a todos, hoy os explicare todos los operadores que podemos usar en Java.
Hay varios tipos de operadores:
Asignacin: asigna un valor a una variables. El operador de asignacin es =, una vez
asignado podemos reasignar de nuevo otro valor. Por ejemplo:
1
public class PruebaApp {
2
3
4
5
6
7
8
9
10
11

public static void main(String[] args) {

int a=30;
boolean exito=true;
a=40;
exito=false;
}

}
Como vemos los iniciamos en un valor pero despus, cambia su valor.
Aritmtico: permiten operar con nmeros como sumar, restar, etc. Se pueden sumar
variables que almacenen nmeros . Estos son los operadores:
Operador Funcin
+ Suma dos valores. En String, significa concatenar dos cadenas.
- Resta dos valores.
* Multiplica dos valores.
/ Divide dos valores.
% Significa mdulo, devuelve el resto de una divisin.
Aqu os dejo un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class PruebaApp {

public static void main(String[] args) {

int operador1 = 20;
int operador2 = 15;
int resultado=0;

resultado= operador1+operador2; //resultado = 35

resultado= operador1-operador2; //resultado = 5

resultado= operador2-operador1; //resultado = -5

resultado= operador1*operador2; //resultado = 300

resultado= operador1/operador2; //resultado = 1 (como es int no incluye
decimales)

resultado= operador1%operador2; //resultado = 5 (el resto de la division)

}

}
Tambin podemos combinar los operadores de asignacin y aritmticos. Se forman con la
variable el operador aritmtico seguido del de asignacin y por ultimo la otra variable. Por
ejemplo: operador1 +=operador2. Es equivalente
a operador1=operador1+operador2. Puedes hacer lo mismo con los anteriores
operadores aritmticos.
Unarios: requieren un solo operando, existe el operador ++ y . Es similar a sumar o
restar una unidad a la variable. Tened en cuenta que el orden del operador es importante.
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class PruebaApp {

public static void main(String[] args) {

int operador=10;
int x=0;
operador++; //operador = 11
operador++; //operador = 12
operador--; //operador = 11

x=operador++; //x = 11, operador = 12

x=++operador; //x = 13, operador = 13

}

}
Como vemos el valor cambia segn la localizacin del operador, la nica diferencia es cuando
incrementa el valor, cuando esta antes de la variable se produce un pre-incremento, es decir,
se incrementa antes de asignar, cuando esta despus se incrementa despus de la asignacin.
No te preocupes si no lo entiendes demasiado, lo mas usado es este ultimo.
Relacin: son operadores para comparar valores, de esta comparacin se crea una
variable booleana. Estos son los operadores:
Operador Descripcin
== igual a
!= distinto a
> mayor que
< menor que
>= mayor o igual que
<= menor o igual que
Veamos un ejemplo:
1
2
3
4
public class PruebaApp {

public static void main(String[] args) {

int operador1=10;
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

int operador2=20;

int operador3=10;

boolean resultado;

resultado = operador1==operador2; // 10 es igual a 20? resultado = false

resultado = operador1==operador3; // 10 es igual a 10? resultado = true

resultado = operador1!=operador2; // 10 es distinto a 20? resultado = true

resultado = operador1>operador2; // 10 es mayor que 20? resultado = false

resultado = operador1>operador3; // 10 es mayor que 10? resultado = false (si no cumple la condicion sera falso)

resultado = operador1<operador2; // 10 es menor que 20? resultado = true

resultado = operador1<=operador3; // 10 es menor o igual que 10? resultado = true (ya que es igual) resultado = operador1>=operador2; // 10 es mayor o igual
que 20? resultado = false

}

}
Condicional: son operadores que permiten concatenar mas de una condicin. Los
operadores son:
Operador Descripcin
&& Es equivalente a AND. Si se cumplen todas las condiciones, devuelve true. Si solo hay una condicin que no
se cumple, devuelve falso.
|| Es equivalente a OR. Si se cumple alguna de las condiciones, devuelve true. Si todas las condiciones son
falsas, devuelve falso.
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PruebaApp {

public static void main(String[] args) {

int op1=10;

int op2=20;

int op3=10;

boolean result;

result = op1==10 && op2<30;
// Es 10 igual a 10 y es 20 menor que 30? resultado = true

result = op1!=30 || op3==15;
15
16
17
18
19
20
21
22
23
24
25
// Es 10 distinto a 30 o es 10 igual a 10? resultado = true

result = op1==op3 && op2<=30 || op2>=15;
// Es 10 igual que 10 y es 20 menor que 30 o es 10 mayor o igual que 15?
resultado = true
// Aqui primero se evalua las condiciones con && y el resultado de esta se
compara con ||

}

}
Entrada y salida de datos en Java
Hola a todos, hoy os explicare como podemos mostrar e introducir datos en Java con Eclipse,
algo fundamental para ver los valores que hemos procesado.
Podemos mostrar los datos de dos maneras, a travs de la consola o mediante un cuadro de
dialogo. Este primero solo lo veremos si ejecutamos nuestro programa en Eclipse o en una
ventana de comandos.
Para mostrar un mensaje en consola, escribimos System.out.println(cadena); dentro del
parntesis , ademas de cadenas, podemos mostrar el valor de una variable, para ello, solo
escribimos el nombre de la variable sin comillas dobles, no importa el tipo de variable.
Tambin se puede incluir una cadena de texto mas el valor de una variable, para ello
escribimos la cadena con comillas dobles, un signo + y el nombre de la variable, recuerda
poner un espacio entre una variable y una cadena de texto. Por
ejemplo, System.out.println(El valor de la variable num es
+num); o System.out.println(El precio final es +precio+ euros);
Incluso podemos escribir una formula y nos mostrara el resultado, debe estar entre parntesis.
Si queremos que no de un salto de linea, simplemente
escribimos System.out.print(cadena);
Veamos un ejemplo de cada tipo:
1
2
3
4
5
6
7
8
9
public class PruebaApp {

public static void main(String[] args) {

int precioProducto=300;

final double IVA=0.21;
System.out.println("Informacion del producto");

10
11
12
13
14
15
System.out.println("El precio del producto es "+precioProducto);

System.out.println("El precio del producto, incluyendo el IVA, es
"+(precioProducto+(precioProducto*IVA)));
}

}
Este es el resultado:

Sigamos mostrando datos pero esta vez con un cuadro de dialogo, lo mejor de esto es que se
podr ver en cualquier sitio que lo ejecutemos.
Antes de escribir la linea de cdigo, debemos importar el paquete necesario para poder utilizar
la clase necesaria para el cuadro de dialogo.
Antes de la linea public class nombre_clase, escribimos import
javax.swing.JOptionPane; despus dentro del
main JOptionPane.showMessageDialog(null, cadena); por lo de null, no os preocupis, lo
entenderis mas adelante y en la cadena podemos hacer lo mismo que hemos mostrado antes.
Os dejo un pequeo ejemplo y su resultado:
1
2
3
4
5
6
7
8
9
10
import javax.swing.JOptionPane;
public class PruebaApp {

public static void main(String[] args) {

int precioProducto=300;

final double IVA=0.21;

JOptionPane.showMessageDialog(null, "El precio del producto, incluido el IVA es
"+(precioProducto+(precioProducto*IVA)));
}
11
12
13

}
Este es el resultado:
Hasta aqu para mostrar datos, ahora vamos a introducirlos nosotros. Usaremos la misma clase
de antes pero con otro mtodo. Recuerda que debemos importar el paquete antes de la clase.
EscribimosJOptionPane.showInputMessage(cadena); se debe guardar en
un String. Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
import javax.swing.JOptionPane;
public class PruebaApp {

public static void main(String[] args) {

String nombre=JOptionPane.showInputDialog("Introduce tu
nombre");

JOptionPane.showMessageDialog(null, "Bien, tu nombre es
"+nombre);
}

}

mbito de una variable en Java
Hola a todos, hoy os explicare en que consiste el mbito de una variable en Java, es muy
importante entenderlo para no tener problemas con las variables.
Cada variable que creamos tiene un mbito, es decir, que hay partes de la aplicacin donde la
variable creada no existe. Un bloque de cdigo es lo que hay dentro de { }.
Existen varios tipos:
A nivel global de clase: cuando declaramos una variable al inicio de la clase (antes
del main), esta variable se podr leer y modificar en cualquier parte del programa.
Variable local a nivel de mtodo: una variable se declara dentro de un mtodo y cuando
este finaliza, la variable deja de existir.
Variable a nivel de bloque de cdigo: cuando creamos una variable dentro de un bloque
de cdigo (como dentro de un if) este solo existir dentro de ese bloque.
Para entenderlo mejor, veremos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class PruebaApp {

static int variableGlobal=10;

public static void metodoPrueba (){

int variableMetodo=40;
for (int i=0;i<10;i++){
System.out.println("La variable i vale "+i); // aqui si existe la variable i
}
System.out.println("La variable i vale "+i); //aqui ya no existe la variable i

}

public static void main(String[] args) {

System.out.println("La variable local vale "+variableMetodo); // aqui ya no existe las variables de metodo

int variableLocal1=20;
if (variableGlobal==10){
int variableLocal2=30;
System.out.println("La variable local 1 vale "+variableLocal1); //Aqui si existe, ya que se ha declarado en un bloque de
cdigo superior
}
System.out.println("La variable local 2 vale "+variableLocal2); //Aqui ya no existe la variable 2

System.out.println("La variable local Global vale "+variableGlobal); // aqui sigue existiendo

metodoPrueba();
}

}
Para resumirlo de una manera ms sencilla, aquella variable que crees en un bloque de cdigo
seguir existiendo hasta que no se acabe el bloque.
String Java
Hola a todos, hoy os explicare todo lo relacionado con los String en Java.
String se usa para almacenar un conjunto de caracteres, ademas, es un tipo de
dato especial, ya que en realidad es una clase pero que puede declararse como si fuera
una variable primitiva.
El valor de un String debe ir con comillas dobles para que Java lo considere un String,
cuidado no confundir con char, ya que este solo puede almacenar un solo carcter y va entre
comillas simples.
Un String puede contener todos los caracteres que queramos.
Un String es como un array, veremos que en los mtodos podemos obtener partes de la
cadena. El primer carcter es la posicin 0.
Veamos las maneras de crear un String:
1
2
3
4
5
6
7
8
9
10
11
public class PruebaApp {

public static void main(String[] args) {

String cadena1="Hola "; // Forma simple de crear un String

String cadena2= new String ("Mundo"); //Crear un objeto String

System.out.println(cadena1+cadena2);
}
}
Recuerda que podemos concatenar cadenas con el operador +.
Tambin podemos hacer que un String ocupe varias lineas, lo nico que debemos hacer es
pulsarEnter dentro de un String.
Aqu tienes un ejemplo:
1
2
3
4
5
6
7
8
9
public class PruebaApp {

public static void main(String[] args) {

String cadena1="Esto es un ejemplo " +
"de String de " +
"varias lineas";
}
}
Aqu tienes los mtodos de String.
Mtodos de String
Hola a todos, hoy os explicare los mtodo mas utilizado de la clase String.
La clase String tiene varios mtodos muy tiles como saber su longitud, trocear la cadena,
etc. Recuerda que para invocar un mtodo debemos escribir el nombre del String, un punto
y el nombre del mtodo, ms sus parmetros. Es importante que si necesitas almacenar
el valor devuelto, uses una variable para ello. Por ejemplo:
String cadena=americano;
boolean empiezaPor=cadena.startWith (a);
Estos son los mtodos mas conocidos:
Mtodo Descripcin Parmetro
Tipo de dato
devuelto
charAt Devuelve el carcter indicado por parmetro Un parmetro int char
compareTo Sirve para comparar cadenas, devuelve un
nmero segn el resultado. Recuerda que no
sigue el alfabeto espaol, lo compara segn
la tabla ASCII.
Un parmetro String, la
cadena a comparar.
int
- Si devuelve un
nmero mayor que 0:
la primera cadena es
mayor que la
segunda.

- Si devuelve un 0:
las cadenas son
iguales.

- Si devuelve un
nmero menor que 0:
la primera cadena es
menor que la
segunda
compareToIgnoreCase Es igual que el anterior, pero ignorando
maysculas o minsculas.
Un parmetro String, la
cadena a comparar
int
- Si devuelve un
nmero mayor que 0:
la primera cadena es
mayor que la
segunda.

- Si devuelve un 0:
las cadenas son
iguales.

- Si devuelve un
nmero menor que 0:
la primera cadena es
menor que la
Mtodo Descripcin Parmetro
Tipo de dato
devuelto
segunda
concat Concatena dos cadenas, es como el
operador +.
Un parmetro String, la
cadena a concatenar
Un nuevo String con
las cadenas
concatenadas.
copyValueOf Crea un nuevo String a partir de un array de
char. Este mtodo debe invocarse de manera
esttica, es decir,
String.copyValueOf(array_char)
Un array de char String
endWith Indica si la cadena acaba con el String
pasado por parmetro.
String boolean
equals Indica si una cadena es igual que otra. String boolean
equalsIgnoreCase Es igual que el anterior, pero ignorando
maysculas o minsculas.
String boolean
getBytes Devuelve un array de bytes con el cdigo
ASCII de los caracteres que forman el String.
Ningn parmetro Un array de bytes
indexOf Devuelve la posicin en la cadena pasada
por parmetro desde el principio. -1 si no
existe.
String o char int
indexOf Igual que el anterior, pero ademas le
indicamos la posicin desde donde
empezamos a buscar.
String o char, el segundo
parmetro es un int
int
lastIndexOf Devuelve la posicin en la cadena pasada
por parmetro desde el final. -1 si no existe.
String o char int
lastIndexOf Igual que el anterior, pero ademas le
indicamos la posicin desde donde
empezamos a buscar.
String o char, el segundo
parmetro es un int
int
lenght Devuelve la longitud de la cadena. Ningn parmetro int
matches Indica si la cadena cumple con la expresin
pasada como parmetro. Pincha aqu para
tener mas detalles.
String boolean
replace Devuelve un String cambiando los caracteres
que nosotros le indiquemos.
Dos parmetros char, el
primero es el carcter que
existe en el String y el
segundo por el que
queremos cambiar.
String
replaceFirst Devuelve un String intercambiando solo la
primera coincidencia.
Dos parametros String, el
primero son los caracteres
String
Mtodo Descripcin Parmetro
Tipo de dato
devuelto
que existe en el String y el
segundo por el que
queremos cambiar.
replaceAll Devuelve un String intercambiando todas las
coincidencias que se encuentren.
Dos parametros String, el
primero son los caracteres
que existe en el String y el
segundo por el que
queremos cambiar.
String
startsWith Indica si la cadena empieza por una cadena
pasada por parmetro.
String boolean
substring Trocea un String desde una posicin a otra. Dos parmetros int, indica
desde donde empieza
hasta donde acaba, este
ultimo no se incluye.
String
toCharArray Devuelve en un array de char, todos los
caracteres de una String.
Ningn parmetro Un array de char
toLowerCase Convierte el String a minsculas. Ningn parmetro String
toUpperCase Convierte el String a maysculas. Ningn parmetro String
trim Elimina los espacios del String. Ningn parmetro String
valueOf Transforma una variable primitiva en un
String. Para invocarse debe usarse con
String. Por ejemplo,String.valueOf(variable)
Un parmetro, que puede
ser un:

boolean

char

double

int

float

long

Array de char

Referencia a un
objeto
String
1
2
3
public class PruebaApp {

public static void main(String[] args) {
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

String cadena="El que se fue a Sevilla perdio su silla y el que se fue al Torreon, su sillon";

System.out.println(cadena.charAt(0)); // Nos devolvera E

System.out.println(cadena.charAt(11)); //Nos devolvera u

System.out.println(cadena.endsWith("n")); //Nos devuelve true

System.out.println(cadena.startsWith("e")); //Nos devuelve false, Java distingue entre mayusculas y minusculas

System.out.println(cadena.equals("El que se fue a Sevilla perdio su silla y el que se fue al Torreon, su sillon"));
//Nos devuelve true

byte[] array_bytes=cadena.getBytes(); //Creamos un array de bytes e insertamos la devolucion del metodo

System.out.println("Codigo ASCII de cada caracter");

for (int i=0;i<array_bytes.length;i++){
System.out.print(array_bytes[i]+" "); //Muestra los codigos
}
System.out.println("");
System.out.println(cadena.indexOf("fue")); //localiza la posicion donde se encuentra "la"

System.out.println(cadena.length()); // Nos devuelve la longitud: 77

System.out.println(cadena.replace('a', 'e')); // Cambia todas las a por e

System.out.println(cadena.toLowerCase()); //Transforma el String a minusculas

System.out.println(cadena.toUpperCase()); //Transforma el String a mayusculas

}

}
Casting en Java
Hola a todos, hoy os explicare como utilizar los castings en Java. Un casting es una
operacin especial que nos permite realizar una conversin entre tipos, es algo que hemos
comentado en varios posts, que algunos tipos no son compatibles entre s como int y double.
Vamos a ver un ejemplo, para comenzar a entenderlos:
1
2
3
4
5
public class PruebaApp {

public static void main(String[] args) {

int a=1;
6
7
8
9
10
11
12
13

double b=2.5;

b=a;

System.out.println(b);
}
}
El cdigo anterior, no nos dar ningn error, ya que double si puede contener un int, pero si
cambiamos la linea b=a; por a=b; nos informara un error, esto es porque int no puede
contener undouble, pero si usamos un casting si nos dejara ejecutar.
1
2
3
4
5
6
7
8
9
10
11
12
13
public class PruebaApp {

public static void main(String[] args) {

int a=1;

double b=2.5;

a=(int)b;

System.out.println(a);
}
}
Como vemos, un casting se indica entre parntesis con el tipo de dato al que queremos pasar,
en este caso int. La variable a, contendr un 2 y no un 2.5.
El error relacionado con los castings es Type mismatch: cannot convert from
(dato1) to (dato2)
No se puede hacer castings entre todos los tipos, por ejemplo, entre un int y un String. El
error que aparece es este Cannot cast from (dato1) to (dato2).
Vamos a ver otro ejemplo muy comn para usar un casting. Si recuerdas dijimos en otro post,
que int ychar son compatibles, si tenemos un int y hacemos un casting a char este se
convertir en un carcter asociado de la tabla ASCII. Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
public class PruebaApp {

public static void main(String[] args) {

int codigo=97;

char codigoASCII=(char)codigo;

System.out.println(codigoASCII);
}
}
Mtodos de la clase Math de Java
Hola a todos, hoy os explicare a usar las funciones matemticas mas usadas de la clase Math
de Java.
Esta clase ya viene incluida en nuevas versiones de Java, por lo que no habr que importar
ningn paquete para ello.
Para utilizar esta clase, debemos escribir Math.mtodo(parmetros); donde mtodo
sera uno de los siguientes y parmetros aquellos que tengamos que usar. Un mtodo puede
estar sobrescrito para distintos tipos de datos.
Recuerda que si almacenas el resultado de la funcin, debe coincidir con el tipo de la variable.
Mtodo Descripcin Parmetros Tipo de dato devuelto
abs Devuelve el valor absoluto de un numero. Un parametro que puede ser un
int, double, float o long
El mismo que introduces.
arcos Devuelve el arco coseno de un angulo en
radianes.
Double Double
asin Devuelve el arco seno de un ngulo en
radianes.
Double Double
Mtodo Descripcin Parmetros Tipo de dato devuelto
atan Devuelve el arco tangente entre -PI/2 y PI/2. Double Double
atan2 Devuelve el arco tangente entre -PI y PI. Double Double
ceil Devuelve el entero ms cercano por arriba. Double Double
floor Devuelve el entero ms cercano por debajo. Double Double
round Devuelve el entero ms cercano. Double o float long (si introduces un double)
o int (si introduces un float)
cos Devuelve el coseno de un ngulo. Double Double
sin Devuelve el seno de un ngulo. Double Double
tan Devuelve la tangente de un ngulo. Double Double
exp Devuelve el exponencial de un nmero. Double Double
log Devuelve el logaritmo natural en base e de
un nmero.
Double Double
max Devuelve el mayor de dos entre dos valores. Dos parametros que pueden ser
dos int, double, float o long
El mismo tipo que introduces.
min Devuelve el menor de dos entre dos valores. Dos parametros que pueden ser
dos int, double, float o long
El mismo tipo que introduces.
random Devuelve un nmero aleatorio entre 0 y 1.
Se pueden cambiar el rango de generacin.
Ninguno Double
sqlrt Devuelve la raz cuadrada de un nmero. Double Double
pow Devuelve un nmero elevado a un
exponente.
Dos parmetros double (base y
exponente)
Double
Tambin os dejo las constantes definidas.
Constante Descripcin
PI Devuelve el valor de PI. Es un double.
Constante Descripcin
E Devuelve el valor de E. Es un double.
Veamos algn ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class PruebaApp {

public static void main(String[] args) {
double operador1=25.5;
double operador2=15.21;

Math.ceil(operador1); // Devuelve 26.0

Math.floor(operador2); //Devuelve 15.0

Math.pow(operador1, operador2); // Devuelve
2.474435537975361E21

Math.max(operador1, operador2); //Devuelve 25.5

Math.sqrt(operador1); ////Devuelve 5.049752469181039

}

}
Como generar nmeros aleatorios con el mtodo
Math.random de Java
Hola a todos, hoy os explicare como podemos generar nmeros con el mtodo Math.random
de la clase Math de Java.
Por defecto sera, Math.random(), con este mtodo podemos generar nmeros aleatorios, en
principio seria entre 0 y 1, pero esto lo podemos cambiar para que genere un nmero entre un
rango que nosotros deseemos.
Para generar un nmero entre 0 y el nmero que deseemos, debemos
escribir *num_deseado, por ejemplo, Math.random()*30, esto genera nmeros entre 0 y 30,
este ultimo no se incluye, el mximo sera 29,9999
Para generar un nmero entre un nmero que deseemos a otro , debemos
escribir *(num_maximo-num_minimo)+num_minimo, por ejemplo, Math.random()*(20-5)+5.
Un buen truco, para recordar esto es multiplicar por 0 para saber el mnimo y por 1 para el
mximo. Por ejemplo, en el ejemplo anterior, el mnimo seria 5, ya que 0*(20-5)+5 dara como
resultado 5, y el mximo seria 20, ya que 1*(20-5)+5 dara como resultado 20.
Por ltimo, haremos que el nmero generado sea un nmero entero en lugar de uno de coma
flotante, para ello escribimos (int)Math.floor(Math.random()*(num_maximo-
num_minimo)+num_minimo).
Recordar que en lugar de nmeros podemos usar variables. Veamos unos ejemplos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class PruebaApp {

public static void main(String[] args) {

int num1=50;
int num2=120;

System.out.println("Nmeros generados entre 0 y 20, con
decimales");
for (int i=0;i<1000;i++){
double numAleatorio=Math.random()*20;
System.out.println(numAleatorio);
}

System.out.println("Nmeros generados entre 5 y 20, con
decimales");
for (int i=0;i<1000;i++){
double numAleatorio=Math.random()*(20-5)+5;
System.out.println(numAleatorio);
}

System.out.println("Nmeros generados entre 50 y 120, sin
21
22
23
24
25
26
27
decimales");
for (int i=0;i<1000;i++){
int numAleatorio=(int)Math.floor(Math.random()*(num2-
num1)+num1);
System.out.println(numAleatorio);
}
}

}
Estructuras condicionales en Java
Hola a todos, hoy os explicare a como utilizar las estructuras condicionales en Java.
Las estructuras condicionales nos permiten ejecutar una serie de instrucciones si
cumple una determinada condicin que nosotros le indiquemos. Es importante recordar que
la condicin debe dar un resultado booleano, por lo que lo mas normal es usar
operadores relacionales y condicionales.
Tenemos varios tipos de estructuras condicionales:
if: le indicamos una condicin si esta es verdadera se ejecuta, sino no se ejecuta las
instrucciones de dentro. Se suele traducir como Si se cumple esta condicin haz
esto. Su sintaxis es:
1
2
3
if (condicin){
instrucciones
}
Por ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
public class PruebaApp {

public static void main(String[] args) {

int precio=300;

if (precio>100){
System.out.println("El precio es mayor que 300");
}
}

}
Donde colocamos la condicin, podemos colocar una variable booleana, ya que su valor
puede ser true o false.
if else: es como el anterior solo que despus de cerrarse la llave de if, se aade else
sin indicarle ninguna condicin. Esto sirve para que si la condicin del if no es
verdadera, ejecute otras instrucciones que estarn dentro de else. Se suele traducir
como Si se cumple esta condicin haz esto y sino haz esto.
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PruebaApp {

public static void main(String[] args) {

int precio=50;

if (precio>100){
System.out.println("El precio es mayor que 300");
}else{
System.out.println("El precio es menor que 300");
}
}

}
En este caso, se ejecutara lo que hay en else ya que no cumple la condicin.
if -elseif: esta estructura es como una mezcla de los anteriores, esto nos permite, que si
no se cumple la condicin podamos indicar otra condicin para hacerlo an mas
especifico. Se suele traducir como Si se cumple esta condicin haz esto y
sino si cumple esta condicin haz esto.
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class PruebaApp {

public static void main(String[] args) {

int precio=50;

if (precio>100){
System.out.println("El precio es mayor que 300");
}else if(precio>80){
System.out.println("El precio es mayor que 80");
}else{
System.out.println("El precio es menor que 80");
}
}
}
El ejemplo anterior es equivalente al siguiente, esto es lo que se conoce como if anidados,
podemos anidar tantos como queramos:
1
2
3
4
5
6
7
8
9
10
11
12
public class PruebaApp {

public static void main(String[] args) {

int precio=50;

if (precio>100){
System.out.println("El precio es mayor que 300");
}else {
if(precio>80){
System.out.println("El precio es mayor que 80");
}else{
System.out.println("El precio es menor que 80");
}
13
14
15
16
17
}
}
}
Switch: esta estructura condicional de seleccin mltiple, le damos un valor (puede
ser una variable) y una lista de casos y si cumple alguno de los casos ejecuta las
instrucciones asociadas a ella, en caso de que ninguna sea podemos indicarle que hace
por defecto, normalmente se usa para indicar de un error con un mensaje. Su sintaxis es:
1
2
3
4
5
6
7
8
9
10
11
12
13
switch (valor){
case caso1:
Instrucciones
break;
case caso2:
Instrucciones
break;
case caso N:
Instrucciones
break;
default:
Instrucciones
}
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class PruebaApp {

public static void main(String[] args) {

String dia="Lunes";

switch (dia){
case "Lunes":
System.out.println("Hoy es "+dia);
break;
case "Martes":
System.out.println("Hoy es "+dia);
break;
case "Miercoles":
System.out.println("Hoy es "+dia);
break;
case "Jueves":
System.out.println("Hoy es "+dia);
break;
case "Viernes":
System.out.println("Hoy es "+dia);
break;
case "Sabado":
System.out.println("Hoy es "+dia);
break;
case "Domingo":
System.out.println("Hoy es "+dia);
break;
default:
System.out.println("No has introducido un dia
correcto");
27
28
29
30
31
32
33
}
}
}
Como vemos en el caso anterior, como los valores son String debemos poner dobles comillas
a los casos. En caso de que sean nmeros, se pondrn como tal, tambin podramos usar
constantes.
Una cosa ms, si haya varios casos que tienen ejecuta las mismas instrucciones, podemos
agruparlas. Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import javax.swing.JOptionPane;
public class PruebaApp {

public static void main(String[] args) {

String dia=JOptionPane.showInputDialog("Introduce un dia de la
semana");

switch(dia){
case "lunes":
case "martes":
case "miercoles":
case "jueves":
case "viernes":
System.out.println("Es un dia laboral");
break;
case "sabado":
case "domingo":
System.out.println("Es un dia festivo");
default:
System.out.println("Introduce un dia de la semana");
}
}
}
Estructuras de repeticin en Java
Hola a todos, hoy os explicare como utilizar las estructuras de repeticin en Java.
Una estructura de repeticin o bucle nos permite ejecutar un numero de veces determinado
una serie de instrucciones. La mayor utilidad es evitar la repeticin de lineas de cdigo iguales.
Para salir del bucle, se indica una condicin, si esa condicin no se cumple se sale del bucle.
Las estructuras de repeticin son:
while: indicamos una condicin que se ejecutara hasta que la condicin sea falsa, es
importante que la variable que este en la condicin, vare para que no se produzca
un bucle infinito. Su sintaxis es:
1
2
while (condicion){
instrucciones
}
3
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
public class PruebaApp {

public static void main(String[] args) {

int num=1;

while (num<=5){
System.out.println(num);
num++;
}
}
}
Como vemos, num vale 1 al principio, se comprueba la condicin, como 1 es menor o igual
que 5, entra en el bucle y ejecuta las instrucciones, y as sucesivamente hasta que num vale
6, ya que 6 no es menor o igual que 5. Si num no fuera modificado, nunca saldra del bucle.
for: este tipo de bucle, es como el anterior pero ademas de la condicin, incluye una
inicializacin de una variable y un incremento o decremento de esa variable, en principio,
no es necesario que incluya las 3 partes, se pueden inicializar o incrementar varias varias
separadas por comas. Cada parte se separa con un ; . NOTA: cuando salimos del bucle, la
variable inicializada no existe. Su sintaxis:
1
2
3
for(inicializacion;condicion;incremento){
instrucciones
}
Si nos fijamos, es como en while pero todo se define en el bucle. Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
public class PruebaApp {

public static void main(String[] args) {

for (int num=1; num<=5; num++){
System.out.println(num);
}
}
}
Es el mismo ejemplo de antes pero mas reducido.
do-while: esta estructura repetitiva, tiene algo especial y es que como mnimo las
instrucciones dentro de la estructura repetitiva al menos una vez, mientras que el while sus
instrucciones pueden ejecutarse 0 o N veces. Se sale del bucle cuando
la condicin del while no se cumple, si esto pasa empieza desde el do. Se utiliza para la
validacin de datos. Su sintaxis es:
1
2
3
do{
intrucciones
}while(condicion);
Veamos un ejemplo:
1
2
import javax.swing.JOptionPane;
public class PruebaApp {
3
4
5
6
7
8
9
10
11
12

public static void main(String[] args) {
int num;
do{
String texto=JOptionPane.showInputDialog("Introduce un numero entre 0
y 10");
num=Integer.parseInt(texto);
}while(num>=10 || num<0);
System.out.println("El numero introducido es "+num);
}
}
Tenemos que pensar bien la condicin de salida. En nuestro caso, si insertamos un 5 (5>=10
or 5<0)devolvera falso, si insertramos un -1 (-1>=10 or 5<o) devolvera verdadero, haciendo
que vuelva a pedir un numero.
Espero que os sea de ayuda. Si teneis dudas, preguntad. Estamos para ayudarte.

Mensajes de traza en Java
Hola a todos, hoy os enseare la utilidad de usar mensajes de traza en nuestras aplicaciones.
Los mensajes de traza son mensajes que nos hacen comprobar que el resultado es el que
esperado.
Lo nico que hacemos es mostrar un mensaje con System.out.println(>>+variable);
. No tiene porque seguir la misma sintaxis dentro del parntesis, es para diferenciar un
mensaje de traza con un mensaje normal que muestre datos.
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
public class PruebaApp {

public static void main(String[] args) {

int operando1=10;
int operando2=30;
int resultado=(operando1+50)/(2*operando2);

System.out.println(">>"+resultado);
}
}
Con este simple mensaje de traza, nos aseguramos que es el resultado esperado, si
necesitamos operar con esa variable es bueno asegurarse de que vamos por el buen camino.
Espero que os sea de ayuda. Si tenis dudas, preguntad. Estamos para ayudarte.
Pasar de String a distintos tipos de datos en Java
Hola a todos, hoy os explicare como podemos pasar entre distintos tipos de datos en Java, nos
sera muy til.
Como sabemos hasta ahora, cuando declaramos una variable no podemos asignarle un
valor de otro tipo. Por ejemplo, si tenemos un String 1234 no podemos sumarle un int. No
podramos convertir ese String en un nmero? La respuesta es s, tenemos mtodos que
nos permiten hacer esa operacin y viceversa.
Para pasar de String a un valor numrico, usamos el mtodo parse de cada clase de
variable primitiva.Vamos a ver un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class PruebaApp {

public static void main(String[] args) {

String numString="1234";
System.out.println("String: "+numString);

long numLong=Long.parseLong(numString);
System.out.println("long: "+numLong);

int numInt=Integer.parseInt(numString);
System.out.println("int: "+numInt);

short numShort=Short.parseShort(numString);
System.out.println("short: "+numShort);

byte numByte=Byte.parseByte(numString);
System.out.println("byte: "+numByte);

double numDouble=Double.parseDouble(numString);
20
21
22
23
24
25
26
27
System.out.println("double: "+numDouble);

float numFloat=Float.parseFloat(numString);
System.out.println("Float: "+numFloat);

}
}
Si ejecutamos el ejemplo anterior, nos saltara un error en la lnea donde convertimos
de String a byte, ya que el rango que puede contener byte es entre -127 a 128. Tenlo en
cuenta a la hora de convertir valores.
Esto que hemos hecho tambin lo podemos hacer con un booleano, pero es algo que no se
suele utilizar, ademas que el String debera contener true o false para que no saltase error.
Un String tambin podemos pasarlo a carcter, si queremos coger un carcter en
especial podemos usar el mtodo chatAt(posicion) y tambin podemos crear un array
de char que contenga todos los caracteres del String con el
mtodo toCharArray() de String.
Hemos visto como podemos pasar de String a otro valor, podemos hacerlo a la inversa? La
respuesta es s, usaremos el mtodo toString de cada clase de la variables primitiva.
Veamos un ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
public class PruebaApp {

public static void main(String[] args) {

long numLong=1;
String cad1=Long.toString(numLong);

int numInt=2;
String cad2=Integer.toString(numInt);

short numShort=3;
String cad3=Short.toString(numShort);

13
14
15
16
17
18
19
20
21
22
23
24
25
26
byte numByte=4;
String cad4=Byte.toString(numByte);

double numDouble=5;
String cad5=Double.toString(numDouble);

float numFloat=6;
String cad6=Float.toString(numFloat);

System.out.println(cad1+cad2+cad3+cad4+cad5+cad6);

}
}
Caracteres de escape en Java
Hola a todos, hoy os mostrare los caracteres de escape usados en Java. Los caracteres de
escape se usan para mostrar caracteres especiales como un tabulador, un salto de linea, etc.
Estos son los caracteres:
Caracter Descripcin
\n Nueva linea
\t Tabulador
\\ Contrabarra
\" Comillas dobles
\' Comillas simples
\r Retorno de carro
1
2
public class PruebaApp {

3
4
5
6
7
8
9
10
public static void main(String[] args) {

System.out.println("El siguiente texto esta entre \"comillas
dobles\" y " +
"este entre \'comillas simples\'\nSaltamos de linea y
\ttabulamos");

}

}
Este es el resultado:

Arrays en Java
Hola a todos, hoy os explicare como definir y usar arrays en Java.
Los arrays son colecciones de datos que agrupan una serie de variables del mismo tipo.
Cuando creamos un array se reserva automticamente memoria, al iniciar un array debemos
indicar su tipo y tamao, este tamao no puede variar durante la ejecucin. El tamao debe ser
un nmero entero positivo.
Para crear un array usamos new, veamos su sintaxis para definirlo:
Tipo_dato nombre_array[]=new tipo_dato[tamao];
Veamos un ejemplo:
1
2
3
4
5
6
7
public class PruebaApp {

public static void main(String[] args) {

//Definimos un array con 10 posiciones
int num[]=new int[10];

}
8
9
10

}
Tambin podemos asignar directamente sus valores, indicndolo entre llaves, los valores irn
separados por comas. Por ejemplo:
Tipo_dato nombre_array[]={valor1, valor2, valor3 };
1
2
3
4
5
6
7
8
9
10
public class PruebaApp {

public static void main(String[] args) {

//Definimos un array con 5 posiciones
int num[]={5, 6, 5, 2, 3};

}

}
Al tener un array creado, se rellenan por defecto, por ejemplo, si es un array de int se
rellenan con 0, si es un array de String se rellenan con null, ya que String es una clase en
realidad.
Para acceder a una posicin, debemos indicar la posicin mediante un numero entero entre
corchetes. Veamos un ejemplo:
1
2
3
4
5
6
7
8
public class PruebaApp {

public static void main(String[] args) {

//Definimos un array con 10 posiciones
int num[]=new int [10];

num[0]=5;
num[1]=9;
9
10
11
12
13
14
15

System.out.println(num[0]);
System.out.println(num[1]);
}

}
Un array empieza en 0 y acaba en la posicin tamao-1, por ejemplo, si creamos
un array de 10 posiciones, las posiciones irn del 0 al 9. Si colocamos una posicin fuera de
este rango, nos aparecer el error ArrayIndexOutOfBoundsException.
Para recorrer un array usamos un bucle, donde lo nico que variaremos sera la posicin.
Veamos un ejemplo de rellenar un array de 10 posiciones con mltiplos de 5.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class PruebaApp {

public static void main(String[] args) {

//Definimos un array con 10 posiciones
int num[]=new int [10];

//Recorremos el array
//array.lenght indica la longitud del array, en este caso,
devuelve 10
for (int i=0, multiplo=5;i<num.length;i++, multiplo+=5){
num[i]=multiplo;
System.out.println(num[i]);
}
}

}
API Java
Hola a todos, hoy os explicare como interpretar el API de Java, para obtener informacin de
una clase Java que necesitemos.
El API (Application Programming Interface) de Java nos permite obtener informacin de
cualquier clase Java para saber que parmetros necesitamos, que tipo de dato devuelve,
informacin adicional que debamos saber, etc. Todo esta en ingles.
El enlace del API de Java es http://docs.oracle.com/javase/7/docs/api/
En la parte de la izquierda, veremos los paquetes en la parte de arriba los paquetes que hay y
en la de abajo las clases ordenadas alfabticamente, si pinchamos en un paquete veremos
todas las clases que contiene. Por ejemplo:

Cuando pinchamos en una clase, por ejemplo la clase File, veremos informacin sobre la clase.
Lo normal es que nos encontremos distintas zonas como Field
Summary (constantes), Constructor Summary (constructores) y Method
Summary (mtodos).
De los mtodos y constructores, se muestran los parmetros que se usan con su tipo y su
descripcin.


Lo ms consultado del API son los mtodos, si pinchamos en uno veremos informacin
detallada como lo que devuelve y el tipo de excepcin que debemos controlar.

Un buen truco para encontrar rpidamente la clase que buscamos es abrir el buscador que trae
el navegador y escribir el nombre de la clase. Pulsando MAYUS+F3 abrimos el buscador en
cualquier navegador.


Mtodos en Java
Hola a todos, hoy os explicare como realizar mtodos en Java, es una de las partes mas
importantes en Java.
Los mtodos en Java nos sirven para ejecutar instrucciones mediante unos parmetros que
nosotros le damos (a veces, no es necesario incluir parmetros).
Los mtodos se definen fuera del main, debemos de indicarle que es lo que queremos
que tipo de dato o referencia devuelva, ya sea un int, String, un objeto, un array, etc, despus
el nombre delmtodo y por ltimo los parmetros que utilizara el mtodo,
estos parmetros son los valores que le daremos desde el main.
Esta es su sintaxis:
[Modificador de acceso] [Otros modificadores] Valor_retorno
nombre_mtodo (parmetros){
instrucciones
}
Veamos un ejemplo de su definicion, recuerda que lo hacemos fuera del main:
1
2
3
4
5
6
7
public class PruebaApp {

public static void main(String[] args) {

}

public static int sumaNumeros (int num1, int num2){
8
9
10

}
}
Lo de public (o private) y static, no es importante que sepas lo que significan ahora, ya
que lo veremos con ms detalles cuando veamos la programacin orientada a objetos.
Tambin hemos puesto que devuelva un int, cuando ponemos que devuelva un valor,
debemos poner algn return con el tipo de valor que ponemos a devolver.
En return podemos poner una frmula o una variable. Sigamos con el ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
public class PruebaApp {

public static void main(String[] args) {

}

public static int sumaNumeros (int num1, int num2){

int resultado=num1+num2;
return resultado;
}
}
Tambin podramos escribir return num1+num2; no es estrictamente necesario colocar
un return al final, aunque es lo ms normal, cuando ejecuta la lnea de cdigo return, sale
del mtodo devolviendo el valor.
Ya tenemos el mtodo, pero ahora debemos invocarlo en el main, ya que sino no servira de
nada. Para invocarlo, escribimos el nombre en el main y le pasamos los parmetros que
necesite, no podemos ni quitarle ni aadirle mas de los que necesita, ya que sino dar un error
en la compilacin. Sigamos con el ejemplo:
1
2
3
4
5
public class PruebaApp {

public static void main(String[] args) {

int operador1=3;
int operador2=5;
6
7
8
9
10
11
12
13
14
15
sumaNumeros(operador1, operador2);
}

public static int sumaNumeros (int num1, int num2){

int resultado=num1+num2;
return resultado;
}
}
Como vemos, no es necesario que el nombre de los parmetros del mtodo (parmetros
formales) sean iguales a los parmetros con los que invocamos el mtodo
(parmetros actuales).
Solo nos falta un detalle, almacenar el resultado del mtodo, ya que ahora mismo no estamos
haciendo nada con l. Sigamos con el ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class PruebaApp {

public static void main(String[] args) {

int operador1=3;
int operador2=5;
int resultado=sumaNumeros(operador1, operador2);

System.out.println("El resultado de la suma es "+resultado);
}

public static int sumaNumeros (int num1, int num2){

int resultado=num1+num2;
return resultado;
15
16
17
}
}
Antes hemos comentado que no es necesario que devuelva un tipo de valor, puede no
devolver nada, esto se suele usar cuando no necesitamos manejar algn valor calculado en
el mtodo. Por ejemplo, mostrar un mensaje. Al no devolver ningn valor, no debemos
poner return y no es necesario almacenar el resultado del mtodo como hemos visto antes.
Para indicar al mtodo que no devuelva nada, en el valor devuelto
escribimos void. Veamos un ejemplo con el ejemplo anterior:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class PruebaApp {

public static void main(String[] args) {

int operador1=3;
int operador2=5;
sumaNumeros(operador1, operador2);

}

public static void sumaNumeros (int num1, int num2){

int resultado=num1+num2;
System.out.println("El resultado de la suma es "+resultado);
}
}
Por ltimo, os quiero mostrar algo que debemos tener muy en cuenta, que nos suele pasar a
todos al empezar.
Imaginemos que manejamos dentro del mtodo una estructura condicional (como un if), si
ponemos un return dentro de este if, seguramente nos salte un error, ya que debemos
controlar que si no se introduce en el if debemos devolver algo.
Veamos un ejemplo, devolviendo un booleano, segn sea positivo o negativo el resultado:
1 public class PruebaApp {
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

public static void main(String[] args) {

int operador1=3;
int operador2=5;

if (sumaNumeros(operador1, operador2)){
System.out.println("El resultado es mayor que 0");
}else{
System.out.println("El resultado es menor que 0");
}
}

public static boolean sumaNumeros (int num1, int num2){
int resultado=num1+num2;
if (resultado>=0){
return true;
}else{
return false;
}
}
}

S-ar putea să vă placă și