Bei mir funktioniert zur Zeit intellij und ich dachte, ich mache das mit dem Lernen so, dass ich im Internet ein Programm oder nur ein Befehl finde, das dann kopiere und dann in der Konsole einfüge und dann laufen lasse. Kennt jemand eine bessere Methode, wie man Programmieren lernen kann?
Ich würde immer ein Tutorial oder so folgen. Da kann man dann Schritt für Schritt die Grundlagen lernen. Ich selbst bevorzuge Bücher, aber man kann das auch über diverse andere Quellen wie z.B. Videos lernen.
Programmieren lernen heißt, Theorie mit Hilfe von Praxis verstehen lernen.
Du brauchst etwas/jemanden, der Dich in einer sinnvollen Reihenfolge durch die Theorie führt, gleichzeitig musst Du diese praktisch umsetzen. Nur damit lässt sich m. E. wirklich verstehen und verinnerlichen. Was für Dich am besten geeignet ist, musst Du selbst wissen oder herausfinden. Manche lesen lieber, andere brauchen einen richtigen Kurs, wieder andere schauen sich Videos an. Das ist bei jedem anders.
*Irgendwelche* Codes kopieren -v.a. ohne Kenntnis der (internen) Zusammenhänge und deren Effektivnutzen- wird tendenziell eher schiefgehen. Beispiel: mit Java 17 wurde "Sealed Classes" i.V. mit "permits" erlaubt. (Naiv) Zitiert nach https://pmo-it.de/sealed-classes-java-jdk-17/ ergibt diese Kombination u.a. beim API-Testen Sinn.
Dann sollte man fragen. Hier das Forum wäre z.B. eine geeignete Stelle. Etwas zu überspringen kann gerade am Anfang fatal sein, weil da bestimmt noch andere Dinge drauf aufbauen.
@kneitzel hat Dir ja schon die Antwort gegeben. Ich möchte dazu nur anmerken, dass man sich dadurch nicht entmutigen lassen sollte. Es ist nicht ungewöhnlich, dass man sogar einen Schritt oder mehrere Schritte zurückgehen muss. Es kann auch sein, dass man eine Quelle gewählt hat, die für einen selbst nicht (oder nicht alleinig) geeignet ist, schließlich lernt jeder anders.
Also eine Mut zur Lücke bei Dingen, die ein Anfänger verstehen sollten, ist wenig angebracht. Aber erklärt evtl. einige Aussagen von Deiner Seite....
Und nur weil Dinge nicht gelöst werden kann, kann man die Thematik verstehen. Oder man kann erkennen, dass man keine Aussagen zu etwas treffen kann… Oder man kann einfach erkennen, dass es einfach egal ist, weil kein direkter Einfluss da ist.
Ich lerne seit circa 2 Monaten Java und davor hatte ich auch nicht wirklich die Ahnung vom programmieren. Ich kenne deine Situation also sehr gut. Ich habe mir erstmal ein Buch zum Thema Java lernen für Anfänger gekauft. Aber ich habe gemerkt, dass mir das Theoretische kaum was bringt.
Also habe ich nebenbei unterschiedlichste Videos auf Youtube geschaut. Was mir am meisten geholfen hatte, war es ein Text Adventure zu schreiben, und das mit einer klar strukturierten Anleitung auf Youtube. Da lernt man direkt was Variablen sind und was man damit machen kann. Und da eine Menge an if-Abfragen in solch einem Programm vorkommen, lernt man diese direkt zu beherrschen. Anfangs kann man nicht alles verstehen. Das kommt nach und nach. Lange Rede, kurzer Sinn: Lerne jeden Tag. Sobald du was neues gelernt hast, wie z.B. For-Schleifen. Schreibe direkt ein kleines, eigenes Programm dazu. Alles immer direkt anwenden.
Als IDE für Anfänger eignet sich ggf. BlueJ.
Vorteil: es können Funktionen per Hand aufgerufen werden, anders als bei IDEA, welches immer durch Quellcode verfolgen muss.
Für dich interessante Projekte sind auch wichtig ;-)
Was mir spontan einfällt:
Benutzerverwaltung
Admin oder Benutzer
Passwörter
Funktionen
Ausgabe
Add
Delete
Edit
Erweiterung
Eingabe-Evaluierung
Datenbankanbindung (SQLite / H2)
Passwort-Hashing (BCrypt / Salted SHA2/SHA3)
Ausgabe als CSV / XML / PDF
Ausgabe als QR-Code
Oberfläche mit Swing (alt, häßlich, einfach zu erstellen Stichwort: "JFrame")
Shop-Verwaltung
Bücher, Autos, ...
Funktionen
Ausgabe
Add
Delete
Edit
Suche
Filter (gibt mir alle Autos mit Farbe rot) z.B. via Java Streams auf List<...> oder via DB
Erweiterung
Eingabe-Evaluierung
Datenbankanbindung (SQLite / H2)
Ausgabe als CSV / XML / PDF
Ausgabe als QR-Code
Oberfläche mit Swing (alt, häßlich, einfach zu erstellen Stichwort: "JFrame")
Webserver und Client [HTTP-Wissen notwendig] (z.B. Javalin und OkHttpClient)
Client - Server - Messaging [vielleicht zu schwer]
Übers Netzwerk Verbindung aufbauen und via ObjectOutputStream und ObjectInputStream eigene Message austauschen.
Sehr schnell schwierig, bei bidirekionaler Verbindung, ggf. Multi-Threaded
Für den Anfang Echo-Server
Client sendet an Server
Server empfängt Nachricht, erstellt Anwort und sendet diese
Client empfängt Nachricht, gibt sie aus und endet.
Warnung: Es gibt Konstellationen, dass IDEA den Server laufen lässt, der Client aber nicht funktioniert, obwohl er gestartet ist, bis der Server gestoppt wird!