Java Tutorial für PHP-Entwickler

te one

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.252
Hi,
ich programmiere nun schon seit einiger Zeit mit php.

Jetzt wollte ich allerdings mal mit richtigen Windows-Anwendungen anfangen, und hab gelesen, dass Java recht gut sein soll (oder gibts doch was passenderes?).

Ich habe auch schon einige Tutorials angefangen, allerdings blick ich einfach nicht durch :)

Heute wollte ich mal wieder anfangen und einfach nen kleines Programm machen, dass bei nem Tastendruck einen Ton abspielt (Schleife), und sobald ich loslasse wieder aufhört...und ich bin wie immer in Java kläglich gescheidert, obwohl eigentlich noch garnix großartiges dastand.

Da liest man dann irgendwelche sachen von JPanel, JButton oder sonstwas und irgendwelche komischen Sachen... Am Anfang muss man dann noch i-welche Sachen mit import laden?! Das steht dann zwar auch am Anfang in des Tuts, aber wie soll ich da drauf kommen wenn ich mein EIGENES Programm entwickeln will.

Kann jemand von euch aus eigener Erfahrung ein Tutorial empfehlen (am besten vielleicht auch mit dem Vorwissen aus PHP)? Oder sollte ich gleich ne andere Programmiersprache nehmen?
Ich habe echt schon so viele Versuche gestartet, aber nicht mal das einfachste Zeug klappt. Dann seh ich in NetBeans schon immer die schönen roten Ausrufezeichen und kann das Prog nicht mal kompilliern (bzw. sagt er mir, dass es eh net klappt^^).

Wäre super wenn da jemand was kennt.

Schonmal danke
 
Okay, ich werde die Links morgen mal durchschauen.
Für heute habe ich genug davon...

Was ich halt auch zB recht verwirrend finde: Ich klicke auf neues Projekt und dann muss ich zB auswählen obs nen Java Applet, ne Application oder sonst was sein soll. Dann noch Verzeichnis für Libraries usw. angeben?! Da blickt ja keiner durch der das das erste mal macht.

Ich suche also wirklich ein Tutorial bei dem der Editor auch ganz grob mal erklärt wird.
In manchen Tuts wird ja noch betont dass man erstmal per Hand kompillieren soll, damit man das mal gemacht hat und nicht nur zB Eclipse oder so dafür verwendet. Wieder nen anderes Tut will NetBeans. Und ihr sagt Eclipse^^

Also kommt morgen noch Eclipse drauf. (Hab ich jetzt aber auch aus anderen Quellen schon gehört, dass Eclipse wohl "Standard" ist)


Mit der Objektorientierung hab ich auch lang in PHP gekämpft. Kann mich noch an mein erstes Browsergame errinern. Das hab ich komplett ohne OOP programmiert :) Was das für nen kopieren usw. war kann man sich ja vorstellen^^ (Also hab auch keine Funktionen usw. geschrieben)
Aber das is jetzt schon wieder lange her, mitlerweile isses recht einfach


Zum Thema Hello World Programm: Daran bin ich auch schon so oft gescheidert :freak:
Aber nen neuen Versuch isses sicherlich wert
 
Hi,

ich hatte insgesamt 2 Semester Java und habe da kein einziges mal nur ansatzweise von ner gui gesehen. Wir hatten da alles rein konsolenbasiert.
So wie ich es aktuell einschätze ist gui einer der schwierigseren Teile bei Java. Aber ansich doch ne gute Sprache.
In einer Softwar Engineering Übung durften wird ann auch ein Programm bearbeiten, dass ne Gui hatte und als jemand der sowas noch nie gesehen hatte, stand man da sprichwörtlich wie der Ochs vorm Berg.
Da hat man sich mit Visual Basic doch schneller etwas zusammengeklickt. Solltest du unbedingt was mit gui machen müssen, dann wäre wohl eine Microsoft Sprache aus dem Visual Studio besser geeignet. Da hast du dann zumindeset einen gui Editor dabei.

