1. Funktionen/Methoden in Java

Sie haben bereits viele Java-Befehle gelernt und können daher einige ziemlich komplexe Programme schreiben. 10, 20, 30 Zeilen Code in einem Programm sind kein sehr großes Programm, oder?

Aber ein Programm mit mehr als 100 Programmen ist umfangreich und es kann ziemlich schwierig sein, den Code zu verstehen. Können Sie irgendetwas tun, um das Schreiben und Lesen von Programmen mit viel Code zu vereinfachen?

Ja, und Methoden (oder Funktionen) werden uns dabei helfen.

Was ist eine Methode? Ganz einfach ausgedrückt ist eine Methode eine Gruppe von Befehlen, die einen eindeutigen Namen hat . Mit anderen Worten: Wir fassen einfach mehrere Befehle in einer Gruppe zusammen und geben ihr einen eindeutigen Namen. Und das war’s – die Methode ist fertig.

Beispiel:

Ohne Methode Mit einer Methode
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");
   }
}

Im Programm in der linken Spalte wiederholen wir denselben Code dreimal – wir haben dies absichtlich getan, um einen Punkt zu veranschaulichen. Aber im Programm rechts haben wir den wiederholten Code in eine separate Methode verschoben und ihm einen eindeutigen Namen gegeben – printWiFi.

Und statt des verschobenen Codes rufen wir die printWiFi()Methode dreimal auf.

Wenn das Programm in der Spalte rechts ausgeführt wird, werden bei jeder printWiFi()Ausführung der Methode alle Befehle innerhalb der printWiFi()Methode ausgeführt. Wir haben gerade einen neuen Befehl (eine neue Methode) erstellt und mehrere Befehle in einer einzigen Gruppe zusammengefasst.

Jeder Code kann in separate Methoden aufgeteilt werden. Dies dient der Vereinfachung: Die Idee ist, dass es besser ist, viele kleine Methoden zu haben als eine große. Sie werden bald überrascht sein, dass es jemals eine Zeit gab, in der Sie Ihre eigenen Programme geschrieben haben, ohne eigene Methoden zu schreiben.


2. Deklarieren einer Methode in Java

Wie schreiben Sie Ihre Methode richtig?

public static void name()
{
  method body
}

Beim Deklarieren (Erstellen) einer Methode sind viele Nuancen zu berücksichtigen, aber wir beginnen mit den Grundlagen. Wie können wir die einfachste Methode deklarieren? Eine einfache Methodendeklaration sieht so aus:

Wo name ist der eindeutige Name der Methode und method bodystellt die Befehle dar, aus denen die Methode besteht? Die Bedeutung der Wörter public, staticund voidwird später besprochen.

Nachdem wir eine Methode erstellt haben, können wir sie in unseren anderen Methoden aufrufen. Ein Methodenaufruf sieht so aus:

name();

Wo namesteht der eindeutige Name der Methode, die wir aufrufen wollen, also der Methode, deren Befehle wir ausführen wollen, wenn wir beim Methodenaufruf ankommen.

Wenn das Programm den Methodenaufruf erreicht, greift es einfach in die Methode ein, führt alle ihre Befehle aus, kehrt zur ursprünglichen Methode zurück und setzt die Ausführung fort.

Wie Sie wahrscheinlich schon erraten haben, handelt es sich bei den meisten Befehlen, die wir bisher gelernt haben, lediglich um Methoden, die von anderen Programmierern geschrieben wurden, um uns das Leben zu erleichtern: , usw.System.out.println()Thread.sleep()

Eine Methode kann Aufrufe anderer Methoden enthalten:

Code Notiz
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");
   }
}




Rufen Sie die printWiFi10Times()Methode auf.


Deklarieren Sie die printWiFi10TimesMethode.


Rufen Sie die printWiFi() Methode 10 Mal in einer Schleife auf.


Deklarieren Sie die printWiFiMethode.

Zeigen Sie Text auf dem Bildschirm an:
Wi-Fi

3. Fakten über Methoden

Hier noch ein paar Fakten zu Methoden:

Fakt 1. Eine Methode ist immer Teil einer Klasse.

Eine Methode kann nur in einer Klasse deklariert werden. Eine Methode kann nicht innerhalb einer anderen Methode deklariert werden. Eine Methode kann nicht außerhalb einer Klasse deklariert werden.

