La máquina de café
Metes una moneda, eliges un café y la máquina te lo da. No ves cómo lo hace.
Tú das algo, y ella te devuelve algo. Siempre que quieres otro café, repites lo mismo.
En un programa pasa igual. Un trozo de código con nombre puede usarse muchas veces. Se llama método.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Método | Un trozo de programa con nombre que puedes usar cuando quieras. | static void welcome() |
| Llamar | Pedir que se haga un método. Escribes su nombre y paréntesis. | welcome(); |
| Parámetro | Un dato que le das al método para que trabaje. | String name |
| Valor devuelto | Lo que el método te da al terminar. | return price; |
| void | Significa vacío. El método no devuelve nada. | static void welcome() |
| return | Devuelve el valor y termina el método. | return a + b; |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un método sin datos
Escribes el método una vez y lo llamas las veces que quieras.
Pones static delante, como en main. Después void, porque este método no devuelve nada. Por último su nombre, unos paréntesis y unas llaves.
Para llamarlo escribes su nombre y ();.
Pruébalo: un mensaje del bar
public class Main {
// Un método: dos líneas con un nombre.
static void welcome() {
System.out.println("Bienvenido al bar del instituto.");
System.out.println("Hoy hay tortilla y bocadillos.");
}
public static void main(String[] args) {
welcome();
welcome();
// Añade una tercera llamada a welcome.
}
}
Darle datos al método
Un saludo que dice siempre lo mismo sirve de poco. Mejor que diga tu nombre.
Para eso el método recibe un parámetro. Se escribe entre los paréntesis, con su tipo y su nombre: String name.
Al llamarlo, pones el dato real entre paréntesis: greet("Lucía").
Pruébalo: un saludo para cada uno
public class Main {
static void greet(String name, int age) {
System.out.println("Hola, " + name + ".");
System.out.println("Tienes " + age + " años.");
}
public static void main(String[] args) {
greet("Lucía", 16);
greet("Iker", 17);
// Llámalo con tu nombre y tu edad.
}
}
Devolver un resultado
A veces no quieres escribir nada. Quieres un resultado para usarlo después.
Entonces cambias void por el tipo del resultado, por ejemplo double. Y terminas con return.
Quien llama al método recibe el valor y puede guardarlo en una variable.
Pruébalo: un descuento
public class Main {
// Recibe un precio y un porcentaje. Devuelve el precio final.
static double withDiscount(double price, int percent) {
double saved = price * percent / 100;
return price - saved;
}
public static void main(String[] args) {
double pass = withDiscount(20.0, 10);
System.out.println("Con descuento pagas " + pass + " euros.");
double shoes = withDiscount(50.0, 20);
System.out.println("Las zapatillas cuestan " + shoes + " euros.");
}
}
Ejemplo resuelto: qué entra y qué sale
| Llamada | Lo que entra | Lo que sale |
|---|---|---|
| withDiscount(20.0, 10) | 20,00 euros y 10 por ciento | 18.0 |
| withDiscount(50.0, 20) | 50,00 euros y 20 por ciento | 40.0 |
| withDiscount(8.0, 50) | 8,00 euros y 50 por ciento | 4.0 |
| biggest(3, 7) | los números 3 y 7 | 7 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
return termina el método
Advertencia
Cuando Java llega a return, sale del método en ese momento. Las líneas que haya debajo no se hacen. Si el método dice double, tiene que devolver un double, y si dice void, no devuelve nada.
Un método que decide
Dentro de un método puedes usar todo lo que ya sabes: if, bucles, operadores.
Por ejemplo, para el mayor de dos números: si a es mayor, devuelves a. Si no, devuelves b.
Un método puede tener varios return. Solo se hace el primero que Java alcanza.
Repaso rápido
Inténtalo
Repaso rápido
3 preguntasTus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.