# Buch für Anfänger gesucht - Java / JavaFX



## JavaDaHood (26. Okt 2019)

Weihnachten naht und da ich mich immer noch als Anfänger mit Java beschäftige, überlege ich mir ein entsprechendes Buch zu Java und JavaFX zu kaufen.
Da es aber so viele Bücher zu dem Thema gibt, suche ich eines, welches (2019 immer noch) aktuell ist.
Ob tatsächlich nur eines, welches Java und JavaFX behandelt oder jeweils eines, ist auch erstmal egal.
Hauptsache ausführlich und gut beschrieben, wenn möglich mit nachvollziehbaren Beispielen.
Der Preis ist erstmal Nebensache!

Bin auf eure Erfahrungen und Empfehlungen gespannt und bedanke mich im voraus!


----------



## M.L. (26. Okt 2019)

Ein kostenfreier Einblick: Java SE 8 - JavaFX
Aber etwas Vorsicht was das verwendete JDK (mangels JavaFX-Integration) und IDE angeht: Thread - Eclipse und JavaFX


----------



## JavaDaHood (26. Okt 2019)

Das Openbook vom Rheinwerk-Verlag ist mir bekannt.
Ebenso einige Tutorial-Seiten die einem Java vermitteln.
Suche aber eben ein Buch was ich offline (ohne, dass ein Computer an sein muss), lesen kann.

Was haltet ihr vom Buch "Java lernen mit Bluej"?


----------



## temi (26. Okt 2019)

JavaDaHood hat gesagt.:


> Das Openbook vom Rheinwerk-Verlag ist mir bekannt.
> Ebenso einige Tutorial-Seiten die einem Java vermitteln.
> Suche aber eben ein Buch was ich offline (ohne, dass ein Computer an sein muss), lesen kann.



Das Buch gibt es ja auch gedruckt. 

Wie ist denn dein Kenntnisstand?

Ich habe nur das allseits bekannte "Java ist auch eine Insel", welches ziemlich umfangreich ist, aber leider keine Übungen beinhaltet. Außerdem "Der Weg zum Java-Profi", ein sehr gutes Buch, aber nicht unbedingt für Anfänger.

"Java von Kopf bis Fuß" könnte was sein, ich kenne es leider nicht, aber vielleicht kann jemand hier noch was dazu sagen. Allerdings habe ich "Entwurfsmuster von Kopf bis Fuß" (auch in Java) und das finde ich wiederum sehr gut gelungen.


----------



## JavaDaHood (26. Okt 2019)

Du hast schon recht, dass es das Buch auch gedruckt gibt, aber dann hätte ich lieber doch ein Buch, welches man nicht auch online lesen kann.

Bin halt noch Anfänger.
Ich lese schon eine Zeit lang, fange dann aber das Lesen wieder von vorne an, da eben nicht alles sitzt.
Somit wiederhole ich schon gelesenes.
Einfaches fällt mir halt noch schwer zu merken (was sind Methoden, was Klassen...)


----------



## temi (26. Okt 2019)

JavaDaHood hat gesagt.:


> Du hast schon recht, dass es das Buch auch gedruckt gibt, aber dann hätte ich lieber doch ein Buch, welches man nicht auch online lesen kann.



Also, dass man ein Buch lieber in Papierform liest, kann ich sehr nachvollziehen. Das man es aber dann nicht online lesen können möchte ist etwas seltsam. Schau dir die "Insel" in der Online-Version an und, wenn es dir zusagt, kauf es in gedruckter Form. Das ist doch feine Sache, wenn man nicht die Katze im Sack kaufen muss.


----------



## JavaDaHood (26. Okt 2019)

Da ich auch öfters am Computer sitze, möchte ich einfach keine Printausgabe kaufen, wenn ich ein Buch, wie besagtes Openbook, auch online kostenlos lesen kann.

Die Katze im Sack kaufe ich ja nicht direkt, wenn ich wie hier, nach Erfahrungen für ein Buch suche.


----------



## temi (26. Okt 2019)

JavaDaHood hat gesagt.:


> Da ich auch öfters am Computer sitze, möchte ich einfach keine Printausgabe kaufen, wenn ich ein Buch, wie besagtes Openbook, auch online kostenlos lesen kann.
> 
> Die Katze im Sack kaufe ich ja nicht direkt, wenn ich wie hier, nach Erfahrungen für ein Buch suche.



Das wird jetzt aber kompliziert, wenn ich dir "Java ist auch eine Insel" empfehle


----------



## marlem (27. Okt 2019)

Eine Alternative zum Buch:








						Online Courses - Anytime, Anywhere | Udemy
					

Udemy is the world's largest destination for online courses. Discover an online course on Udemy.com and start learning a new skill today.




					www.udemy.com
				




Der JavaFX-Teil ist bißchen holprig, aber ich habe mit Hilfe von Udemy Javascript gelernt und der Kurs war genial.


----------



## JavaDaHood (30. Okt 2019)

Danke, aber wenn ich schon am Computer bin, dann kann ich auch online was lesen oder auf YouTube Videos anschauen. Es war schon an etwas gedacht was ich offline, auch ohne Computer, lesen kann.


----------



## L0oNY (4. Nov 2019)

Bin ich eigentlich der einzige, der sich gegen "Java ist auch eine Insel" als Lehrbuch ausspricht. Das Buch ist ein tolles Nachschlagewerk, aber als Lehrbuch absolut ungeeignet, das es einfach nur staubtrocken ist und alle Themen stupide runterrattert.
Wenn es dir schwer fällt, zu merken, was Methoden sind, dann ist wahrschnlich Bücher der Reihe von Kopf bis Fuß genau das richtige für dich. Da wird alles Schritt für Schritt gut und anschaulich erklärt. Diese Bücher eignen sich aber wiederrum absolut nicht als Nachschlagewerk, da man sich dort zwischen den Bildern dumm und dämlich blättert.
PS: https://www.oreilly.de/buecher/120253/9783897214484-java-von-kopf-bis-fuß.html


----------



## kneitzel (4. Nov 2019)

Also Java Einstiegsbücher kenne ich kaum welche. Ich habe mal "Schrödinger programmiert C++" in die Hand bekommen (Und da gibt es auch Auszüge online). Wenn einem diese lockere Art und Weise liegt, dann wäre das vielleicht ein Buch nach Deinem Geschmack (Natürlich die Java Variante: Schrödinger programmiert Java".
https://www.rheinwerk-verlag.de/schroedinger-programmiert/#Produktuebersicht

Das ist halt von der Art und Weise wie auch schon das erwähnt "Entwurfsmuster von Kopf bis Fuss" nur eben von der Art her noch etwas extremer.


----------



## temi (4. Nov 2019)

L0oNY hat gesagt.:


> Bin ich eigentlich der einzige, der sich gegen "Java ist auch eine Insel" als Lehrbuch ausspricht.



Ich bin auch deiner Meinung, aus den von dir genannten Gründen. (Ich hatte es auch nicht empfohlen, sondern wollte nur auf die Problematik mit online/offline hinweisen).

Allerdings ist es durchaus geeignet, wenn man schon andere Programmiersprachen gelernt hat, da es eben den Charakter eines Nachschlagewerks hat und sich nicht damit aufhält alles für Programmieranfänger aufzubereiten.


----------



## Ullenboom (4. Nov 2019)

temi hat gesagt.:


> Das Buch gibt es ja auch gedruckt.
> 
> Wie ist denn dein Kenntnisstand?
> 
> ...



Natürlich hat das Buch Übungen, das steht doch im Vorwort drin, dass die Aufgaben online sind  : https://tutego.de/javabuch/aufgaben/index.html


----------



## temi (4. Nov 2019)

Ullenboom hat gesagt.:


> Natürlich hat das Buch Übungen, das steht doch im Vorwort drin, dass die Aufgaben online sind  :



Wer liest denn das Vorwort?  

Sorry, das habe ich tatsächlich überlesen, allerdings habe ich auch nicht nach Übungen gesucht und bin auch weiterhin nicht der Meinung, dass es für Programmiereinsteiger das richtige Buch ist. Das steht aber sogar auch im Vorwort.


----------



## Ullenboom (4. Nov 2019)

Die Insel ist nix für Programmieranfänger. Man muss schon sehr ambitioniert sein, wenn man es damit versucht.


----------



## JavaDaHood (6. Nov 2019)

@L0oNY 
Das ist ja ein Buch aus dem Jahr 2006 ... sicherlich überholt!


JavaDaHood hat gesagt.:


> ...suche ich eines, welches (2019 immer noch) aktuell ist.


Hast du sicherlich überlesen?!

@JustNobody
"Schrödinger" ist mir schon mal ein Begriff, da hatte ich schon mal zu einem anderen Thema ein Buch gelesen.
Allerdings war ich schon in dem anderen Thema "drin" (eingearbeitet).

@all
Z.Zt. schaue ich mir versch. Tutorials (Videos aber auch geschriebenes) online an.
Lese aber auch hin und wieder im besagten Openbook.


----------



## temi (6. Nov 2019)

JavaDaHood hat gesagt.:


> Das ist ja ein Buch aus dem Jahr 2006 ... sicherlich überholt!



Das kommt auf deinem Kenntnisstand an. Es ist ein Buch für Einsteiger im Programmieren. Alles was drin steht, ist auch heute noch so und gehört zu den Basics, die man können muss. Natürlich gibt es inzwischen einige neue Features in Java, aber die sind für Anfänger (erst mal) uninteressant.

Ich habe weiter oben auch "Entwurfsmuster von Kopf bis Fuß" empfohlen (sobald man die Grundlagen drauf hat, halte ich es für eine sehr gute Entscheidung, sich damit zu beschäftigen). Das Buch ist auch schon etwas älter, aber dennoch uneingeschränkt empfehlenswert und gültig.


----------



## vorn6658 (6. Nov 2019)

Es ist doch eine Frechheit, die Insel hier als veraltet und nicht umfangreich genug darstellen zu wollen... Natürlich ist sie nur bedingt anfängerfreundlich, und man sollte vorher wissen, was Programmierung allgemein ist... m2c...


----------



## temi (6. Nov 2019)

vorn6658 hat gesagt.:


> Es ist doch eine Frechheit, die Insel hier als veraltet und nicht umfangreich genug darstellen zu wollen... Natürlich ist sie nur bedingt anfängerfreundlich, und man sollte vorher wissen, was Programmierung allgemein ist... m2c...



Ähm, ich glaube es geht um  "Java von Kopf bis Fuß", zumindest war es das, was @L0oNY empfohlen hat.


----------



## vorn6658 (6. Nov 2019)

Ups sorry, ich hab wohl das falsche Pferd geritten...


----------



## White_Fox (6. Nov 2019)

JavaDaHood hat gesagt.:


> @L0oNY
> Das ist ja ein Buch aus dem Jahr 2006 ... sicherlich überholt!


Für Anfänger dennoch empfehlenswert, finde ich. 2006 hin oder her. Da genau diese Frage hier so gefühlt alle zwei Wochen wiederkehrt:






						Java Anfänger Kurs/Buch
					

Hallo, da ich in einigen Monaten mit dem Wirtschaftsinformatik studium beginnen werde, habe ich es mir als Ziel gesetzt, vorher noch Java zu erlernen. Ich habe zur zeit genügend Zeit um mich damit ausführlich zu beschäftigen. Ich suche nun nach einem sehr guten Kurs oder nach einem guten...



					www.java-forum.org


----------



## Werniman (6. Nov 2019)

Ich mache zur Zeit eine berufliche Weiterbildung (6 Monate lang für Java 8 SE inkl OCP-Prüfung) und stehe vor dem selben Problem wie der Threadersteller. In diesem Rahmen haben wir Teilnehmer natürlich die ebooks ausgetauscht, die wir besitzen, so dass ich diverse Bücher antesten konnte.  Gehts nach unserem Dozenten, reicht sowieso die Java-Api zum Lernen, aber für einen Anfänger ist die Java-Api das Worst case scenario zum Lernen.  Für einen Anfänger ist die Java-Api das, was der Duden für einen angehenden Schriftsteller ist: Man lernt vielleicht die Rechtschreibung einzelner Wörter (=Syntax der Befehle), aber wie man sie im Zusammenspiel einsetzt, lernt man davon nicht.
Von der "Java-Insel" bin ich persönlich nicht wirklich begeistert. Die ganz einfachen Themen sind noch halbwegs begreifbar beschrieben, aber spätestens wenns dann ein bißchen in die Tiefe geht (wie z.B. Exception Handling), dann wechselt der Schreibstil dann aus Sicht eines Anfängers doch merklich zu einem "Technik-Bla-Bla".  Sprich: ein Begriff wird erklärt und dazu werden 3 neue (ebenfalls unbekannte) Begriffe  benutzt. Das ist in gewisser Weise ein Schneeballeffekt.

Ich persönlich mag es, wenn in Büchern mit praktischen Beispielen geeignet wird, unter denen ich mir etwas vorstellen kann. Insofern bin ich inzwischen bei 3 Büchern hängengeblieben. Das bereits von meinem Vorredner erwähnte "Java von Kopf bis Fuß" (von Kathy Sierra & Bert Bates),  "Java Alles-in-einem-Band für Dummies" von Arnold V. Willemer (wer hat da gerade gelacht ?) und "Schrödinger lernt Java". Wobei das Schrödinger-Buch schon irgendwie gewöhnungsbedürftig ist...durch die vielen verschiedenen Fonts strengt das Lesen irgendwie sehr an.


----------



## tommysenf (6. Nov 2019)

Da du ja eh vor hast den OCP zu machen kann ich dir nur wärmsten die OCP Exam Guides von Kathy Sierra und Bert Bates empfehlen. Sie haben einen eher klassischen Ansatz gegenüber den Head First Büchern und trotzdem machte es mir im Gegensatz zu den meisten Lehrbüchern Spaß sie zu lesen. Es sind vielleicht nicht die perfekten Einsteigerbücher, dafür haben sie ja Head First, aber eine sinnvolle Vertiefung des Grundlagenstoffes. Nebenbei gehören die Autoren auch dem Team an welches die Zertifizierungsprüfungen entwickelt...


----------



## JavaDaHood (17. Nov 2019)

Habe mir jetzt das Buch _Schrödinger programmiert Java 2.te Ausgabe_ zugelegt.


----------



## Werniman (23. Nov 2019)

Ich hoffe, da sind die Fehler der ersten Ausgabe korrigiert worden. Da waren nämlich inbesondere in den Codebeispielen mehrere kleine Fehler drin, bei denen man sich fragte, ob der Autor den Code nicht selbst ausprobiert hat. 

Was ich mal als generellen Kritikpunkt an sehr vielen Büchern/Videotutorials anmerken muss, ist die Unfähigkeit vieler Autoren, sich in ihren Beispielen sinnvolle Variablennamen einfallen zu lassen. Insbesondere finde ich es verwirrend, wenn dann Variablennamen genutzt werden, die zu Verwechslungen. Wenn ich beispielsweise ein Objekt "Mensch" anlegen will, dann definiere ich dieses Objekt so, dass seine verschiedenen Parameter (wie Name, Alter,Gewicht usw) auch in Variablen gespeichert werden, deren Name auf ihren Inhalt hindeuten. Ich würde also die die Variable, die mal das Alter beinhalten soll, nicht "name" nennen. Genau DAS scheinen viele Autoren aber mit Hochgenuss zu praktizieren. Da wundert man sich dann als Anfänger, warum statt dem Alter, das man abrufen will, plötzlich "Peter Müller" zu lesen ist usw.


----------



## Werniman (23. Nov 2019)

Ich hoffe, da sind die Fehler der ersten Ausgabe korrigiert worden. Da waren nämlich inbesondere in den Codebeispielen mehrere kleine Fehler drin, bei denen man sich fragte, ob der Autor den Code nicht selbst ausprobiert hat.

Was ich mal als generellen Kritikpunkt an sehr vielen Büchern/Videotutorials anmerken muss, ist die Unfähigkeit vieler Autoren, sich in ihren Beispielen sinnvolle Variablennamen einfallen zu lassen. Insbesondere finde ich es verwirrend, wenn dann Variablennamen genutzt werden, die zu Verwechslungen mit anderen Programmbestandteilen führen. Wenn ich beispielsweise ein Objekt "Mensch" anlegen will, dann definiere ich dieses Objekt so, dass seine verschiedenen Parameter (wie Name, Alter,Gewicht usw) auch in Variablen gespeichert werden, deren Name auf ihren Inhalt hindeuten. Ich würde also die die Variable, die mal das Alter beinhalten soll, nicht "name" nennen. Genau DAS scheinen viele Autoren aber mit Hochgenuss zu praktizieren. Da wundert man sich dann als Anfänger, warum statt dem Alter, das man abrufen will, plötzlich "Peter Müller" zu lesen ist usw.


----------



## White_Fox (23. Nov 2019)

Werniman hat gesagt.:


> Was ich mal als generellen Kritikpunkt an sehr vielen Büchern/Videotutorials anmerken muss, ist die Unfähigkeit vieler Autoren, sich in ihren Beispielen sinnvolle Variablennamen einfallen zu lassen. Insbesondere finde ich es verwirrend, wenn dann Variablennamen genutzt werden, die zu Verwechslungen. Wenn ich beispielsweise ein Objekt "Mensch" anlegen will, dann definiere ich dieses Objekt so, dass seine verschiedenen Parameter (wie Name, Alter,Gewicht usw) auch in Variablen gespeichert werden, deren Name auf ihren Inhalt hindeuten. Ich würde also die die Variable, die mal das Alter beinhalten soll, nicht "name" nennen.


Sowas hab ich noch nie gesehen, egal wie schlecht das Tutorial war, und ich hab doch schon das ein oder andere Tutorial durchgearbeitet. Du hast nicht zufällig ein Beispiel dafür?


----------



## Werniman (23. Nov 2019)

Ein Beispiel: Gerade bin ich dabei, ein Videotutorial aus der Reihe "Java leicht gemacht - Der umfassende Java Einsteigerkurs A-Z" durchzuarbeiten und bin beim Teil "Generics". Der Kommentator hat gerade die gängigen Bezeichnungen erklärt: T=Type, V=Value, K=Key, E=Element usw und fährt sofort mit einem Beispiel fort:


```
public class Generics<T>{
    //Eigenschaften/Attribute
    private T value;
    
    //Konstruktoren
    public Generics(T value){
    this.setValue(value);
    }
....
}
```

Gerade erklärt er, dass es da verschiedene Bezeichnungen gibt und T für ein beliebiges Objekt steht,es aber auch noch V (für value), K  (für key) und E (für elements) gibt. Aber warum bitte gibt man dann bitte einer Variablen für T ausgerechnet den namen value ?  Sowas finde ich eher verwirrend. Man käme ja auch nicht auf die Idee, einer Int-Variable den Namen "Text" zu geben.
Ähnliche Beispiele habe ich (gerade bei den vielen Youtubevideos) schon öfters gesehen. Da bekommen dann beispielweise int-Variablen auch einen fast identischen Namen (z.B. int1,int2 usw), was dann spätestens beim Anlegen von Methoden,die irgendwas erzeugen sollen, für komplette Verwirrung sorgt, wenn man deren Namen aus den einzelnen Bestandteilen zusammenschustert. Neulich hatte ich da beispielsweise einen Fall, wo jemand eine Methode, die irgendwas errechnete, allen Ernstes "IntInt2Int" nannte.  Wer bitte soll denn da noch mitkommen ?


----------



## temi (23. Nov 2019)

Werniman hat gesagt.:


> Ein Beispiel: Gerade bin ich dabei, ein Videotutorial aus der Reihe "Java leicht gemacht - Der umfassende Java Einsteigerkurs A-Z" durchzuarbeiten und bin beim Teil "Generics". Der Kommentator hat gerade die gängigen Bezeichnungen erklärt: T=Type, V=Value, K=Key, E=Element usw und fährt sofort mit einem Beispiel fort:
> 
> Gerade erklärt er, dass es da verschiedene Bezeichnungen gibt und T für ein beliebiges Objekt steht,es aber auch noch V (für value), K  (für key) und E (für elements) gibt. Aber warum bitte gibt man dann bitte einer Variablen für T ausgerechnet den namen value ?  Sowas finde ich eher verwirrend. Man käme ja auch nicht auf die Idee, einer Int-Variable den Namen "Text" zu geben.
> Ähnliche Beispiele habe ich (gerade bei den vielen Youtubevideos) schon öfters gesehen. Da bekommen dann beispielweise int-Variablen auch einen fast identischen Namen (z.B. int1,int2 usw), was dann spätestens beim Anlegen von Methoden,die irgendwas erzeugen sollen, für komplette Verwirrung sorgt, wenn man deren Namen aus den einzelnen Bestandteilen zusammenschustert. Neulich hatte ich da beispielsweise einen Fall, wo jemand eine Methode, die irgendwas errechnete, allen Ernstes "IntInt2Int" nannte.  Wer bitte soll denn da noch mitkommen ?



Finde ich eigentlich ganz OK so. Da der Typ von T nicht bekannt ist und die Beispielklasse auch keine explizite Funktion hat ist "value" ein gängiger Bezeichner.

Edit: "IntInt2Int" ist allerdings tatsächlich etwas seltsam.


----------



## Meniskusschaden (23. Nov 2019)

Das V benutzt man soweit ich weiß nur in Verbindung mit K, um deutlich zu machen, dass es um Schlüssel/Wert-Paare geht. Das ist in diesem Beispiel nicht so, deshalb finde ich T schon sinnvoll und üblich.


----------



## mihe7 (23. Nov 2019)

Werniman hat gesagt.:


> Gerade erklärt er, dass es da verschiedene Bezeichnungen gibt und T für ein beliebiges Objekt steht,es aber auch noch V (für value), K (für key) und E (für elements) gibt.


Das sind die offiziellen Benennungskonventionen für Typparameter (https://docs.oracle.com/javase/tutorial/java/generics/types.html)



Werniman hat gesagt.:


> Aber warum bitte gibt man dann bitte einer Variablen für T ausgerechnet den namen value ?


OK, da hätte er besser ein anderes Beispiel gewählt.


----------



## JavaDaHood (24. Nov 2019)

Werniman hat gesagt.:


> Ich hoffe, da sind die Fehler der ersten Ausgabe korrigiert worden. Da waren nämlich inbesondere in den Codebeispielen mehrere kleine Fehler drin, bei denen man sich fragte, ob der Autor den Code nicht selbst ausprobiert hat.


Wenn du mir die Stellen im Buch sagst, dann schaue ich gerne nach.



Werniman hat gesagt.:


> Was ich mal als generellen Kritikpunkt an sehr vielen Büchern/Videotutorials anmerken muss, ist die Unfähigkeit vieler Autoren, sich in ihren Beispielen sinnvolle Variablennamen einfallen zu lassen. Insbesondere finde ich es verwirrend, wenn dann Variablennamen genutzt werden, die zu Verwechslungen *führen*. Wenn ich beispielsweise ein Objekt "Mensch" anlegen will, dann definiere ich dieses Objekt so, dass seine verschiedenen Parameter (wie Name, Alter,Gewicht usw) auch in Variablen gespeichert werden, deren Name auf ihren Inhalt hindeuten. Ich würde also die die Variable, die mal das Alter beinhalten soll, nicht "name" nennen. Genau DAS scheinen viele Autoren aber mit Hochgenuss zu praktizieren. Da wundert man sich dann als Anfänger, warum statt dem Alter, das man abrufen will, plötzlich "Peter Müller" zu lesen ist usw.


Blau ergänzt, damit der Satz Sinn ergibt.

Da stimme ich dir zu, da ich weiß was du meinst!
Sowas hasse ich auch, habe mich aber langsam schon daran gewöhnt.
Mist, habe zwar schon knapp 200 Seiten gelesen (noch lange nicht alles verstanden), aber finde jetzt auch den Code im Buch nicht der mir unverstädlich ist.

Seite 171 "Tschüss sagen mit Methoden" ist aber ein gutes Beispiel!
Hier wird ein Parameter mit "name" angegeben. Dieser Parameter hat aber, wie ich es von Variablen her kenne keine Werte-Zuweisung. Dennoch kann System.out.println("Tschüss " + name); z.B. _Tschüss Schrödinger_ ausgeben.
Wer die Möglichkeit hat per Onlinebibliothek, der kann ggf. einen Screenshot von S171/172 machen und hier veröffentlichen.
Danke!


----------



## temi (24. Nov 2019)

JavaDaHood hat gesagt.:


> Dieser Parameter hat aber, wie ich es von Variablen her kenne keine Werte-Zuweisung.



Die Zuweisung des Wertes an einen Parameter erfolgt beim Aufruf der Method, also z.B. `sagTschuess("Schrödinger");`.

Würde mich jetzt schon interessieren, wie das im Buch beschrieben ist.


----------



## JavaDaHood (24. Nov 2019)

Ich versuche mal nur den Code hier abzutippen.

```
package.de.galileocomputing.schroedinger.java.kapitel05.methoden;
public class TschuessSager {
    public static void main (String[] args) {
        sagTschuess("Schrödinger");
        sagTschuess("Bossingen");
    }
    public static void sagTschuess(String name) {
        System.out.println("Tschüss " + name);
    }
}

//in deiner Methode

public static void sagTschuess(String name) {
    if(name !=null && name.startsWith("Boss")) {
        System.out.println("Auf Wiedersehen , Herr " + name);
    } else {
        System.out.println("Tschüss " + name);
    }
}
```


----------



## temi (24. Nov 2019)

JavaDaHood hat gesagt.:


> Ich versuche mal nur den Code hier abzutippen.
> 
> ```
> package.de.galileocomputing.schroedinger.java.kapitel05.methoden;
> ...



Passt doch alles. Der Parametername ist meiner Ansicht nach gut gewählt. Was vermisst du hier?



temi hat gesagt.:


> Die Zuweisung des Wertes an einen Parameter erfolgt beim Aufruf der Methode


----------



## JavaDaHood (24. Nov 2019)

JavaDaHood hat gesagt.:


> Dieser Parameter hat aber, wie ich es von Variablen her kenne, keine Werte-Zuweisung.


Genau das ist mein Problem!


----------



## temi (24. Nov 2019)

temi hat gesagt.:


> Die Zuweisung des Wertes an einen Parameter erfolgt beim Aufruf der Methode




```
sagTschuess("Schrödinger"); // <=== hier wird der Wert zugewiesen!
```


----------



## Werniman (24. Nov 2019)

Das "Tschüss Schrödinger"-Beispiel ist doch m.E. noch ganz gut gewählt und (zumindest für meinen Geschmack) recht einfach zu verstehen.

Schrödinger wird noch komplizierter..über Kapitel 7 zerbreche ich mir inzwischen seit 4 Tagen den Kopf, weil der Autor hier sofort übers Ziel hinausschießt und ein Bespiel ins Feld führt,das für einen Anfänger, der gerade erst die Sache mit der Vererbung oder den Interfaces gelernt hat, viel zu umfangreich sind. Das ist auch so´n Punkt, über den ich mich mit schöner Regelmäßigkeit aufrege: man merkt den Autoren (egal ob von Büchern oder von irgendwelchen Videos) an, welches Thema ihnen persönlich gut liegt. Dann werden nämlich die Beispiele plötzlich mächtig groß und die Erklärungen mächtig kurz.


----------



## temi (24. Nov 2019)

Werniman hat gesagt.:


> Das "Tschüss Schrödinger"-Beispiel ist doch m.E. noch ganz gut gewählt und (zumindest für meinen Geschmack) recht einfach zu verstehen.
> 
> Schrödinger wird noch komplizierter..über Kapitel 7 zerbreche ich mir inzwischen seit 4 Tagen den Kopf, weil der Autor hier sofort übers Ziel hinausschießt und ein Bespiel ins Feld führt,das für einen Anfänger, der gerade erst die Sache mit der Vererbung oder den Interfaces gelernt hat, viel zu umfangreich sind. Das ist auch so´n Punkt, über den ich mich mit schöner Regelmäßigkeit aufrege: man merkt den Autoren (egal ob von Büchern oder von irgendwelchen Videos) an, welches Thema ihnen persönlich gut liegt. Dann werden nämlich die Beispiele plötzlich mächtig groß und die Erklärungen mächtig kurz.



Zu dem von dir genannten kann ich jetzt nichts sagen, aber ich kann dir sagen, dass ich das Konzept des Interfaces, als es mir zum ersten Mal begegnet ist, auch nicht verstanden habe (bzw. den Sinn des Ganzen). Das kam erst später, als ich mich auch mit Entwurfsmustern beschäftigt habe.

Vermutlich wird es kein Buch geben, dass alles so erklärt, das es jeder versteht. Dafür gibt es dann dieses Forum


----------



## White_Fox (24. Nov 2019)

Die Aussage von temi kann ich ohne Weiteres bestätigen, mir ging es genauso.

Unser Prof, der uns Programmieren lehrte (Elektrotechniker, keine Informatiker!) hat ein ganzes Semester damit zugebracht uns zu erklären, was eine Klasse ist und uns die prozedurale Denke zu exorzieren.

Java macht nur richtig Freude wenn man es objektorientiert zu nutzen weiß, aber objektorientiert zu programmieren erfordert überhaupt erstmal programmieren zu können -> Henne-Ei-Problem.


----------



## JavaDaHood (24. Nov 2019)

temi hat gesagt.:


> Die Zuweisung des Wertes an einen Parameter erfolgt beim Aufruf der Method, also z.B. `sagTschuess("Schrödinger");`.


Man kann aber doch einer Methode auch mehrere Parameter zuweisen.
Woher weiß die Methode dann welcher Parameter was ausgeben soll?

Bei Variablen ist das eindeutiger (finde ich).


----------



## Werniman (24. Nov 2019)

temi hat gesagt.:


> Zu dem von dir genannten kann ich jetzt nichts sagen, aber ich kann dir sagen, dass ich das Konzept des Interfaces, als es mir zum ersten Mal begegnet ist, auch nicht verstanden habe (bzw. den Sinn des Ganzen). Das kam erst später, als ich mich auch mit Entwurfsmustern beschäftigt habe.



Was ich in meinem Posting eigentlich ausdrücken wollte, ist der Umstand,dass das Lerntempo schon irgendwie zu wünschen übrig lässt. Gerade erst irgendwas grundlegend kapiert und dann als 2.Aufgabe sofort ein Beispiel hingeknallt kriegen, wo das gleich exzessiv eingesetzt wird, halte ich persönlich eher für kontraproduktiv und abschreckend. Das ist, um es mal auf ein anderes Beispiel zu übertragen: etwa so, als ob man in der ersten Fahrstunde das Anfahren und Bremsen auf einem einsamen Parkplatz beigebracht bekommt und man in der 2.Fahrstunde gleich zur Rush Hour in die Großstadt geschickt wird. 

Natürlich ist das Lerntempo unterschiedlich. Das merkt man auch den Schulungsunterlagen/Büchern gut an. Ich stecke ja nun in einer beruflichen Fortbildung zum Thema Java und natürlich haben wir untereinander die bereits vorhandenen ebooks etc getauscht,d.h. ich konnte schon diverse unterschiedliche Sachen probelesen.  Schon interessant, was da manchmal als "anfängertauglich" verkauft wird. Das reicht nämlich von einem Crashkurs-ähnlichen Stil, wo man selbst mit ein paar Grundkenntnissen schon auf Seite 4 nicht mehr folgen kann bis zu derart viel Gelabere, dass man nach 500 Seiten gerade mal weit genug ist,um ein paar Ganzzahlen zu addieren und auszugeben. Genau aus diesem Grund switche ich persönlich bei den einzelnen Themen zwischen den Quellen. Bei manchen Sachen ist Schrödinger ganz gut, bei anderen Sachen eher die Java-Insel oder irgendwelche Youtube-Tutorials.


----------



## temi (24. Nov 2019)

JavaDaHood hat gesagt.:


> Man kann aber doch einer Methode auch mehrere Parameter zuweisen.
> Woher weiß die Methode dann welcher Parameter was ausgeben soll?



Die Methode aus dem Beispiel hat nur einen Parameter, also kann man sie auch nur mit einem Parameter aufrufen. Was du meinst ist, dass man eine Methode mehrfach mit unterschiedlichen Parametern aufrufen kann. Die jeweiligen Aufrufe musst du unabhängig voneinander betrachten.


```
sagTschuess("Schrödinger"); // Methode wird aufgerufen und gibt "Tschüss Schrödinger" aus.
sagTschuess("Hinz"); // Methode wird noch einmal aufgerufen und gibt "Tschüss Hinz" aus.
```


----------



## JavaDaHood (24. Nov 2019)

Nein, ich meine schon was ich schrieb, weil es auch so im Buch steht.
Eine Methode kann mehrere Parameter haben.

Beim Aufruf der Methode (welche mehrere Parameter hat) verstehe ich nur nicht wie die Methode dann weiß welchen Parameter sie heranziehen muss.

Schon klar, dass mein Methoden-Beispiel nur einen Parameter hat!


----------



## temi (24. Nov 2019)

JavaDaHood hat gesagt.:


> Nein, ich meine schon was ich schrieb, weil es auch so im Buch steht.
> Eine Methode kann mehrere Parameter haben.



Na, die Parameter haben doch Namen.


```
void sagTschuess(String erster, String zweiter) {
    System.out.println("Tschüss " + erster + " und " + zweiter);
}
```

Beim Aufruf der Methode gilt dann die Reihenfolge der Parameter.

```
sagTschuess("Hinz", "Kunz"); // ==> Ausgabe: Tschüss Hinz und Kunz
}
```


----------



## M.L. (24. Nov 2019)

> (Elektrotechniker, keine Informatiker!)


 (Off-topic) Selbst bei einer Lehrkraft "vom Fach" hat man keine Garantie, dass der Lehrstoff auf passende Weise vermittelt wird. Im konkreten Fall C++  (mit Hintergrund in C). Lt. einem Studenten des Nachfolgejahrgangs war die Dozentin der Vorlesung für SW-Technik von den Programmierkünsten ebendieser Vorgänger so begeistert, dass sich diese Dame mit -milde gesagt- sehr bösen Worten beim Prüfungsausschuss beschwert hat.


----------



## White_Fox (24. Nov 2019)

M.L. hat gesagt.:


> (Off-topic) Selbst bei einer Lehrkraft "vom Fach" hat man keine Garantie, dass der Lehrstoff auf passende Weise vermittelt wird.


Nun, da hatte ich Glück, denn der Prof hatte es nicht nur fachlich, sondern auch didaktisch gehörig drauf. Über den würde ich mich nicht beklagen.
Ich wollte damit lediglich ausdrücken daß die Anforderungen schon entsprechend runtergeschraubt waren.

Besagtem Prof war übrigens Verständnis sehr wichtig. Lieber die Denkweise hinter dem Konzept etwas in die Köpfe einpflanzen, auf daß sie vielleicht auch außerhalb und nach der Vorlesung weiterwachsen, anstatt möglichst viele Punkte auf einem Lehrplan abzuhaken.


----------



## M.L. (24. Nov 2019)

> der kann ggf. einen Screenshot von S171/172 machen und hier veröffentlichen.


Zu Diensten (via Anhang)


----------



## Werniman (5. Dez 2019)

M.L. hat gesagt.:


> (Off-topic) Selbst bei einer Lehrkraft "vom Fach" hat man keine Garantie, dass der Lehrstoff auf passende Weise vermittelt wird.



Ein Lehrer mit Pädagogikstudium hat zumindest die fachliche Fähigkeit erlernt, Menschen irgendwas beizubringen. Bei Dozenten ist das weit schwieriger, da das keine geschützte Berufsbezeichnung ist. Weder vom fachlichen, noch vom pädagogischen Standpunkt. Der fachlich beste Dozent ist für seinen Beruf untauglich,wenn er kein Talent dazu hat, Leuten irgendwas beizubringen, weil er sich nicht in sie hineinversetzen kann.


----------



## JavaDaHood (24. Dez 2019)

Bin gestern noch auf folgende - *kostenlose!*- eBooks gestoßen:


			Java-Hamster-Modell
		


Da ich mir selbst mit dem Schrödinger-Buch irgendwie schwer tue Java zu lernen, schaue ich mir diese eBooks auch an.
Vll. hilft es auch dem ein oder anderen beim Lernen von Java.


----------



## Javinner (24. Dez 2019)

JavaDaHood hat gesagt.:


> Vll. hilft es auch dem ein oder anderen beim Lernen von Java.


Java-Hamster, mein Résumé.
Falls du Fragen und Ratschlag zum jeweiligen Thema brauchst, melde dich.


----------



## Werniman (8. Jan 2020)

JavaDaHood hat gesagt.:


> Da ich mir selbst mit dem Schrödinger-Buch irgendwie schwer tue Java zu lernen, schaue ich mir diese eBooks auch an.
> Vll. hilft es auch dem ein oder anderen beim Lernen von Java.



Das Schrödingerbuch ist in der Tat sehr gewöhnungsbedürfig. Ich für meinen Teil finde schon das Lesen anstrengend, insbesondere weil ständig ganze Textblöcke woanders stehen,d.h. man hat beim Lesen oft keinen wirklichen "Textfluß", weil man ständig unterbrechen muss,um zu schauen,wo denn jetzt der Rest des gerade begonnenen Satzes steht. Auch die wechselnden Fonts sind irgendwie anstrengend für die Augen.  Inhaltlich lässt das Buch stellenweise ganz schön zu wünschen übrig...manche Themen ziehen sich wie Kaugummi, bei anderen wird gefühlt mittendrin unterbrochen, weil "Schrödinger" das Prinzip des Themas angeblich verstanden hat, noch bevor es überhaupt erklärt wurde.  Das ist übrigens ein Problem, das viele Autoren und Videotutorialersteller haben: Man merkt ihnen an, welche Themen ihnen selbst besonders liegen: da drehen sie tempomäßig plötzlich auf,weil sie vergessen, dass das Thema für andere Leute noch Neuland ist und längst nicht so gut liegt wie ihnen selbst.


----------

