Ich weiß zwar nicht, ob ich hier solche Fragen stellen darf, aber ich mache es einfach Mal:
Was bringt mir ein Rückgabewert und wie benutze ich diesen (Bitte auch ein einfaches Beispiel)
Hab in der Insel schon reichlich darüber gelesen, hab's aber nicht 100% verstanden.
Danke im Voraus
publicclassReturnValue{staticfinalboolean JOB =false;staticfinaldouble MONEY_FOR_WORK =1000;publicstaticvoidmain(String[] args){double money =getMoney();String howToGetAJob =getSomeInfo();System.out.println("Money: "+ money +", How to get?: ".concat(howToGetAJob));double reward =500;boolean wantToWork =isNiceReward(reward);String nowHaveAJob = wantToWork ?"Yes, and nice reward to":"lets get Party";System.out.println(nowHaveAJob);double niceReward =5000;boolean REALY_COOL_REWARD =isNiceReward(niceReward);if(REALY_COOL_REWARD){System.out.println("Nice, but now no time to Party");}}privatestaticdoublegetMoney(){return JOB ? MONEY_FOR_WORK :0;}privatestaticStringgetSomeInfo(){returngetMoney()>0?"You have one":"Go to JobCenter";}privatestaticbooleanisNiceReward(double reward){return reward >= MONEY_FOR_WORK;}}/** Output */Money:0.0,Howto get?:GotoJobCenter
lets get PartyNice, but now no time toParty
Um den Code verständlicher zu machen, vorallem wenn man ihn öfters braucht, lagert man sowas in einer Funktion aus.
Code:
int summeVon3Werten(int a, int b, int c){
int result = a + b + c;
return result; // man könnte auch return a+b+c; schreiben
}
Nun muss du die Funktion erst mal aufrufen:
Code:
summeVon3Werten(3, 6, 13){
return 22;
}
Jetzt bekommst du von dieser Funktion den Wert 22 zurückgeliefert. Momentan wurde er aber nichts bringen und verfallen, deshalb speichern.
Code:
int rueckgabe = summeVon3Werten(3, 6, 13);
Nun ist das Ergebnis in der Variable rueckgabe und du kannst es weiterverwenden.
Macht bei der Funktion nicht den großen Unterschied, aber du kannst dir sicher vorstellen wenn die Funktionen komplexer werden ist das ein großer Vorteil. Vorallem der Eigenschaft von Funktionen das sie einen eigenen Raum bilden, quasi Variablen erst dann anlegen wenn die Funktion betreten wird und zerstört alles wenn die man returned bzw am Ende angekommen ist.
staticfinaldouble CONDITION =500;privatebooleanisSumme(double... value){double val =summe(value);//Nachträglich geändertreturn val > CONDITION;}privatedoublesumme(double... value){double val =0;for(double d : value){
val += d;}return val;}
staticfinaldouble CONDITION =500;privatebooleanisSumme(double... value){double val =summe(value);//Nachträglich geändertreturn val > CONDITION;}privatedoublesumme(double... value){double val =0;for(double d : value){
val += d;}return val;}
Klar ist es so besser. Aber so ist es einfacher zu verstehen fürn Anfang bzw. ich hätte vielleicht auch irgendwas anderes nehmen können.
Aber schon mal nice das zu sehen. Studiere Informatik und habe momentan Java und variable Parameterlisten hatten wir nicht. Werden wir in diesem Semester auch nicht haben wahrscheinlich. Also Danke fürs Beispiel.