mir ist gerade aufgefallen dass ich es nicht schaffe ein eigenes Programm zu starten. Wenn wir von der Uni Vorlagen bekommen und irgendwelche Sachen ergänzen sollen, dann habe ich keine Schwierigkeiten und kann direkt anfangen. Jetzt wollte ich einfach mal selber ein Programm starten und bin geschockt, dass ich das nicht hinbekomme. Also ich glaube ich verstehe einfach das Grundprinzip noch nicht so ganz wo man was hinschreiben kann. Ich habe ja meine main klasse mit public static void main(String[] args){} fange ich jetzt dort im body dieser methode an meinen code zu schreiben? Oder lasse ich meine main in ruhe und fange ne neue Klasse an?
Ich habe leider kein Tutorial gefunden wo das erklärt wird. Überall werden nur die Begriffe (Klasse,Objekt etc) erklärt. Kennt einer ein online tutorial welches dieses Grundverständnis eines Programmaufbaus vermittelt?
Die Ausführung eines Java-Programms fängt immer in der public static void main(String[] args) Methode an - wenn wir mal static Initializer Blöcke in dieser Klasse außen vor lassen.
Was du dann dort machst, ist ja völlig dir überlassen. Du kannst Instanzen von eigenen Klassen erzeugen und dort dann Methoden aufrufen. Oder du kannst dein komplettes Programm ohne Klassen in nur dieser main() Methode schreiben (rate ich von ab).
Als kleiner Hinweis vielleicht noch, weil du fragst "fange ich jetzt dort im body dieser methode an meinen code zu schreiben? Oder lasse ich meine main in ruhe und fange ne neue Klasse an?"
Am Anfang ist tatsächlich so, dass man in der main Methode anfängt, seine kleinen Programme zu starten, denn das ist am Anfang der Einstiegspunkt. Später bekommt man andere Hilfsmittel in die Hand (Unit Tests mit entsprechendem Tooling) und dann verliert die main Methode diese zentrale Rolle während des Entwicklungsprozesses.
Danke für die Antworten. Wenn ich jetzt aber eine Methode definieren will dann muss ich die immer in ner seperaten Klasse machen oder? Weil ich ja keine Methode in einer Methode definieren kann. Zumindest zeigt es mir einen Fehler an wenn ich versuche eine Methode in der main() zu definieren.
Und vielleicht kurz was anderes was mich verwirrt. Ich habe hier eine Übung "Schreiben Sie nun eine Methode void diceRoll(). Diese soll einen Würfelwurf simulieren und die gewürfelte Augenzahl auf der Konsole zuruckgeben. Dabei soll der Würfel fair sein, das heißt alle Augenzahlen sollen mit identischer Wahrscheinlichkeit auftreten.
Ich kann doch keine void Methode schreiben die was zurückgibt oder versteh ich da was falsch?
Die main Methode (Also dieses public static void main(String[] args) muss ja auch in einer Klasse sein. Und in dieser Klasse können auch weitere Methoden oder sonstiger Kram aus Klassen (z.B. Instanzvariablen) sein.