Sie ähnelt einer „Funktion“. C-Sprache. Die Funktionen sind wie folgt:
1 Der Code kann modular organisiert werden (wenn die Codegröße komplexer ist). Eine Kopie des Codes kann an mehreren Stellen verwendet werden.
3 Machen Sie den Code verständlicher und einfacher.
4 Rad.#🎜🎜 #
1.2. Definition der Methode Definitionsformat:Beispiel: Schreiben Sie a Funktion, um herauszufinden, wie viele Elemente die Summe der Fakultäten ist public static, sodass nur die darin aufgerufenen Methoden eine statische Methode sein können.
2. Rückgabewerttyp: Wenn die Methode einen Rückgabewert hat, muss der Rückgabewerttyp mit dem zurückgegebenen Entitätstyp übereinstimmen. Wenn kein Rückgabewert vorhanden ist, muss er als void geschrieben werden. 3. Methodenname: Verwenden Sie einen kleinen Kamelkasten, um ihn zu benennen. 4. Parameterliste: Wenn die Methode keine Parameter hat, schreiben Sie nichts in (). Wenn Parameter vorhanden sind, müssen Sie den Parametertyp angeben, um mehrere Parameter zu trennen. 5. Methodenkörper: Die Anweisung, die innerhalb der Methode ausgeführt werden soll. 6. In Java müssen Methoden in Klassen geschrieben werden. 7. In Java können Methoden nicht verschachtelt werden. 8. In Java gibt es keine Methodendeklaration. (Deklaration und Definition werden nicht unterschieden). >Suchen Sie die Methodenadresse—>Der Methodenkörper, der die aufgerufene Methode ausführt—>Die aufgerufene Methode endet und kehrt zurück—>Kehren Sie zur aufrufenden Hauptmethode zurück und setzen Sie die Ausführung fort Bildsymbol: # 🎜🎜# Hinweis: 1: Beim Definieren einer Methode wird der Code der Methode nur dann ausgeführt, wenn dies der Fall ist aufgerufen Wird ausgeführt.2, eine Methode kann mehrmals aufgerufen werden.1.4 Die Beziehung zwischen tatsächlichen Parametern und formalen Parametern (wichtig)#🎜 🎜#Denn die Beziehung zwischen formalen Parametern und tatsächlichen Parametern ist sicherlich jedem bekannt, das heißt, die formalen Parameter sind eine temporäre Kopie der tatsächlichen Parameter, was bedeutet, dass Änderungen der formalen Parameter keine Auswirkungen auf die tatsächlichen Parameter haben.
Veranschaulichung des spezifischen Grundes: (Da die spezifischen Probleme im Zusammenhang mit Funktionsstapelrahmen komplizierter sind, finden Sie hier eine kurze Erklärung)
#🎜 🎜 #
Wie Sie auf dem Bild sehen können, werden beim Aufruf nach Wert die Werte der formalen und tatsächlichen Parameter überhaupt nicht im selben Raum gespeichert, sodass sie sich nicht gegenseitig stören. Wenn Sie in der C-Sprache die formalen Parameter ändern möchten, müssen Sie sie über die Adresse aufrufen. In Java gibt es jedoch keine Übergabeadresse. Die Lösung kann nur darin bestehen, Referenzen zu verwenden (. was später im Detail vorgestellt wird). 2. Methodenüberladung 2.1. Warum eine Methodenüberladung erforderlich istpublic class TeseDemo220424 { // 计算某一个数的阶乘 public static int func(int n){ int ret = 1; for(int i = 1;i <= n;i++){ ret *= i; } return ret; } // 计算前多少项阶乘之和 public static int func1(int k){ int sum = 0; for(int i = 1;i <= k;i++){ sum += func(i); } return sum; } public static void main(String[] args) { // 写函数来求阶乘之和 Scanner myscanner = new Scanner(System.in); System.out.println("请输入你想要求取前多少项的阶乘的和:"); int num = myscanner.nextInt(); int sum = func1(num); System.out.println("前 " + num + "项的阶乘和为" + sum); } }
public class TestDemo220426 { public static int addInt(int x,int y){ return x + y; } public static double addDouble(double x,double y){ return x + y; } public static void main(String[] args) { int a = 10; int b = 10; int ret = addInt(a,b); double c = 11.1; double d = 12.1; double ret1 = addDouble(c,d); } }
4 Sie können keine zwei Funktionen definieren, die sich nur durch ihre Rückgabewerte unterscheiden.# 🎜🎜#
5. Wenn der Compiler den Code kompiliert, werden die tatsächlichen Parametertypen abgeleitet und die Methode basierend auf den Ableitungsergebnissen aufgerufen 🎜#Die Methodensignatur lautet: Die endgültige Methode nach dem Kompilieren und Ändern durch den Compilernamen. Die spezifische Methode ist: der vollständige Pfadname der Methode + Parameterliste + Rückgabewerttyp, der den vollständigen Namen der Methode darstellt. Wird zur Unterscheidung überladener Funktionen verwendet.
So zeigen Sie unsere Methodensignatur an:
1 Kompilieren Sie zunächst das Projekt, um eine .class-Bytecode-Datei zu generieren2 . Geben Sie in der Konsole das Verzeichnis ein, in dem sich die .class befindet, die Sie anzeigen möchten. 3
3.1. Das Konzept der Rekursion
Definition: Eine Methode, die sich während der Ausführung selbst aufruft, wird als „rekursiv“ bezeichnet. Notwendige Bedingungen:
# 🎜🎜#1. Rekursive Formel 2.public static int func(int num){ if(num == 1){ return 1; } return num*func(num - 1); } public static void main(String[] args) { // 递归求阶乘 Scanner scan = new Scanner(System.in); System.out.println("请输入一个数:"); int num = scan.nextInt(); int ret = func(num); System.out.println("阶乘为:" + ret); } }
在这里我们以求一个数的阶乘的代码为例来分析一个递归的过程:
递归的过程其实不复杂,看成两个部分,一个是递出去,而是归回来,上面的蓝色箭头是递的过程,红色箭头是归的过程。
按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)
public class TestDemo220427 { public static void myprint(int num){ if(num < 10){ System.out.println(num%10); return; } myprint(num/10); System.out.println(num%10); return; } public static void main(String[] args) { // 递归实现按顺序打印数字的每一位 Scanner scan = new Scanner(System.in); System.out.println("请输入一个数:"); int num = scan.nextInt(); myprint(num); } }
求斐波那契数列的第 N 项
public class TestDemo220428 { public static int fib1(int n){ int f1 = 1; int f2 = 1; int f3 = 1; for(int i = 3;i <= n;i++){ f3 = f1 + f2; f1 = f2; f2 = f3; } return f3; } public static int fib(int n){ if(n == 1 || n == 2){ return 1; } return fib(n-1) + fib(n-2); } public static void main(String[] args) { // 递归求斐波那契数列的第n项 Scanner scan = new Scanner(System.in); System.out.println("请输入您想要求取的项数:"); int n = scan.nextInt(); int ret = fib1(n); System.out.println("第" + n + "项为:" + ret); } }
利用递归求斐波那契数列的第n项的话,其实是一个双路递归,不推荐这种求解的方法,因为会算很多重复的项,效率很低,一般都是选择循环迭代的方式来生成斐波那契数即可。
Das obige ist der detaillierte Inhalt vonBeispielanalyse für die Verwendung von Java-Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!