order-of-execution

___ qstntxt ___

Ich rufe eine Methode mit zwei Argumenten auf, aber ich benutze k ++ wie folgt:

%Vor%

Eigentlich möchte ich sicher sein, dass jvm zuerst das erste Argument und dann das zweite Argument ausführt. Wenn sich die Reihenfolge irgendwie ändert, werden die Argumente in falscher Reihenfolge übergeben.

Vielen Dank!

    
___ answer22692892 ___

Java unterstützt keine benannten Parameter. Sie haben also richtig verstanden, dass Parameter in Position gelesen werden.

Zum Beispiel werden eine Methode mit der Signatur (int, String) und eine Methode mit der Signatur (String, int) niemals miteinander verwechselt. Java berücksichtigt den Typ und die Reihenfolge der Parameter bei der Ermittlung der Methode anrufen.

Bei Ihrer Methode haben Sie immer Parameter, die vorhersehbar und einheitlich sind.

Aus diesem Grund wird das erste k ++ immer zuerst und das zweite k ++ immer danach ausgeführt, und das ist garantiertes Verhalten.

    
___ answer22692883 ___

Ja, die Argumente werden garantiert von links nach rechts ausgewertet. Jeder Compiler, der den JLS-Regeln entspricht, sollte diesem folgen. Dies wird in JLS §15.7.4 :

  

Bei einer Methoden- oder Konstruktoraufruf- oder Klasseninstanzerstellung   Ausdruck, Argumentausdrücke können innerhalb der Klammern erscheinen,   durch Kommata abgetrennt. Jeder Argumentausdruck scheint vollständig zu sein   vor jedem Teil eines beliebigen Arguments auf der rechten Seite ausgewertet.

    
___ qstnhdr ___ Übergeben Argumente eine Methode immer von links nach rechts in Java bestellt? ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123methods ___ Eine Methode (oft als Funktion, Routine oder Prozedur bezeichnet) ist Code, der eine Aufgabe ausführt und einer Klasse oder einem Objekt zugeordnet ist. ___ tag123argumentpassing ___ parameter-passing ist der Prozess der Zuweisung von Werten zu den Parametern einer Funktion ___ tag123order of execution ___ hilf uns dieses Wiki zu bearbeiten ___ answer22692951 ___

Ja, das garantiert Java. Dies bedeutet jedoch nicht, dass die Verwendung des Codes so eine gute Idee ist: Leser Ihres Codes können durcheinander geraten.

Es ist viel sauberer, die Reihenfolge explizit anzuzeigen:

%Vor%     
___
3
Antworten

Übergeben Argumente eine Methode immer von links nach rechts in Java bestellt?

Ich rufe eine Methode mit zwei Argumenten auf, aber ich benutze k ++ wie folgt: %Vor% Eigentlich möchte ich sicher sein, dass jvm zuerst das erste Argument und dann das zweite Argument ausführt. Wenn sich die Reihenfolge irgendwie ändert, we...
27.03.2014, 15:53