Noch zu den Imports. Wenn du Eclipse benutzst, dann brauchst du dir darüber garkeine gedanken machen. Da wird dir das direkt mit importiert. Das geht recht gut. Auch die vordefinierten templates für schleifen, syso usw sind recht komfprtabel und machen einen echt faul.

Gruß
 
Zu Visual Studio: Kann man das auch richtig für "gescheide" Sachen einsetzen (damit mein ich richtig umfangreiche Programme bis hin zu spielen). Sollte also dann zB per Installer installierbar sein oder so.

Möchte halt ne Sprache mit der sich möglichst viel machen lässt. (Am besten wenns da was gibt, dass man auch noch auf Webseiten einsetzten kann. Wobei ich glaube, meinen Wünschen wird fast keine Sprache gerecht)
Außerdem sollte sie relativ gängig sein. Es wäre natürlich schön wenn ich se net nur für mich lerne, sondern mir bzw. anderen mein Wissen später auch hilft.

PHP kann ich zB jetzt super auf der Arbeit gebrauchen. Wenn ichs nicht könnte, würden wir halt manche Sachen nicht selbst machen. (Fachinformatiker Systemintegration in Ausbildung)
In meiner Ausbildung lern ich jetzt auch nochmal die Basics in PHP (besonders OOP), wobei das meiste ja wirklich nur noch langweilige Wiederholung ist.
 
Das Visual Studio ist eine der besten IDEs überhaupt. Für .NET sowieso, aber auch für klassiches C/++ etc.

Wenn du wirklich etwas neues lernen willst, ein neues Fass aufmachen sozusagen, dann kommen bei deinen Anforderungen eigentlich nur Java und C# in Frage ("Multi-Purpose" Sprachen, eben auch für Webentwicklung). Eine Entscheidung zwischen den 2 Sprachen sollte nicht schwer sein, da sie sich verdammt ähnlich sind. Wenn du nur unter Windows unterwegs bist würde ich dir jedoch C#/.NET vorschlagen.
 
Ja, ich würde auch zu C# oder Java raten. Gerade für den Einstieg gut geeignet. Was von beiden liegt ganz bei dir. Der große Vorteil von C# sehe ich in dem sehr guten GUI Editor von VS. Bei Java gibt es nicht annähernd so gute. Generell wenn du Programme für Windows schreiben willst, solltest du C# nehmen.

Ist aber alles kein großes Problem, wer Java-Grundlagen kann, kann auch C#-Grundlagen. ;)
 
Eine einfache Gui ist in Java auch nicht besonders schwer. wenn man das prinzip einmal verstanden hat geht es schon. bei gui ist es halt einfach so, das man ein button erzeugt. und damit der button weiss wann er eine aktion ausführen soll, bekommt er einen listener. das kann zb ein mouselistener sein, dann agiert er wenn er per maus angeklickt wurde. oder irgendein anderer listener.

grobe antworten auf die fragen von dir (eclipse? importe? etc)

nun zuerstmal solltest du dich für eine ide entscheiden und erstmal dabei bleiben. ich würde eclipse nehmen, habe ich zu beginn auch genutzt und nutze sie immernoch. eclipse ist äußerst flexibel und erweiterbar, das heißt du kannst damit nicht nur reine desktop anwendungen entwickeln sondern auch jedemenge anderes zeug. für dich heißt es aber erstmal "ein neues projekt anlegen" und das als java applikation. (das andere zeug ist optimiert für z.b. webapplets, die halt doch etwas anders aufgebaut sind als eine normale desktopanwendung) danach klickst du mit rechts auf das neu erstellte projekt und gehst auf neue klasse. da gibst du deren namen ein und da das die erste klasse in diesem projekt ist, machst du auch noch ein haken bei main funktion erzeugen rein. in einem java programm ist die main-methode immer der startpunkt! dann ist es in java immer so, das der klassenname, z.b. public class meinProgramm , auch dem namen der java-datei entsprechen muss. worum sich eclipse aber auch alleine kümmert.

zum nächsten punkt, den importen. noch fluchst du vielleicht über die importe, wenn du dich jedoch etwas damit auskennst, wirst du sie mögen. in java gibt es eine große api. die enthält grob gesagt vorgefertigten code für die meissten probleme, auf die man beim programmieren so stoßen kann. und damit diese ganzen funktionen die dir da zur verfügung stehen nicht alle immer geladen werden, obwohl du sie garnicht benötigst, musst du das was du brauchst importieren. einfach mal nach java api suchen, dann bekommst du da einen guten überblick. aber auch da hilft dir eclipse meisst, und erkennt, wenn du eine funktion benutzt, die du noch nicht importiert hast. da kommen wir gleich zum nächsten punkt. mit den libraries. manchmal entwickeln leute funktionen, die noch nicht in der standart api von java enthalten sind. diese kann man dann als librarie hinzufügen und einfach benutzen. das sollte dich jedoch am anfang noch nicht interessieren.

zuletzt:

package Hello; <-- beliebiger paketname, später kannst du damit projekte organisieren

public class helloWorld { <-- name deiner klasse

public static void main(String[] args) { <-- mainmethode ist der startpunkt!
System.out.println("Hallo Welt!"); <-- erzeugt einen output auf der konsole
}

// hier könntest du jetzt noch alles mögliche andere machen. z.b. andere funktionen der klasse aufrufen. andere objekte initialisieren usw.

}
 
Hm dann wäre es wirklich zu überlegen ob ich mich nicht an C# statt an Java versuche.

Aber wird C# wirklich als Websprache eingesetzt? (hab ich noch nirgendwo gesehen)

Wie sieht es bei beiden Sprachen mit Apps für IPhone, Blackberry oder so aus?
Bei Java kenn ich das auch, aber C#??
 
C# wird auch als Websprache eingesetzt. Mehr Flexibilität hast du allerdings mit Java. Es läuft (zumindest in der Theorie) auf allen gängigen Plattformen. OS X, Windows, Linux, Android.. außer iOS.

Fürs iPhone gibt es Objective C. Mir persönlich gefällt die Sprache nicht. Alternativ kannst du fürs iPhone auch mit MonoTouch entwickeln in C#. Fürs Veröffentlichen im App Store brauchst du dann allerdings einen Lizenscode für ~400$.
 
Mit C# kann man auch für Windows Phone 7 Anwendungen und Spiele für Windows Phone, Xbox und Zune player entwickeln.
 
Also wenn du wirklich etwas intensiver PHP-Programmierung betrieben haben solltest, dann ist der Einstieg/Umstieg in eine Sprache wie C# oder Java wirklich nicht schwer. Die grundlegenden Sprachkonzepte wirst du auch da wieder finden. Daher wundere ich mich, dass du mit Java Probleme hattest. Und wenn du Java einigermassen kannst, dann ist auch C# kein Problem mehr. Im Endeffekt gehts doch nur darum die Dokumentation nach den richtigen Features zu durchsuchen. Das reine Programmieren ist nun wirklich nicht so sehr verschieden.
 
toxn schrieb:
Also wenn du wirklich etwas intensiver PHP-Programmierung betrieben haben solltest, dann ist der Einstieg/Umstieg in eine Sprache wie C# oder Java wirklich nicht schwer. Die grundlegenden Sprachkonzepte wirst du auch da wieder finden. Daher wundere ich mich, dass du mit Java Probleme hattest. Und wenn du Java einigermassen kannst, dann ist auch C# kein Problem mehr. Im Endeffekt gehts doch nur darum die Dokumentation nach den richtigen Features zu durchsuchen. Das reine Programmieren ist nun wirklich nicht so sehr verschieden.

Ich hab auch eigentlich keine Probleme mit der Logik dahinter.
Aber wenn ich schon sehe, dass ich zur Programmierung wissen muss, dass ich mit system.irgendwas.komisches.und.nochwas auf i-was zugreifen kann...dann drehts mir irgendwie schon den magen rum. Aber ich denke mal wenn ich ne zeitlang in Java programmiere weiß ich auch welche Standardsachen ich brauche (aber wer würde zB schon alleine darauf kommen, dass man system.out.println zur ausgabe benutzt? Da finde ich PHP etwas weniger verwirrend. Wobei es wie gesagt denke ich gewohnheitssache ist)

Naja in PHP hab ich bis jetzt eher recht wenig OOP benutzt.
Strukturell (glaube so nennt man das ja?!) hab ich allerdings schon recht viel mit PHP gemacht (kleines Browsergame und verschiedenste Anwendungen mit Datenbankanbindung usw)

Dudasolid schrieb:
Naja der AppStore wäre mir jetzt zB eh noch nicht wichtig. Auch als Endgerät ist es mir jetzt noch nicht so wichtig was für IPhones oder so zu programmieren. Sondern eher für irgendwelche recht einfachen Samsunggeräte oder so.
Wobei sich zB Blackberry-Programmierung lohnen würde, da ich sowieso eines habe (ist aber absolut kein KO-Kriterium)

Aber ich glaube nach dem was ich bis jetzt gelesen habe, dass ich wirklich bei Java bleibe und einfach nochmal mein Glück probiere
(Gerade eben das neue JDK installiert)

Welches Programm liese sich denn recht einfach mit Java programmieren? Damit ich mal ein bisschen Übung bekomme? (darf ruhig weng kniffliger als Hello World sein^^)
Ergänzung ()

Habe eben Eclipse installiert.
Java scheint doch nicht so schwer zu sein wie das mit NetBeans ausgesehen hat :D

Hab zwar jetzt noch nicht viel probiert, aber die ersten kleinen Programme laufen schonmal (hab jetzt das Tut von Galileo Computing genommen)
 
Dudasolid schrieb:

Gemeint waren die 400$ für MonoTouch. Aber ich sehe gerade "Student: 99$". Da weiß ich schon, was mein nächstes Projekt wird. :D

te one schrieb:
Welches Programm liese sich denn recht einfach mit Java programmieren? Damit ich mal ein bisschen Übung bekomme? (darf ruhig weng kniffliger als Hello World sein^^)

Naja ganz am Anfang sowas wie Zufallszahlengenerator. Später dann z.B. MasterMind.
 
Zahlen einlesen
Zahlen berechnen
Ist die Zahl eine Primzahl ?
Falscheingaben abfangen ( nur positive Zahlen eingeben )
Ein ganzes Feld anlegen und einlesen
Diese Feld dann sortieren (ggfls. mit versch. Sortierverfahren)
Den größten Wert ausgeben
Abfragen ob ein bestimmter Wert im Feld vorhanden ist

Das sind so übungen für den Anfang. Da kannste dann mit verschiedenen Schleifen arbeiten und auch schon mit Funktionen wenn du magst (die Primzahlabfrage kannste in ne Funktion packen...als Beispiel).
 
te one schrieb:
Ergänzung ()

Habe eben Eclipse installiert.
Java scheint doch nicht so schwer zu sein wie das mit NetBeans ausgesehen hat :D

Das lag wohl eher an dir, als an Netbeans...
 
InfoStud84 schrieb:
Das lag wohl eher an dir, als an Netbeans...

Das kann natürlich auch sein...
Lag wohl auch daran dass ich nie nen Tut angefangen habe, das richtig NetBeans benutzt.

@Timotime:
Stimmt das sind echt sachen, die eigentlich sau easy sind, aber bei denen man sich bestimmt ein bisschen an die Syntax usw. von Java gewöhnt.


Mal schauen mein großes Ziel wäre ja nen kleines Game (hab dazu auch schon einiges gelesen, aber dazu muss ich ja erstmal die standards draufhaben)
Ist aber ja im Grundegenommen nix anderes als eine FAST-Endlosschleife (bis eben Game over oder Pause), in der alles nen Stückchen weiter bewegt wird.
 
Zurück
Oben