Wie am besten Java anfangen zu leenen?

9 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Womit lernen?

Ich rate von Online-Tutorials und Videos ab. Stattdessen würde ich eher ein Buch mit Übungsaufgaben empfehlen.

Dies hat ein paar entscheidende Vorteile:

Tempo: Ein Tutorial richtet sich oft nicht nach deinem Tempo, bei einem Buch kannst du hingegen bequem zurückblättern oder auch Teile überspringen.

Vermittlung: Ein guter Programmierer ist nicht zwangsläufig ein guter Lehrer. Die Leute, die Bücher schreiben, besitzen in der Regel die Fähigkeit, anderen Leuten Wissen anschaulich zu vermitteln und Dinge gut zu erklären. Zudem handelt es sich um richtige Autoren, d.h. sie können die in der Sprache zur Verfügung stehende Mittel besonders gut dazu verwenden, um bestimmte Dinge klar zu stellen. Häufig sind sie auch sehr kreativ, sodass sie geniale Beispielprogramme schreiben können, die man sonst so nirgendwo im Internet findet.

Es mag sein, dass die YouTuber auch ganz gut programmieren können, und dies glaube ich auch, doch die wenigsten von ihnen können dir das, was sie wissen, auf einem solch verständlichen Wege vermitteln wie Buchautoren.

Struktur und Vollständigkeit: Man merkt es oft erst im Nachhinein, wenn man ein Tutorial durchgeschaut hat und dann in das Inhaltsverzeichnis eines Buches reinschaut. Dann stellt man nämlich häufig fest, dass doch so viele Begriffe, die dort vorkommen, für einen gänzlich unbekannt sind. 

Häufig konzentriert man sich in Tutorials nämlich auf bestimmte Aufgaben und lässt dabei die strukturierte Vorgehensweise nach Teilgebieten der Programmiersprache völlig außer Acht.

Bücher dagegen schaffen es, nicht nach Projekten, sondern nach Teilgebieten zu gliedern, diese aber dennoch verständlich und aufeinander ausbauend zu sortieren.

Sauberkeit: Nein, nicht Sauberkeit im Sinne von Hygiene, sondern gemeint ist hier die Sauberkeit des Programmierstils. Häufig begegnen mir viele Leute im Internet, welche Programmieren durch Videos "gelernt" haben. Diese Leute weisen oft einen "pfuschigen" Programmierstil auf. Bestimmte Dinge werden unleserlich, unüblich oder ineffizient implementiert. Häufig fehlt das tiefere Hintergrundwissen und dann fängt das Hüpfen von einem Tutorial zum nächsten an.

Übungsaufgaben: Die Übungsaufgaben der Bücher haben den entscheidenden Vorteil, dass man sie nicht einfach wie in Videos sturr nachprogrammiert und sich denkt: Ach, so wird das gemacht. Sondern stattdessen wird man in die Thematik eingewiesen, auch anhand anderer Beispiele, muss die Übungsaufgaben allerdings selbstständig bearbeiten.

__________

Daran sieht man, ob man den Stoff des Kapitels bereits verstanden hat oder sich das ganze nochmals ansehen muss, ggf. mit Unterstützung von Videos und Online-Tutorials, falls es selbst nach dem zweiten Lesen nicht deutlicher wird. Manchmal muss man sich auch durch das ganze Internet "durchwühlen", bis man ein bestimmtes Thema verstanden hat. Das ist ganz normal und von Mensch zu Mensch unterschiedlich.

Sobald man alles verstanden hat, wird man es schaffen, die Übungsaufgaben zu bearbeiten. Wenn die Programme korrekt funktionieren, kann man in den Lösungen nachschauen, was man am Programm noch verbessern könnte, und versuchen, dies nachzuvollziehen sowie sich für nächstes mal zu merken.

Aus den genannten Gründen würde ich definitiv in Richtung Buch tendieren. Man kann sie häufig auch in Bibliotheken ausleihen, sodass man nicht dafür zahlen braucht.

