1. Funciones/métodos en Java

Ya ha aprendido muchos comandos de Java, lo que significa que puede escribir algunos programas bastante complejos. 10, 20, 30 líneas de código en un programa no es un programa muy grande, ¿verdad?

Pero un programa de más de 100, ahora eso es grande, y puede ser bastante difícil entender el código. ¿Hay algo que pueda hacer para simplificar de alguna manera la escritura y lectura de programas que tienen mucho código?

Sí, y los métodos (o funciones) nos ayudarán con esto.

¿Qué es un método? En pocas palabras, un método es un grupo de comandos que tiene un nombre único . En otras palabras, solo ponemos varios comandos en un grupo y le damos un nombre único. Y eso es todo, el método está listo.

Ejemplo:

sin un método con un metodo
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

En el programa de la columna izquierda, repetimos el mismo código tres veces; lo hicimos intencionalmente para ilustrar un punto. Pero en el programa de la derecha, movimos el código repetido a un método separado y le dimos un nombre único: printWiFi.

Y en lugar del código reubicado, llamamos al printWiFi()método 3 veces.

Cuando se ejecuta el programa en la columna de la derecha, cada vez que se ejecuta el método, se ejecutan printWiFi()todos los comandos dentro del método. printWiFi()Acabamos de crear un nuevo comando (método), combinando varios comandos en un solo grupo.

Cualquier código se puede dividir en métodos separados. Esto se hace para simplificar las cosas: la idea es que es mejor tener muchos métodos pequeños que uno grande. Pronto se sorprenderá de que alguna vez escribió sus propios programas sin escribir sus propios métodos.


2. Declarar un método en Java

Entonces, ¿cómo escribes tu método correctamente?

public static void name()
{
  method body
}

Hay muchos matices a considerar al declarar (crear) un método, pero comenzaremos con lo básico. ¿Cómo podemos declarar el método más simple? Una declaración de método simple se ve así:

Donde name es el nombre único del método y method bodyrepresenta los comandos que componen el método. El significado de las palabras public, static, y voidse discutirá más adelante.

Después de haber creado un método, podemos llamarlo en nuestros otros métodos. Una llamada de método se ve así:

name();

Donde nameestá el nombre único del método que queremos llamar, es decir, el método cuyos comandos queremos ejecutar cuando lleguemos a la llamada del método.

Cuando el programa llega a la llamada al método, simplemente ingresará al método, ejecutará todos sus comandos, volverá al método original y continuará con la ejecución.

Como ya habrás adivinado, la mayoría de los comandos que hemos aprendido hasta ahora son solo métodos escritos por otros programadores para hacernos la vida más fácil: , , etc.System.out.println()Thread.sleep()

Un método puede contener llamadas a otros métodos:

Código Nota
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




Llamar al printWiFi10Times()método


Declarar el printWiFi10Timesmétodo


Llamar al printWiFi() método 10 veces en un ciclo


Declarar el printWiFimétodo

Mostrar texto en la pantalla:
Wi-Fi

3. Datos sobre los métodos

Aquí hay algunos datos más sobre los métodos:

Hecho 1. Un método siempre es parte de una clase.

Un método solo puede declararse en una clase. Un método no se puede declarar dentro de otro método. Un método no se puede declarar fuera de una clase.

Hecho 2. El nombre de un método no tiene un significado sagrado.

No importa cómo se llamen los métodos, eso no afecta nada. El método principal es un método como todos los demás. Es solo que este nombre fue elegido para el método desde el cual la máquina Java comenzará la ejecución del programa. No hay nada mágico en ello.

Hecho 3. El orden de los métodos en una clase no importa.

Puede escribir sus métodos en una clase en cualquier orden; esto no afectará la ejecución del programa de ninguna manera. Ejemplo:

Código
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Hecho 4. Las variables dentro de un método no están relacionadas de ninguna manera con las variables de otros métodos.

Lo que pasa en Las Vegas se queda en Las Vegas. Y las variables declaradas dentro de un método permanecen dentro del método.

Las variables con los mismos nombres se pueden declarar en dos métodos adyacentes, y estas variables no están relacionadas entre sí de ninguna manera.


4. Nombres de métodos

Durante mucho tiempo se ha sabido que los dos problemas más difíciles en la programación son elegir los nombres correctos para los métodos y elegir los nombres correctos para las variables.

De hecho, ha surgido casi toda una ciencia sobre cómo nombrar correctamente los métodos. Y cada lenguaje de programación tiene sus propios estándares. En Java, se acostumbra seguir estos principios:

Principio 1. El nombre de un método debe describir brevemente lo que hace el método.

Luego, otro programador que lea su código puede confiar en el nombre del método para adivinar qué hace el código. Él o ella no necesitará mirar el código de los métodos llamados cada vez. Y el propósito de los métodos es más fácil de recordar.

Recuerde que se usa para 'poner el programa en suspensión' y se usa para 'leer el siguiente entero'. Conveniente, ¿verdad?Thread.sleep()Scanner.nextInt()

Principio 2. El nombre de un método puede tener varias palabras.

Sin embargo, existen varias limitaciones al hacer esto:

  • No puede tener espacios en el nombre de un método: todas las palabras se escriben juntas.
  • Cada palabra está en mayúscula, excepto la primera.
  • El nombre de un método siempre comienza con una letra minúscula

Recuerda el printWiFi10Timesmétodo. ¿Qué significa ese nombre? "Mostrar la palabra 'WiFi' 10 veces". No debe incluir muchas palabras en el nombre de un método: el nombre debe reflejar su esencia misma.

Este estándar para nombrar métodos se llama CamelCase (Las letras mayúsculas son como las jorobas de un camello).

Principio 3. El nombre de un método comienza con un verbo.

Un método siempre hace algo, por lo que la primera palabra en el nombre de un método siempre es una acción.

Aquí hay algunos nombres incorrectos para los métodos: home, cat, car, train, ...;

Algunos buenos nombres son: run, execute, print, read, write, ...

Principio 4. Utilice únicamente letras y números latinos.

Java tiene un excelente soporte para diferentes lenguajes. Puede escribir los nombres de las variables, los métodos y las clases en ruso y en chino. ¡Todo funcionará!

¡Pero! ¿Cuánto tiempo tendría que estudiar Java si el System.out.println()método estuviera escrito en chino? Mucho más tiempo que ahora, ¿verdad? Ese es el primer punto.

En segundo lugar, muchos equipos de desarrollo de software son internacionales. Los programadores de todo el mundo utilizan una gran cantidad de bibliotecas de Java.

Por lo tanto, se recomienda utilizar solo letras y números latinos en los nombres de los métodos.

Importante:
El nombre de un método debe comenzar con una letra (no puede comenzar con un número).