Ein Vorlesungsausschnitt mit einem Mentor im Rahmen des Codegym University-Kurses. Melden Sie sich für den gesamten Kurs an.


„Bist du schon hier, Amigo? Ich weiß, dass du bereits viele Java-Befehle gelernt hast. Du hast fast mein Niveau erreicht!“

„Ist das wahr, Diego?“

„Natürlich nicht, ha-ha. Du hast noch viel zu lernen und zu lernen. Trotzdem weißt du bereits genug, um ziemlich komplexe Programme zu schreiben. 10, 20, 30 Zeilen Code in einem Programm sind kein sehr großes Programm, Rechts?"

„Ich denke, Sie haben Recht. Vor allem, wenn Sie geschweifte Klammern in separate Zeilen setzen.“

„Aber ein Programm mit mehr als 100 Zeilen ist schon riesig. Selbst uns Robotern fällt es ziemlich schwer, solchen Code zu verstehen. Was denken Sie, gibt es irgendetwas, das man tun kann, um das Schreiben und Lesen von Programmen mit viel Code irgendwie zu vereinfachen?“

„Das hoffe ich aufrichtig!“

„Ihre Hoffnungen sind nicht umsonst. Es ist möglich, Programme zu vereinfachen, und Methoden helfen uns dabei. Sie werden manchmal Funktionen genannt .

„Funktionen, Methoden... Äh, was sind das?“

„Um es ganz einfach auszudrücken: Eine Methode ist 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 – bumm – wir haben eine Methode. Meistens.“ Oft werden diese Befehle nach einem bestimmten Grund gruppiert, um eine kleine und spezifische Aufgabe zu lösen. Zum Beispiel „eine Methode zum Drucken von Zeilen aus einer Datei“. Oder „eine Methode zum Erhöhen einer Zahl auf einen Exponenten“.

„Also haben wir das Programm in Methoden aufgeteilt?“

„Ja, und es vereinfacht den Code.

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 auf der rechten Seite 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 Ausführung der printWiFi()Methode alle Befehle innerhalb der printWiFi()Methode ausgeführt. Wir haben gerade einen neuen Befehl (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.

„Es ist eine tolle Idee, ein Programm in Methoden aufzuteilen.

„Bald werden Sie sich mit Staunen daran erinnern, wie Sie früher Programme geschrieben haben, ohne eigene Methoden zu entwickeln.“

„Ich bin bereit, zuzuhören und zu versuchen, Methoden zu schreiben! Sagen Sie mir einfach, wie es geht.“

Deklarieren einer Methode in Java

„Wie können wir die einfachste Methode deklarieren? So geht’s:

public static void name()
{
  method body
}

Wo nameist 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 nameist der eindeutige Name der Methode, die wir aufrufen möchten, also der Methode, deren Befehle wir ausführen möchten, 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.“

„Und jetzt, Amigo, sieh dir die Befehle, die du bereits gelernt hast, mit neuen Augen an. Zum Beispiel . Fällt dir irgendetwas ein, was das wirklich ist?“System.out.println()

„Wollen Sie damit sagen, dass all diese Befehle nur Methoden sind, die von anderen Programmierern geschrieben wurden?“

„Nicht alle, aber viele. Ja, genau! Andere haben sie geschrieben, um uns das Leben zu erleichtern.“

„Das public static void main(String[] args)ist auch eine Methode... Jetzt macht es mehr Sinn!“

„Natürlich tut es das! Es ist Programmieren! Es stellt sich heraus, dass die Hauptmethode – das A und O des Programms – Aufrufe anderer Methoden enthalten kann:

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




Wir rufen die print10TimesWiFi()Methode auf.


Wir deklarieren die print10TimesWiFiMethode


. Wir rufen die printWiFi() Methode 10 in einer Schleife auf


. Wir deklarieren die printWiFiMethode.

Wir zeigen „ Wi-Fi“ auf dem Bildschirm an

Fakten über Methoden

„Ich habe einige nützliche Fakten über Methoden für Sie beiseite gelegt. Viel Spaß hier:

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. Trotzdem ist es besser, Methodennamen zu wählen, die zumindest ein wenig klar machen, wozu sie dienen. Ich werde etwas später darüber sprechen.

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.

Methodennamen

„Also ... ich habe versprochen, Ihnen etwas über Methodennamen zu erzählen. 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.“

„Ich hätte nie gedacht, dass das so schwierig ist!“

„Sie wussten einfach nicht viel über den vagen Code anderer, in dem Variablen und Methoden willkürliche Namen haben. Versuchen Sie einfach, diesen Code herauszufinden. Tatsächlich hat sich fast eine ganze Wissenschaft darüber entwickelt, wie man Methoden richtig benennt. Und das hat jede Programmiersprache.“ seine eigenen Maßstäbe.

„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.

Wird beispielsweise verwendet, um „das Programm in den Ruhezustand zu versetzen“ und um „die nächste Ganzzahl zu lesen“. 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

Denken Sie an die print10TimesWiFiMethode. 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. Ein Methodenname verwendet 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! Stellen Sie sich vor, wie lange Sie Java lernen müssten, 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).

„Dies sind alle Grundprinzipien, die die Benennung von Methoden in Java regeln. Die Lektion ist jetzt zu Ende. Lösen Sie Aufgaben!“

„Ich renne schon, Diego!“


Ein Vorlesungsausschnitt mit einem Mentor im Rahmen des Codegym University-Kurses. Melden Sie sich für den gesamten Kurs an.