Java 6
Java 6
Generation/
Curso JAVA (Online-Nacional) 3ªEd.
Java Bootcamp
Eduardo Corral Muñoz
[email protected]
Funciones o
métodos
Índice
_01 Introducción _06 Ámbito variables
_02 Creando un método _07 Recursividad
_03 Argumentos _08 Importación de
_04 Resultados clases y paquetes
_05 Sobrecarga de _09 Refactorización
métodos
01
Introducción
¿Qué son las funciones/métodos?
Una función es un bloque de código reutilizable que puede ser
llamado en cualquier lugar de tu programa.
Solo se ejecuta cuando es llamado y se le puede llamar tantas
veces como se le necesite.
Una función puede recibir o no argumentos, conocidos también
como parámetros, que son datos de entrada que pueden ser
procesados o utilizados dentro del código de la función.
Nos referiremos a las funciones como métodos cuando se trate
de funciones pertenecientes al API o las clases que creemos en
Java.
02
Creando un método
Crear una función
Debe declararse dentro de una clase.
Se define con el nombre de método seguido de paréntesis.
Java tiene métodos predefinidos (System.out.println()) y permite
definir métodos propios.
public class MyClass {
static void myMethod() {
// bloque de código a ejecutar
}
}
03
Argumentos o parámetros
Argumentos
Podemos pasar información a una función como argumento
(parámetro).
Se especifican entre paréntesis tras el nombre de la función y se
declaran sus tipos antes del nombre.
Se pueden añadir tantos argumentos como sean necesarios
separados por comas.
Resultados
Resultados
Cuando una función no devuelve ningún resultado se declara con
la palabra clave void.
Cuando devuelve un valor, hay que indicar el tipo del valor que
devuelve (int, char, ..) en lugar de void.
La palabra clave return en el interior de la función devuelve el
resultado.
Parámetros
Un solo parámetro
public class Metodos {
static int miMetodo(int x) {
return 5 + x;
}
Sobrecarga de métodos
Sobrecarga de métodos (overloading)
Podemos definir múltiples métodos con el mismo nombre y
parámetros diferentes.
Si definimos un método para sumar números enteros y otro igual
con distinto nombre para números en coma flotante, podríamos
simplificar “sobrecargando” uno de ellos para que funcione con
los dos tipos de datos.
Varios métodos pueden tener el mismo nombre siempre que el
número y/o tipo de parámetros sean diferentes.
Sobrecarga de métodos (overloading)
Métodos separados
public class Metodos {
static int sumaInt(int x, int y) {
return x + y;
}
Ámbito variables
Ámbito de las variables
En Java, las variables solo son accesibles dentro de la parte del
código en la que han sido creadas, esto es el ámbito (scope).
Las variables declaradas dentro de un método son accesibles en
cualquier parte del mismo tras su declaración.
Las variables declaradas en un bloque de código ({ }) son
accesibles en cualquier parte del mismo tras su declaración. Un
bloque de código puede existir por si mismo o en las estructuras
if, while o for.
Ámbito de las variables
{
int x = 100;
// Aquí si existe x
System.out.println(x);
}
// Aquí x no existe
System.out.println(x);
}
}
07
Recursividad
Recursividad
Técnica que consiste en hacer que una función se llame a sí
misma repetidamente.
Permite simplificar problemas complejos.
La forma de más simple de explicarlo y entender cómo funciona
es en la práctica.
Recursividad
Técnica que consiste en hacer que una función se llame a sí
misma repetidamente.
Permite simplificar problemas complejos.
La forma de más simple de explicarlo y entender cómo funciona
es en la práctica.
Importación de
clases y paquetes
Importación de clases y paquetes
El API de Java dispone de una gran cantidad de métodos
predefinidos agrupados en clases y paquetes.
Las clases contienen métodos, constantes, variables
predefinidadas
Los paquetes son bibliotecas de clases
Para utilizaros en nuestro código (salvo excepciones) es preciso
incluirlos en él, hay que importarlos.
import package.name.clase; // Importa una sola clase
Import package.name.*; // Importa el paquete completo
Ya hemos importado algunas clases
import java.util.Scanner; // Importa la clase Scanner
import java.util.*; // Importa todo el paquete util
09
Refactorización
Refactorización Mantenimiento y
mejora del código