class rozne
{
public static void main(String[] args)
{
//abc(2)+abc(3);-- blad
System.out.println(cba(2)+cba(3));
}
public static void abc(int x)
{
System.out.println(x);
}
public static int cba(int x)
{
x++;
return x;
}
}
chodzilo mi ocos takiego , w voidzie nie da rady dodawac , a jak return jest mozna , oto chodzi w tym? po to ten return? ze mozna operacje wykonywac wewnatrz maina uzywajac metod z returnem ?
Korzystaj z konwencji programowania w Javie, czyli:
- nazwa klasy z wielkiej litery;
- nazwa metody i zmiennych z małej litery, i dalej "camelCase" np.
public class MyFancyClass{
//zmienne
int myFancyVariable;
//metoda
public void myFancyMethod(int myFancyVariable){
myFancyVariable++;
System.out.println(myFancyVariable);
}
}
- w "psvm" (public static void main) nie powinno się umieszczać logiki programu, tylko "wywołać" klasę główną (w zasadzie stworzyć obiekt klasy), która tą logikę posiada:
public class Main {
public static void main(String[] argv){
MyFancyClass mfc = new MyFancyClass();
mfc.myFancyMethod(2);
}
}
- nazwy metod powinny być po angielsku i nazwa powinna mieć znaczenie, czyli:
public void printStringToScreen(String myString) {
System.out.println(myString);
}
Powyższy kod jest bezmyślny, ale chodzi o to, żeby pokazać jak ma nie wyglądać:
public void abcd(String olaboga){
System
.out
.println(olaboga);
}
Jedno i drugie spełnia tą samą funkcję, ale pierwsze jest bardziej czytelne dla innych :)
W voidzie da radę dodawać, ale tego nie zrobiłeś. Wywołałeś metodę println() klasy System. Jakbyś napisał
System.out.println(x + 1);
to byś dodał ;)
Po prostu: w voidzie wywołałeś klasę "wbudowaną" w Javie, której zadaniem jest wypisanie zadanej w parametrze wartości do konsoli.
Ja przyjmuję taką zasadę jeśli chodzi o void i return. Jeśli metoda ma coś zwracać np. typ prosty, obiekt - to przed nazwą metody piszę to co chcę zwrócić, a w ciele metody (czyli tego co znajduje się między nawiasami { }) piszę return z "rzeczą", którą chcę zwrócić.
Jeśli metoda ma nic nie zwracać, to przed nazwą jest void, a w ciele nie ma return.
To Ci powinno wystarczyć na początek.
Zresztą wszystkie IDE pilnują tego, gdy jak masz metodę, która ma coś zwracać, faktycznie coś zwraca. Na upartego można coś takiego napisać, ale kompilator wywali błąd.
Początki są trudne. :)
Powodzenia.