Videos und Online-Tutorials würde ich eher als Unterstützung verwenden, wenn etwas aus dem Buch unklar ist. Auch Foren wie Stackoverflow können recht hilfreich sein (nachdem man nachgesehen hat, ob diese Frage nicht anderswo schon ausreichend gut beantwortet wurde).

Der Anfang

Für den Einstieg eignet sich aus zahlreichen Gründen Java optimal. Dazu empfehle ich folgendes Buch:

https://www.amazon.de/Programmieren-lernen-mit-Java-WindowBuilder/dp/3836241307/ref=sr_1_1?ie=UTF8&qid=1506955339&sr=8-1&keywords=programmieren+lernen+mit+java

Warum denn noch Java separat lernen und nicht gleich mit der Android-Entwicklung beginnen?

Lass dir auf jeden Fall genügend Zeit und sammel jede Menge Erfahrung. Sicherlich ist in den Android-Büchern oftmals auch Java enthalten, jedoch ist das so kurz, dass du dann ein wackeliges Fundament hast. Wenn das Fundament nicht stabil ist, wird auch das Gebäude wackeln. Bitte lerne Java wirklich separat, denn die gesamte Logik deiner Apps basiert auf Java.

Swing, JavaFX und co. brauchst du nicht so stark lernen, weil das in der Android-Programmierung natürlich nicht erforderlich ist. Aber ansonsten muss alles sitzen.

Was tun, wenn ich nicht weiter weiß?

Zusätzlich empfehle ich dir zum Nachschlagen folgende Seiten:

Die offizielle Dokumentation mit zahlreichen Tutorials und Referenzen.

Das Programmier-Forum schlechthin.

Eignet sich immer ganz gut zum Recherchieren.

Wie geht es nun weiter?

Anschließend kannst du endlich zum richtigen Android-App-Development übergehen. Dazu empfehle ich dir dieses Buch:

https://www.amazon.de/Android-Praxisbuch-Entwickler-Android-Funktionen-Datenbanken/dp/3836242001/ref=sr_1_1?ie=UTF8&qid=1506955712&sr=8-1&keywords=android+7+rheinwerk

Zum Nachschlagen sind zusätzlich zu den obigen Tipps diese Seiten ganz gut:

Die offizielle Dokumentation.

Googles APIs

Googles Material Design. Damit sehen deine Apps definitiv gut aus.

Und dann?

Danach heißt es wieder, jede Menge Erfahrung sammeln.

Möchtest du deine Java-Kenntnisse ausbauen, empfehle ich dieses Buch:

https://www.amazon.de/Java-auch-eine-Insel-Java-Entwickler/dp/3836241196/ref=sr_1_1?ie=UTF8&qid=1506955922&sr=8-1&keywords=java+insel

Und im Anschluss vielleicht auch noch dieses:

https://www.amazon.de/Java-SE-Standard-Bibliothek-Entwickler-Computing/dp/3836228742/ref=sr_1_3?ie=UTF8&qid=1506955922&sr=8-3&keywords=java+insel

Weitere Tipps?

Die Bücher gibt es übrigens auch in vielen Bibliotheken, sodass du sie nicht unbedingt kaufen musst.

Als IDE empfiehlt sich Android Studio: https://developer.android.com/studio/index.html

Ich wünsche dir viel Spaß und Erfolg!

Willkommen bei uns Programmierern.

Lies die Antwort von tavkomann durch; er hat das Wesentliche schon erwähnt. Viele Übungen findest Du auch online hier: www.programmieraufgaben.ch oder im zugehörigen Buch: http://ofv.ch/?pagename=sdt&id=14505

Vor allem auch: Denke in Konzepten und nicht in Java-Syntax. Die wichtigsten Konzepte sind hier aufgelistet:

  • Variable und allenfalls Datentypen: Ganzzahl (z. B. 37), Dezimalbruch(z. B. -8.33), String (z. B. "hier klicken), boolean (true oder false),
  • Ausdruck (z. B. "kontostand*(zinsfuss / 100 + 1)"
  • Aufruf von bestehenden Subroutinen (z. B. "print", "scanf", "prompt", ... je nachdem, was Deine Sprache erlaubt. Wichtig: Einlesen von Strings und Ausgabe derer.
  • Zuweisung als spezielle Anweisung. Beispiel konto=konto*(zinsfuss/100 + 1)
  • Sequenzen: Die Reihenfolge der Anweisungen ist wesentlich!
  • Selektion: Bedingte Ausführung von Codesequenz (if), inkl. Boole'sche Ausdrücke (z. B. jahr < 2020)
  • Iteration: Wiederholte Ausführung einer Codesequenz (while)
  • Felder (Arrays) (inkl. Schleifen und Indexvariable)
  • Subroutinen selbst schreiben (explizites return und implizites return, Parameter, formale und aktuelle Parameter, call by value vs. call by reference)
  • Umsetzen von Algorithmen
  • Objekte (Datenstrukturen)
  • Klassen und Delegation
  • Vererbung
  • Polymorphismus
  • Entwurfsmuster
  • Refactoring

Ich habe damals mit den Openbooks vom Rheinwerkverlag angefangen. Dort findest du z.B. das Buch Java ist auch eine Insel welches ich nur für Anfänger empfehlen kann.

https://www.rheinwerk-verlag.de/openbook/

Ansonsten gibt es auf Webseiten wie Udemy, Edx und Udacity etc. eine Menge kostenloser Video-Kurse.

Flugmodus ausschalten in Android Studio programmieren?

Hey Leute,

ich möchte eine App in Android Studio programmieren, die in einem bestimmten Zeitraum den Flugmodus ausschaltet. Wie geht das ?

...zur Frage

Passt dieser Laptop zum programmieren mit Java für Android (Spiele) Apps und Webseiten?

Hallo ich möchte anfangen zu programmieren in der Sprache Java. Ich möchte Android (Spiele) Apps und Webseiten programmieren und jetzt wollte ich fragen ob dieser Laptop dafür geeignet ist oder nicht. Falls er nicht dafür geeignet sein sollte schlagt mir bitte einen anderen Laptop, der besser dafür geeignet wäre vor.

...zur Frage

Wie rufe ich in Android Studio eine andere Klasse auf, denn bei mir Funktioniert es nicht(Java, Android Studio)?

https://pastebin.com/GUJ8aqZA

...zur Frage

Java Spiele programmieren?

Hey Leute, Ich habe im letzten halben Jahr mich an App Programmierung gewagt. Dabei sind halt kleine apps für den alltäglichen Gebrauch mit Android Studio entstanden. Nun will ich mich an Spiele apps heran Wagen. Natürlich gerne an 3D, aber auch 2D. Das ganze möchte ich natürlich gerne mit Java weiter machen. Kenntnisse bestehen aber auch in C++ und C#. Ich mag aber Java :D

Meine Frage: Soll ich das ganze mit unity(free) anfangen oder gibt es GUTE KOSTENLOSE Alternativen? Und ist unity mit Java Kombinierbar oder muss ich da auf Javascript, python, usw. Umsteigen?

...zur Frage

Android Spiele programmieren Lieber in Eclipse oder in Android Studio?

Hey erstmal :)

Da ich richtig motiviert bin Android App Entwickler zu werden wollte ich fragen ist es besser wenn ich in eclipse oder in Android Studio entwickle? Oder habt ihr sogar bessere?

Und ja ich hab schon erfahrung in Programmieren ;)

Danke schon mal an jeden :)

...zur Frage

Android App mit Lazarus programmieren

Hey ihr,

Wisst ihr wie ich mit dem Free-Pascal Programm Lazarus Apps für Android oder iOS programmieren kann? Ich brauche ein Plugin oder einen Compiler, was weiß ich :D Ist das überhaupt möglich?

Bitte keine Grundsatz Diskussionen über Pascal/Java... Ich kann halt nur Pascal programmieren!

LG

...zur Frage

Was möchtest Du wissen?