www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

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
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSoftwaretechnik und ProgrammierungJava Programmierung, Syntax
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
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.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]