Verständnisfrage zu Anweisungen und deren Wirkung

SmittyJoe

Mitglied
Bei der Aufgabe ist mir nicht klar wie ich arbeiten muss! Klar ist das ich für a,b und c int-Werte nehme und dannrechnen muss! Links erfolgt eine Rechnung, doch was muss ich auf der rechten Seite bei bso. a=b beachten?

Haben die im folgenden nebeneinander gestellten Anweisungen stets die gleiche Wirkung (alle Variablen sind vom Typ int)?
Java:
a = (b - c)*2;      a = b;
                                  a = a - c;
                                  a = a*2;


Java:
a = (b - a)*2;          a = b;
                                      a = a - a;
                                      a = a*2;


Java:
a = (b - c)*2;          a = b*2;
                                      a = a - c*2;


Java:
a = (b - c)*2;          b = b*2;
                                      a = b - c*2;

Verifizieren Sie Ihre Vermutungen mit Wertverlaufstabellen und/oder mit Hilfe von Testprogrammen!
 

kaoZ

Top Contributor
Bei Java wird immer erst der Teil rechts des Gleichheitszeichens bearbeitet, sprich wenn du z.B schreibst
Java:
a = a++; // ist das gleiche wie ( a = a + 1) inkrementiert um 1

wird in der int variable a der wert der rechts neben dem "=" steht gespeichert , wenn dort nun steht :

Java:
a = b; // speichert eine kopie der variable b in variable a

da Java Pass by Value oder auch Pass by copy ist bedeutet das das nicht der eigentliche Wert der variable b in variable a gespeichert wird sondern eine Kopie der Wertes den b Referenziert .

Nehmen wir mal an du hast folgenden Code

Java:
int a = 10;
int b = 20;

a = (a + b) * 2 ; // erst wird die Rechnung rechts des Gleichheitszeichens ausgeführt

System.out.println("Das Ergebnis beträgt " + a);

// führt dies zu dieser Ausgabe:

Das Ergebnis beträgt 60
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Wenn du jetzt die Aufgabe hast die dort aufgeführten Anweisungen zu vergleichen schreib dir am besten ein kleines Testprogramm und führe die Anweisungen darin aus und lass dir die Ergebnisse dieser Ausgeben, so kannst du nachvollziehen zu welchem Ergebnis die verschiedenen Anweisungen kommen bzw. welchen unterschied diese haben :)
 

SmittyJoe

Mitglied
Für den ersten Abschnitt wäre es ja folgendermaßen:

int a = 10;
int b = 20;
int c = 30;

Java:
a = (b - c)*2;

a =(20-30)*2;

a = -20

Java:
a = b;

a = 20;

Java:
a = a -c;

a = -20

Java:
a = a*2;

a = 20;

Wir haben nun zweimal die gleichen Ergebnisse, wäre es hier nun die gleiche Wirkung?
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Naja, hier wäre es jetzt gut mal die vollständige Frage bzw den kompletten code zu der Frage zu sehen, in Bezug auf oben stehenden code, wenn man die Wirkung beider Anweisungen vergleicht
Also
Java:
a= ( b-c )*2; // wertzuweisung durch rechnung

a= b; // speichert lediglich eine Kopie des wertes aus variable b in variable a

Da ich nicht weiß wie der vollständige code dazu ist und die werte der Integer variablen nicht kenne kann ich so dazu nicht viel mehr sagen :)
 

SmittyJoe

Mitglied
In den Zitaten ist die genaue Aufgabenstellung drinne!

Hab hier eine andere Aufgabe welche 1:1 gleich ist:

Hat die Anweisung

a = (b - c)*2;

stets die gleiche Wirkung auf alle beteiligten Variablen, wie die Ausf¨uhrung der folgenden Anweisungen:

b = b*2;
a = b;
c = c*2;
a = a - c;

unabhängig davon, welchen Wert die ganzzahligen Variablen a, b und c haben? Geben Sie zur Rechtfertigung Ihrer Antwort eine überzeugende kurze Argumentation oder ein Gegenbeispiel an.

Vielleicht ist es jetzt verständlicher :)
 

kaoZ

Top Contributor
Naja unabhängig von den Werten der einzelnen Integer variablen, wird bei jeder Anweisung der jeweiligen Referenz (a,b,c) ein Wert zugewiesen :)

Demnach ist die Wirkung jeder dieser aufgeführten Anweisungen eine Wertzuweisung, nur mit unterschiedlichen Referenzen ( Werten ).
Java:
a=(b-c)*2; // wertzuweisung 
a=b; // wertzuweisung
Natürlich ist bei solchen unterschieden
Java:
 a=b-c*2;

a=(b-c)*2;

Ein anderes Ergebnis zu erwarten, da es aber nicht um Werte geht sondern um die Wirkung sollte das eigentlich passen, insofern ich jetzt die Fragestellung nicht vollkommen falsch deute :)
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
von anderer Seite gesehen verändert diese Anweisung den Wert, den a referenziert
Java:
a = ( b - c ) * 2;
Diese hier wiederum den Wert den b referenziert
Java:
b = b * 2;
Usw..
Bezieht man sich jetzt von der als erstes aufgeführten Anweisung auf alle folgenden , ist die Wirkung (bezogen auf die Referenzen) nicht immer die gleichen, da ja nicht jedesmal a, sondern auch die von b und c referenzieren Werte sich ändern, unabhängig davon welchen Wert die einzelnen variablen haben.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
A Verständnisfrage Java Basics - Anfänger-Themen 12
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
P Verständnisfrage: PageFactory.initElements Java Basics - Anfänger-Themen 2
R do while Schleife Verständnisfrage Java Basics - Anfänger-Themen 2
G while.next() Verständnisfrage Java Basics - Anfänger-Themen 16
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
T Verständnisfrage Objekt Getter Setter Java Basics - Anfänger-Themen 102
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
J Verständnisfrage zu throws neben Funktionen Java Basics - Anfänger-Themen 2
TimoN11 Verständnisfrage bei Aufgabe Java Basics - Anfänger-Themen 2
P Verständnisfrage zum Mapping Java Basics - Anfänger-Themen 3
M Java Version Verständnisfrage Java Basics - Anfänger-Themen 16
M Verständnisfrage zu eine Online Aufgabe Java Basics - Anfänger-Themen 7
T Verständnisfrage zur Konsolenausgabe Java Basics - Anfänger-Themen 2
M Verständnisfrage zu Generics Java Basics - Anfänger-Themen 7
D Verständnisfrage zur Modellierung einer HDD Java Basics - Anfänger-Themen 17
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
S Verständnisfrage lokale Ordnerpfade Java Basics - Anfänger-Themen 1
T Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 7
J Java Starthilfe Verständnisfrage Aufgabe Java Basics - Anfänger-Themen 2
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
C Verständnisfrage zu Modulo Java Basics - Anfänger-Themen 6
C Verständnisfrage bezüglich der Do-While Schleife Java Basics - Anfänger-Themen 9
L Verständnisfrage - Speicherabbild Java Basics - Anfänger-Themen 4
melly_ Verständnisfrage zu args Java Basics - Anfänger-Themen 3
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
K Verständnisfrage eines Abschnitts Java Basics - Anfänger-Themen 6
K Rekursion Verständnisfrage Java Basics - Anfänger-Themen 19
S Modell View Controller Verständnisfrage Java Basics - Anfänger-Themen 24
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
JavaTalksToMe Erste Schritte Println-Frage (Verständnisfrage) Java Basics - Anfänger-Themen 1
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
G Collections Verständnisfrage zur For-Each-Schleife Java Basics - Anfänger-Themen 7
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
G Verständnisfrage zu for-each Java Basics - Anfänger-Themen 4
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
K Rekursion-Verständnisfrage Java Basics - Anfänger-Themen 4
J Java Server Pages - Verständnisfrage Java Basics - Anfänger-Themen 2
Z Verständnisfrage Anfängerprogramm Java Basics - Anfänger-Themen 0
T Verständnisfrage Zuweisungs-/arithmet. Operatoren Java Basics - Anfänger-Themen 2
G Methoden Verständnisfrage zur Methoden Java Basics - Anfänger-Themen 7
LionAge Kapselung, Verständnisfrage zur Objekterzeugung Java Basics - Anfänger-Themen 4
Z Verständnisfrage zum Multithreading Java Basics - Anfänger-Themen 3
R OOP / Verständnisfrage zum Konstuktor (siehe code) Java Basics - Anfänger-Themen 7
gamebreiti Verständnisfrage zu contains() Java Basics - Anfänger-Themen 10
A Verständnisfrage - Koordinatenumrechnung Java Basics - Anfänger-Themen 9
J Erste Schritte Verständnisfrage im Bezug auf das (richtige) Programmieren Java Basics - Anfänger-Themen 5
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
H Verständnisfrage Array Java Basics - Anfänger-Themen 2
I Interface Verständnisfrage Interfaces (Bsp.: Enumeration) Java Basics - Anfänger-Themen 2
I Verständnisfrage zu BridgePattern, Verwedung von super() Java Basics - Anfänger-Themen 4
P Verständnisfrage Java Basics - Anfänger-Themen 3
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
D Input/Output Verständnisfrage Verzeichnis-/Dateiliste erstellen & Dateikonvertierung Java Basics - Anfänger-Themen 1
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
E Threads Verständnisfrage bzgl. Threads und Sleep Java Basics - Anfänger-Themen 2
T Erste Schritte Verständnisfrage: Getter und Setter Methoden Java Basics - Anfänger-Themen 3
H Verständnisfrage zu Java-Ausgabe Java Basics - Anfänger-Themen 3
S Verständnisfrage Java Basics - Anfänger-Themen 2
N Verständnisfrage Code Java Basics - Anfänger-Themen 8
B Verständnisfrage Java Basics - Anfänger-Themen 2
H Interface Comparable Verständnisfrage Java Basics - Anfänger-Themen 6
B Verständnisfrage Codezeile Java Basics - Anfänger-Themen 7
B Verständnisfrage:Beispielprogramm BlueJ Java Basics - Anfänger-Themen 3
M Kurze Verständnisfrage zu einer Java Aufgabe Java Basics - Anfänger-Themen 12
K Erste Schritte Kleine Verständnisfrage Java Basics - Anfänger-Themen 12
R Verständnisfrage Referenzvariablen in array Java Basics - Anfänger-Themen 3
M Verständnisfrage: Objekt erzeugen u. zuweisen Java Basics - Anfänger-Themen 16
I OOP Verständnisfrage zu Singelton Pattern Java Basics - Anfänger-Themen 21
M Verständnisfrage zu JPanel Java Basics - Anfänger-Themen 3
S Verständnisfrage: Exception Gebrauch Java Basics - Anfänger-Themen 2
R Verständnisfrage NPE Java Basics - Anfänger-Themen 5
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
P Java Objekte - Verständnisfrage Java Basics - Anfänger-Themen 9
N Verständnisfrage zu folgendem Programm Java Basics - Anfänger-Themen 2
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
S Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 2
VfL_Freak Verständnisfrage zur Klasse "TIMER" Java Basics - Anfänger-Themen 7
P Verständnisfrage zu Instanzen/Objekten Java Basics - Anfänger-Themen 9
M Verständnisfrage im Umgang mit Map Java Basics - Anfänger-Themen 10
K Verständnisfrage zu int.length und String.length() Java Basics - Anfänger-Themen 4
G 2D Array gleichsetzen verständnisfrage Java Basics - Anfänger-Themen 2
M kleine und einfache Verständnisfrage Java Basics - Anfänger-Themen 3
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
G Datentypen bits, bytes, chars - Verständnisfrage Java Basics - Anfänger-Themen 5
E Verständnisfrage zu Shutdownhook Java Basics - Anfänger-Themen 5
D Verständnisfrage: Java und MySql Java Basics - Anfänger-Themen 3
F Rekursion Verständnisfrage Java Basics - Anfänger-Themen 6
A Exception Verständnisfrage: Exceptions während, einer Statischenzuweisung abfangen Java Basics - Anfänger-Themen 10
Z Comparator Verständnisfrage Java Basics - Anfänger-Themen 5
D Verständnisfrage zu Funktionen Java Basics - Anfänger-Themen 6
H Verständnisfrage Persistenz Java Basics - Anfänger-Themen 10
neurox Verständnisfrage zu Threads Java Basics - Anfänger-Themen 4
E Verständnisfrage Syntax: frame.getContentPane().add(button) Java Basics - Anfänger-Themen 11
Y Kleine Verständnisfrage zum Thema dynamische Polymorphie Java Basics - Anfänger-Themen 3
F Verständnisfrage Objekt instanzierung / Polymorphie Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben