www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - Java Programmierung, Syntax
Java Programmierung, Syntax < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Java Programmierung, Syntax: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:18 Sa 13.02.2010
Autor: matheja

Aufgabe
Hallo,Ich bin grad derbe am lernen für meine Klausur und habe folgende Aufgaben.ich will nur wissen ob meine jeweiligen Lsgen richtig sind.

Aufgaben:

Gegeben seien die Folgenden Codefragmente:
a)
int var;
var = var + 5;
Lässt sich der Wert der Variablen var Berechnen? Wenn ja, welchen Wert
besitzt var nach der Ausführung der Programmzeilen? Wenn nein, warum
lässt sich var nicht berechnen? Welchen Fehler gibt der Java-Compiler?

b)
for (int i = 0; i<10; i++);
{

}
Wie häufig wird der Block (die geschweiften Klammern) ausgeführt?
Begründen Sie Ihre Antwort

c)
int ergebnis = 5;
int x = fun();
int y = ergebnis;

int fun()
{
int ergebnis = 55;
return ergebnis;
}
Welchen Wert besitzt die Variable y nach Ausführen der letzen
Programmzeile? Begründen Sie Ihre Antwort.

d)
int a = calculate()

double calculate()
{
double result = 5;

return result;
}
Kann der Variablen a ein Ergebnis der Funktion calculate zugewiesen
werden? Begründen Sie Ihre Antwort.

e)
double a;
Double b;
Worin unterscheiden sich a und b? Gibt es Leistungen die nur einer von
beiden erbringen kann?

a) Wert lässt sich nicht berechen.Wenn mein Programm so aussieht:
public class Ueb {

public static void main(String[] args) {
int var;
var=var+5;
System.out.println("Das Ergebnis"+var);

}

}

erhalte ich :
Exception in thread "main" java.lang.Error: Unresolved compilation problem:  The local variable var may not have been initialized

b) schleife von i=0 bis i=9 und erhöht sich jeweils um 1 also insgesamt 10 durchlüfe

c) y wird zunächst einmal ergebnis zugewiesen und ergebnis wird 55 zugewiesen und ausgegeben => y=55

d)find ich doch sehr schleierhaft:
int a = calculate()  // hier bekomm calculate einen integer zugwiesen

double calculate() // hier double calculate
{
double result = 5;

return result;
}

=> Inuitiv würd ich nein sagen aber so ganz begründen kann ich das nicht

e)double a; :Darstellung von Gleikommazahlen 64-Bit
  Double b;  :bin ich mir sehr unsicher kaum auch was im netz gefunden




danke für eure hilfe und beste grüße

matheja

        
Bezug
Java Programmierung, Syntax: Antwort
Status: (Antwort) fertig Status 
Datum: 22:20 Sa 13.02.2010
Autor: Event_Horizon

Hallo!


Ich kann kein Java, aber C++, das ist relativ ähnlich...




a) Korrekt, so weit ich weiß, müssen Variablen in Java initialisiert werden. (In C nicht)

b) Korrekt

c) Das ist nicht richtig. Die Variablen 'ergebnis' innerhalb und außerhalb der Funktion sind nicht identisch. Es ist y=55 und x=5.
Das wäre ja auch schrecklich, stell dir vor, du rufst in einer for(int i=0... Schleife eine Funktion auf, welche ihrerseits wieder eine Schleife über int i enthält.
Dein Ergebnis wäre in C korrekt, wenn man am Anfang ein einziges mal 'global int ergebnis' definiert hätte. (In C)

d)

>> int a = calculate()  // hier bekomm calculate einen integer zugwiesen

Böser fehler!

Die Zuweisung geschieht IMMER von rechts nach links. Dem Integer a wird also der Rückgabewert der Funktion calculate() zugewiesen.

calculate liefert aber double zurück. In C gibt das eine Warnung, daß hier ein double  implizit (also ohne es hinzuschreiben) in ein int umgerechnet wird, aber der Code läuft in der Regel. Es wird also a=5 sein. Meines Wissens ist Java auch gutmütig, wenn einem "größeren Typen" ein "kleinerer Typ" zugewiesen wird, hier ist es aber umgekehrt. Das int ist der "kleinere Typ", weil es keine Nachkommastellen aufnehmen kann, das double aber schon. Sauber und in Java vermutlich notwendig ist ein expliziter Typecast: int a = (int) calculate(). Damit signalisierst du, daß du weißt, was du da tust.

Man sollte dran denken, daß die Nachkommastellen meist abgeschnitten werden, und daß es Probleme gibt, z.B. ein int vom Wert 1000 einem char (geht nur bis 127 bzw 255) zuzuweisen.

e)
Das nennt sich Autoboxing, Double b ist dann ein Objekt, keine einfache Variable. Allerdings kann ich da auch nicht viel zu sagen.

Bezug
                
Bezug
Java Programmierung, Syntax: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:51 So 14.02.2010
Autor: matheja

Hey vielen Dank Event_Horizont :)

Ich nehm deine Ratschläge und arbeite das alles nochmal nach

beste grüße

matheja

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de