zweite Frage: return, wichtig

Status
Nicht offen für weitere Antworten.

UrbanNinja

Mitglied
Hi!
Ich hab 'ne ganz simple Frage zu Java:

Was genau kann in den runden Klammern hinter der Methodendeklaration stehen (es geht um den Wert int, also eine Variable).

Bsp.:
Code:
public void test(int select)
{   ...   }

Welche Funktion würde die Variable "select" hier nun haben?
Würde die Variable nur in der Methode vorhanden sein?

Kann ich danach in der Methode einfach "select=1;" schreiben?



Wäre sehr, sehr wichtig, hab morgen 'ne Informatikarbeit, wir schreiben ein ganz simples, primitives Kommandozeilenprogramm.
Danke schonmal!


liebe grüße
 
Die Variable existiert nur in der Methode und du kannst sie beliebig umdeklarieren, was du ja einfach austesten kannst. Allgemein stehen dort die Parameter der Methode - die Parameter benötigt die Methode zum Arbeiten (Ausnahmen gibt es hierzu natürlich auch ein paar). Du kannst sie zum Beispiel so benutzen:

Code:
public void test(int select){
if (select % 2 == 0)
System.out.println("Select ist gerade");
else System.out.println("Select ist ungerade");
}
 
Das select ist der Übergabewert.

Dh. wenn du irgendwo anders einen Aufruf mit test(5) machst steht in select 5 drinnen.

Machen kannst du dann in der Methode alles damit was du mit jeder anderen Integer Variable auch machen kannst.
 
Alles klar, vielen Dank, dann hätte ich noch eine Frage:


was genau bewirkt
Code:
return variable1;
?

Den Wert setzt man ja nicht auf 0 zurück, wird er dann "zurückgeliefert"?
Was genau passiert dann mit der Variablen?
 
In einer Methode
Code:
public int beispielMethode(){
   int blabla = 0;
   //tu irgendwas
   return blabla;
}
wird der Wert blabla zurückgegeben. D.h. die Methode endet mit return (Ausnahme irgendwelche Exceptions).

Der Aufruf der Methode könnte so lauten
Code:
int albalb = beispielMethode();
Es wird also ein Integer zurückgegeben. albalb hätte somit den Wert von blabla.

Solang die Variable erst in der Methode selbst deklariert wurde, kann man natürlich nicht mehr auf sie zugreifen, die Methode ist ja beendet und der Code nach dem Aufruf der Methode.


Edit: http://www.galileocomputing.de/openbook/javainsel7/
 
Morgyr hat gesagt.:
In einer Methode
Code:
public int beispielMethode(){
   int blabla = 0;
   //tu irgendwas
   return blabla;
}
wird der Wert blabla zurückgegeben. D.h. die Methode endet mit return (Ausnahme irgendwelche Exceptions).

Der Aufruf der Methode könnte so lauten
Code:
int albalb = beispielMethode();
Es wird also ein Integer zurückgegeben. albalb hätte somit den Wert von blabla.

Solang die Variable erst in der Methode selbst deklariert wurde, kann man natürlich nicht mehr auf sie zugreifen, die Methode ist ja beendet und der Code nach dem Aufruf der Methode.


Edit: http://www.galileocomputing.de/openbook/javainsel7/
Ich weiß jetzt nicht so wirklich, was mit "zurückliefern" gemeint ist.

Ist die Variable denn nicht auch so nur in der Methode gültig?
Oder heißt das lediglich, dass die Variable ab dem "return variable" nicht mehr in der Methode benutzbar ist sofern sie nur dort deklariert wurde?
 
Du hast eine Methode

Code:
public int squareOf(int i){
return i*i;
}

Das int nach public beschreibt die Klasse bzw. den Datentyp, der von der Methode zurückgegeben wird; wenn dort void steht, gibt die Methode nichts zurück.

Die obige Methode erwartet ein Integer und die Zeile mit return sagt aus, welches Ergebnis die Methode ergibt.

Du kannst zum Beispiel folgendes machen:
Code:
int var1 = 3;
int var2 = squareOf(var1);
var2 ist jetzt 9, weil squareOf in seinem return das Quadrat des übergebenen Integers stehen hat.

Und sobald du ein return hast, ist die Methode zu Ende; nach return darf kein Code der Methode mehr stehen.
 
Danke, dass du hier gepostet hast. 🙂

Nur: wir hatten var etc noch gar nicht, das sind ja keine Variablen, wenn ich das richtig sehe.

Wir hatten return bzw. die Wertrückgabefunktion auch noch nicht mit kleinen Berechnungen durchgenommen, sondern lediglich mit einer Variablen, also beispielsweise

return variable

Wir hatten folgendes kleines Projekt gestartet, vielleicht kann mir ja eben nochmal wer erklären, welche Funktion die Wertrückgabe da hat:
http://nopaste.voric.com/paste.php?f=uwmotw

Wär super, ich bin sonst morgen geliefert. 🙁
 
Jede Methode muss einen Wert zurückliefern, bzw. returnieren, es sei denn sie ist vom Typ void.
var ist in dem Code von LordLuzifer eine Variable. Wird ja mit int deklariert.
Es gibt mehrere Schreib-Möglichkeiten den Wert zurückzugeben:

Code:
int variable = 2;
return variable;
Code:
return 2;
Code:
return (1+1);


Ich versteh deinen Code nicht. Du hast zwar einige Methoden, aber wenn ich mich jetzt nicht total irre, wird keine einzige aufgerufen, geschweige denn, dass es überhaupt eine main-Methode gibt.


"Wir hatten folgendes kleines Projekt gestartet, vielleicht kann mir ja eben nochmal wer erklären, welche Funktion die Wertrückgabe da hat: "

Wo? Das sind mehrere Methode, dort wo int vorsteht, wird ein int returniert, dort wo void vorsteht, wird nichts returniert.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben