Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe

Rudi231

Mitglied
Hallo liebe Community,
ich habe hier eine Probeklausuraufgabe bei der ich nicht die vollständige Lösung weiß.
Die Aufgabe:
Wie lautet die Ausgabe, wenn die Parameterübergabe an die Methode xyz call-by-value, call-by-reference bzw. call-by-name ist
Das Programm für die Aufgabe befindet sich unten.

Ich weiß nur die Ausgabe für Call-by-Value. Die wäre: 10 20 30
2

Wie die Ausgabe für Reference und Name ist weiß ich leider nicht.
Danke für eure Hilfe im vorraus.

Java:
public class CallBy2 {
     static int i = 0;
     static void xyz(int a, int b) {
          ++a;
          ++i;
          a = b;
          a = b;
     }
     public static void main(String[] args) {
          int[] n = { 10, 20, 30 };
          xyz(n[i], ++i);
          for (int i : n)
                 System.out.print(i + "\t");
         System.out.println();
         System.out.println(i);
     }
}
 

Hutzli

Aktives Mitglied
Hallo
Ich würde mal Call-By-Ref anschauen. Ich nehme an, du weisst, was das bedeutet?
Die nachfolgenden Operationen zeigen dir den Wert in n[0]
Java:
static void xyz(int a, int b) { // a ref auf n[0], b ref auf i
          ++a;  // n[0] = 11
          ++i; // i = 2
          a = b; // n[0] = i = 2
          a = b; // n[0] = i = 2
     }
public static void main(String[] args) {
          int[] n = { 10, 20, 30 };
          xyz(n[i], ++i); // n[i] = n[0] = ref auf 10, i vor xyz-Aufruf = 1
          for (int i : n)
                 System.out.print(i + "\t");
         System.out.println();
         System.out.println(i);
     }
Als Ausgabe würde ich folgendes erwarten: 2, 20, 30, 2
Kannst es ja mal in c/cpp probieren.

Call-By-Name kenne ich im Kontext von Java ehrlich gesagt nicht, es geht dort anscheinend um den Zeitpunkt, wann ein Ausdruck evaluiert wird.
Call-By-Value: Vor Funktionsaufruf einmal
Call-By-Name: Für jede Verwendung separat und by ref:
Java:
static int i = 0;
     static void xyz(int a, int b) {
          ++a; // Zugriff auf n[0] als Ref, n[0] = 11
          ++i; // i = 1, b wurde ja noch nicht verwendet
          a = b; // n[1] = ++i = 2
          a = b; // n[2] = ++i = 3
     }
     public static void main(String[] args) {
          int[] n = { 10, 20, 30 };
          xyz(n[i], ++i); // Noch nichts auswerten
          for (int i : n)
                 System.out.print(i + "\t");
         System.out.println();
         System.out.println(i);
     }
In dem Fall würde ich das Folgende erwarten: 11, 2, 3, 3
Sieh dir dazu die beiden Links an:
Link 1
Link 2

Ich hoffe, ich konnte dir damit ein wenig helfen und liege selbst nicht falsch mit meinen Lösungen ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java call by Value oder Reference Java Basics - Anfänger-Themen 35
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
G Klassen Call by Value auch bei Objekten? Java Basics - Anfänger-Themen 2
H call by reference & value Java Basics - Anfänger-Themen 14
B Call by Value/Reference Java Basics - Anfänger-Themen 4
N Methode erfüllt nicht den zweck (Call by value) Java Basics - Anfänger-Themen 17
0 Call by value Java Basics - Anfänger-Themen 3
S call by reference vs. call by value - pls help Java Basics - Anfänger-Themen 7
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
Joew0815 Methoden Objekt als Methoden-Parameter - Kein call-by-reference? Java Basics - Anfänger-Themen 12
T Array prozedur, call by reference ? Java Basics - Anfänger-Themen 6
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
S call by reference? Java Basics - Anfänger-Themen 52
R Call By Referene? Java Basics - Anfänger-Themen 10
F Verständisproblem bzgl. nicht Vorhandensein von Call-by-reference Java Basics - Anfänger-Themen 2
B Call By reference (Null pointer exception) Java Basics - Anfänger-Themen 6
C Call by reference Java Basics - Anfänger-Themen 11
W call-by-reference-Effekt bei Objekten Java Basics - Anfänger-Themen 3
S "Call by Reference" Java Basics - Anfänger-Themen 12
J Call by ... Java Basics - Anfänger-Themen 16
M try-catch, call-by-reference, Streaming und Strings Java Basics - Anfänger-Themen 10
S call by reference Java Basics - Anfänger-Themen 7
F java call jython Java Basics - Anfänger-Themen 7
C Unchecked Call? Wie Warnung beseitigen? Java Basics - Anfänger-Themen 3
F Wie kann ich call by reference umgehen? Java Basics - Anfänger-Themen 14
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
I call to super must be first statement in constructor Java Basics - Anfänger-Themen 3
F Call-By-Reference umgehen Java Basics - Anfänger-Themen 4
B Call by Reference Java Basics - Anfänger-Themen 7
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
I JSON - cannot deserialize from Object value Java Basics - Anfänger-Themen 16
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
D String value change listener Java Basics - Anfänger-Themen 2
G Java Object value und entity? Java Basics - Anfänger-Themen 2
ms_cikar Den Wert einer Hex. value bestimmten. Java Basics - Anfänger-Themen 8
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F Entity vs value Java Basics - Anfänger-Themen 3
R Value von einem JSON-Objekt ausgeben Java Basics - Anfänger-Themen 4
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
E jProgressbar, 6 Versuche, welche value angeben ? Java Basics - Anfänger-Themen 3
E Hash map Value Wert hochzuholen/ändern Java Basics - Anfänger-Themen 7
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
N JFreeChart - Value und veriable Zeitachse Java Basics - Anfänger-Themen 15
J Open Office Property Value mit Java aufrufen Java Basics - Anfänger-Themen 0
R Property Value als null setzen Java Basics - Anfänger-Themen 1
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
B Compiler-Fehler Hilfe!!! required variable ; found value Java Basics - Anfänger-Themen 4
M Arrays als return Value? Java Basics - Anfänger-Themen 2
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
T Schleifenindex "by reference" / "by value" Java Basics - Anfänger-Themen 13
V Methoden key value Parameter Java Basics - Anfänger-Themen 11
C Probleme bei einem Stringvergleich - Attribut "value" unterscheidet sich Java Basics - Anfänger-Themen 9
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
D TreeMap: Höheren Key ermitteln und den Value liefern Java Basics - Anfänger-Themen 3
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
B Variablen unique Value Java Basics - Anfänger-Themen 12
R Key/Value ohne Maps? Java Basics - Anfänger-Themen 2
B Datentypen Key/Value sortieren Java Basics - Anfänger-Themen 15
S Warnung in Eclipse: unassigned closeable value Java Basics - Anfänger-Themen 20
J Objectreferenz statt value an Methode uebergeben? Java Basics - Anfänger-Themen 2
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
B JavaSkript Form-Tag Value & Post Java Basics - Anfänger-Themen 6
M String( char[] value ) Java Basics - Anfänger-Themen 3
feardorcha Java von Kopf bis Fuß "Java ist Pass-by-Value" Java Basics - Anfänger-Themen 6
M Value-returing Methode funktioniert nicht Java Basics - Anfänger-Themen 4
O Was bedeutet public class value? Java Basics - Anfänger-Themen 3
M jSpinner: nur angezeigte Value auslesen? Java Basics - Anfänger-Themen 3
F Erste Schritte return (char)toUnsignedInt(value) Java Basics - Anfänger-Themen 2
J unexpected type variable/value Java Basics - Anfänger-Themen 2
F Hilfe Regular Expression Grouping Value Java Basics - Anfänger-Themen 3
K unexpected type variable/value Java Basics - Anfänger-Themen 7
turmaline Duration Value Java Basics - Anfänger-Themen 8
T Enum - Key als Value ermitteln Java Basics - Anfänger-Themen 7
K java pass by value Java Basics - Anfänger-Themen 29
capgeti Datentypen Static generic return value von Subclass? Java Basics - Anfänger-Themen 9
A ein map key/value"problem" Java Basics - Anfänger-Themen 9
A Regex get Value Java Basics - Anfänger-Themen 5
D Key und Value aus hashMap speichern Java Basics - Anfänger-Themen 7
M HashMap-Value | Array Java Basics - Anfänger-Themen 3
H TreeMap.remove(value) - und nicht mit key! Geht das? Java Basics - Anfänger-Themen 18
H Abhängigkeiten (key-value ) Java Basics - Anfänger-Themen 19
P Value einer Konstante lesen Java Basics - Anfänger-Themen 2
lumo Magic Value?! Java Basics - Anfänger-Themen 19
S HashMap: Rückgabe des key zu bestimmten value Java Basics - Anfänger-Themen 3
K Maps mit veränderlichen Daten als Value Objekte Java Basics - Anfänger-Themen 3
D Hashtable Value(Array) in String und dann Ausgeben Java Basics - Anfänger-Themen 23
? key - value Struktur in ArrayList Java Basics - Anfänger-Themen 3
G Container für [key,value] elemente ? Java Basics - Anfänger-Themen 7
G Überprüfen ob einen Array einen Value enthält Java Basics - Anfänger-Themen 13
C Passing Reference by Value Java Basics - Anfänger-Themen 4
A Integer Value Error beim Start Java Basics - Anfänger-Themen 5
G jProgressBar value aus anderer Klasse heraus verändern Java Basics - Anfänger-Themen 7
F Hashtable mit String[] als value Java Basics - Anfänger-Themen 2
L HashMap Key<->Value vertauschen Java Basics - Anfänger-Themen 5
T Klasse String enthält Methode value? Java Basics - Anfänger-Themen 2
T Suche über mehrere Felder value = key = value Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben