Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
bin zwar kein Programmieranfänger, aber neu sowohl hier im Forum, als auch bei Java
( u OOP im Allgemeinen) und bei Eclipse..
Eclipse habe ich installiert und nach einiger Arbeit auch sauber zum Laufen
bekommen..:
Eclipse 3.4 Ganymede
JDK6 (JRE 1.6..) + Entspr. Docs mit Source als ZIP
J2ME WTK
Ein Problem habe ich allerdings und zwar was die Popuphilfe anbelangt,
also sobald man mit dem Mauscursor auf eine Anweisung geht.
Bei Anweisungen wie "System.out.Println()" usw funktioniert es einwandfrei.
Aber bei Anweisungen wie "Switch", "For", "While" usw., also bei grundlegenden
Befehlen funktioniert es nicht.
Keine Ahnung, dazu ist das nicht gedacht. Bei Methoden und Klassen werden die Javadoc-Kommentare der eingebundenen Quellen ausgewertet und angezeigt. Man hat ja oft mit irgendwelchem Code zu tun, von dem man nicht weiß, was er macht, da ist das sehr nützlich. Keywords gibts aber nur ein paar und die ändern sich ja nicht. Nimm dir lieber ein Buch für sowas. Wenn du kein Programmieranfänger bist, dürfte das abhängig von deinen bisherigen Sprachen auch nicht allzu kompliziert sein.
Werden die Keywords in der der JDK-Docu nicht beschrieben?
Hab da noch nicht so den Überblick..komme von einer Straight-On, also rein
Prozeduralen Sprache (versch. Basic-Dialekte u.s.), da sind die Verhältnisse
einfacher..und die Hilfe auch
Ich lerne gerade mit einem Buch ("Java ist auch eine Insel" Ausg 7), und genau daher
habe ich die Idee, daß die Keywords auch angezeigt werden. Auf einer Seite sieht man nämlich (ein Bild) das Hilfe-Popup von "While" in Eclipse.
Danke und Gruß
Udo
[Edit:] Passt nicht hier her, aber sehe ich das richtig, daß bei z.B. "System.out.Print"
das "System" ein Packet, das "out" eine Klasse und "Print" eine Methode
dieser Klasse ist?
Was OOP genau ist, wurde im Buch noch nicht behandelt, die Klassen kommen
ebenfalls erst in einem späteren Kapitel..
Keywords werden nicht dokumentiert, weil sie Bestandteil der Sprache sind. Im Compiler eingebaut praktisch. Keywords können auch nicht programmiert werden; gäbe es z. B. kein while, könntest du es nicht so, wie es jetzt existiert, nachbauen. Die Klassen sind aber in Java geschrieben und können dementsprechend dokumentiert werden.
Das Popup, das du meinst, ist sicher ein Template. Sowas erleichtert, häufig verwendete Konstrukte schneller zu schreiben, weil die Grundelemente eh immer gleich sind. Wie hier (etwas runterscrollen).
System ist eine Klasse, out ein statisches Member und print die Methode. Das Paket ist java.lang. Das wird aber automatisch importiert, darum siehst du am Anfang der Datei kein "import java.lang.System" oder so.
@musikk
Ok, die Keywords lernen sich bestimmt schnell. Ist ja nicht so, daß
ich die ganzen Schleifen u Bedingungen usw. nicht kennen würde. Sind fast überall
gleich.
Im Link von Dir sehe ich, daß es schon Javainsel v. 8 gibt! Lohnt sich ein "Update"?
Und, ja genau so ein "bild" meinte ich! Von einem Template kommt das also..
Sind die (vom Autor) selbst gebastelt oder bereits integriert?
Falls nein, kann man sich für die ganzen Keywords und Standard-Methoden
welche runterladen?
@Beni
Referenzen sind aber nicht wirklich Pointer..? Zu beginn des Buches stand,
daß es Pointer (Zeiger auf Speicherbereiche) nicht gibt (leider!..und zum Glück).
Die Zusammenhänge bei System.out.print* verstehe ich noch nicht, wieso
ist das so kompliziert? Wieso gibt es das nicht als Keyword?
Brauchst jetzt aber nicht genau erklären, kommt ja alles noch im Buch, hoffe ich
Es gibt viele Templates bereits in Eclipse voreingestellt. Die aus dem Buch sollten eigentlich alle dazugehören. Ob sich ein Update lohnt, kann ich nicht sagen, ich habe das Buch nie verwendet, außer ab und an zum was nachschlagen. Und auch immer nur die Online-Variante.
Keywords sind nur die Bausteine einer Sprache. Sowas wie Standardausgabe als Keyword zu verpacken, wäre wie einen eigenen Lego-Baustein für ein Auto zu haben, statt das Auto aus einzelnen Steinen zusammenzusetzen. Wenn man das dann durchzieht, kommt man übrigens bei COBOL an.
Es gibt viele Templates bereits in Eclipse voreingestellt. Die aus dem Buch sollten eigentlich alle dazugehören. Ob sich ein Update lohnt, kann ich nicht sagen, ich habe das Buch nie verwendet, außer ab und an zum was nachschlagen. Und auch immer nur die Online-Variante.
Keywords sind nur die Bausteine einer Sprache. Sowas wie Standardausgabe als Keyword zu verpacken, wäre wie einen eigenen Lego-Baustein für ein Auto zu haben, statt das Auto aus einzelnen Steinen zusammenzusetzen. Wenn man das dann durchzieht, kommt man übrigens bei COBOL an.
Das mit dem Lego find ich einen guten Vergleich!
So kann man sich das gut vorstellen.. Danke für die Erklärung.
Kannst Du (oder jemand) mir ganz kurz erklären, was intern passiert,
wenn ich das System.out.print(string) aufrufe?
Also ich meine so in der Art: "string wird via "out" an die JVM geleitet, welche
wiederrum..usw." *hüstel*
@Beni
Referenzen sind aber nicht wirklich Pointer..? Zu beginn des Buches stand,
daß es Pointer (Zeiger auf Speicherbereiche) nicht gibt (leider!..und zum Glück).
Die Zusammenhänge bei System.out.print* verstehe ich noch nicht, wieso
ist das so kompliziert? Wieso gibt es das nicht als Keyword?
Brauchst jetzt aber nicht genau erklären, kommt ja alles noch im Buch, hoffe ich
Referenzen und Pointer... Grundsätzlich verhalten sich Java-Referenzen wie C-Pointer ohne Pointerarithmetik. z.B. kann eine Referenz auf null zeigen. Aber ja, du hast keinen Zugriff auf Speicherbereiche und kannst nichts gefährliches mit Referenzen tun.
IMHO: sie verhalten sich wie Pointer also sind sie Pointer.
Zu den Keywords. Hinter System.out.print* steckt ein komplizierter aber durchdachter Mechanismus. So ein "print" kann noch viel mehr als nur auf die Konsole zu schreiben, z.B. kann man es auch benutzen um ZIP-Archive zu füllen, Server anzusprechen oder Dateien zu schreiben. *Ein* Keyword wäre da viel zu wenig, und 100'000+1 Keywords machen die Sprache nicht eben übersichtlich.
Ok, also im Buch steht, daß System die Klasse, out das Objekt und
Print eine Methode dieses Objekts ist. Out hat also viele Methoden,
z.B. für die von Dir genannten Zwecke..(?)
Deshalb hat mich die Aussage, daß out eine Referenz ist, etwas verwirrt
Im Moment bin ich nämlich noch dabei, diese Zusammenhänge zu begreifen.
Ist am Anfang nicht wirklich leicht, wenn man vorher Jahrelang etwas anderes
gewöhnt ist.
Bla bla.
Das Thema passt hier gar nicht rein, deshalb sorry nochmal!
Manche Autoren unterscheiden nicht sauber zwischen Objekt und Referenz, ich denke aber es ist einfacher wenn man hier den darunterliegenden Mechanismus ein bisschen versteht (auf die Gefahr, dass ich wiederhole was du schon weisst):
Objekt: ist das Ding das im Speicher liegt, während du programmierst existiert es nicht.
Referenz: ist das Ding das du im Quellcode siehst, das später auf ein Objekt zeigt, und mit dem du arbeitest.
Ein PrintStream wie "out" kann lediglich Text nehmen, in eine byte-Folge verwandeln und dann an einen anderen Stream weitersenden. Man kann Streams aber hintereinander koppeln: der erste Stream macht aus Text byte-Folgen, der zweite verschlüsselt die byte-Folge, der dritte kompirimiert die verschlüsselte Folge (zip), der vierte sendet die komprimierte verschlüsselte Folge ins Internet...
Das wäre dann allerdings ein weiteres Kapitel in deinem Buch ;-)