Fakt 2: Der Name einer Methode hat keine heilige Bedeutung.

Es spielt keine Rolle, welche Methoden aufgerufen werden – das hat keinerlei Auswirkungen. Die Hauptmethode ist eine Methode wie alle anderen. Dieser Name wurde lediglich für die Methode gewählt, mit der die Java-Maschine die Ausführung des Programms startet. Daran ist nichts Magisches.

Fakt 3. Die Reihenfolge der Methoden in einer Klasse spielt keine Rolle.

Sie können Ihre Methoden in einer Klasse in beliebiger Reihenfolge schreiben – dies hat keinerlei Auswirkungen auf die Ausführung des Programms. Beispiel:

Code
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();
   }
}

Fakt 4: Die Variablen innerhalb einer Methode stehen in keiner Beziehung zu den Variablen anderer Methoden.

Was in Vegas passiert bleibt in Vegas. Und die innerhalb einer Methode deklarierten Variablen bleiben innerhalb der Methode.

Variablen mit demselben Namen können in zwei benachbarten Methoden deklariert werden, und diese Variablen stehen in keiner Beziehung zueinander.


4. Methodennamen

Es ist seit langem bekannt, dass die beiden schwierigsten Probleme beim Programmieren darin bestehen, die richtigen Namen für Methoden und die richtigen Namen für Variablen auszuwählen.

Tatsächlich ist fast eine ganze Wissenschaft darüber entstanden, wie man Methoden richtig benennt. Und jede Programmiersprache hat ihre eigenen Standards. In Java ist es üblich, diese Prinzipien zu befolgen:

Prinzip 1. Ein Methodenname sollte kurz beschreiben, was die Methode tut.

Dann kann ein anderer Programmierer, der Ihren Code liest, anhand des Namens der Methode erraten, was der Code tut. Er oder sie muss sich nicht jedes Mal den Code der aufgerufenen Methoden ansehen. Und der Zweck der Methoden ist leichter zu merken.

Denken Sie daran, dass dies zum „Versetzen des Programms in den Ruhezustand“ und zum „Lesen der nächsten Ganzzahl“ verwendet wird. Praktisch, oder?Thread.sleep()Scanner.nextInt()

Prinzip 2. Ein Methodenname kann aus mehreren Wörtern bestehen.

Dabei gibt es jedoch mehrere Einschränkungen:

  • Ein Methodenname darf keine Leerzeichen enthalten: Alle Wörter werden zusammen geschrieben.
  • Jedes Wort wird groß geschrieben, mit Ausnahme des ersten.
  • Ein Methodenname beginnt immer mit einem Kleinbuchstaben

Erinnern Sie sich an die printWiFi10TimesMethode. Was bedeutet dieser Name? „Zeigen Sie das Wort ‚WiFi‘ 10 Mal an.“ Der Name einer Methode sollte nicht viele Wörter enthalten: Der Name sollte ihr Wesen widerspiegeln.

Dieser Standard zur Benennung von Methoden heißt CamelCase (Die Großbuchstaben ähneln den Höckern eines Kamels).

Prinzip 3. Ein Methodenname beginnt mit einem Verb.

Eine Methode führt immer etwas aus, daher ist das erste Wort in einem Methodennamen immer eine Aktion.

Hier sind einige schlechte Namen für Methoden: home, cat, car, train, ...;

Einige gute Namen sind: run, execute, print, read, write, ...

Prinzip 4. Verwenden Sie nur lateinische Buchstaben und Zahlen.

Java bietet hervorragende Unterstützung für verschiedene Sprachen. Sie können die Namen von Variablen, Methoden und Klassen sowohl auf Russisch als auch auf Chinesisch schreiben – alles wird funktionieren!

Aber! Wie lange müssten Sie Java lernen, wenn die System.out.println()Methode auf Chinesisch geschrieben wäre? Viel länger als jetzt, oder? Das ist der erste Punkt.

Zweitens sind viele Softwareentwicklungsteams international. Eine sehr große Anzahl von Java-Bibliotheken wird von Programmierern auf der ganzen Welt verwendet.

Daher wird empfohlen, in Methodennamen nur lateinische Buchstaben und Zahlen zu verwenden.

Wichtig:
Der Name einer Methode muss mit einem Buchstaben beginnen (er darf nicht mit einer Zahl beginnen).