Golden Sun Board

Normale Version: Programmieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hey

in der Schule lernen wir zurzeit die Programmiersprache Java. Mir macht das programmieren mit Java Spaß und ich würde mich auch nicht als schlecht darin bezeichnen (aber nur mit den Grundlagen aus der Schule, z.B. Desktopprogramme haben wir noch nicht einmal angesprochen).
Ich hätte aber ein paar Fragen...
falls einer von euch mehr Ahnung von Java hat, kann er mir ja helfen Zungeraus

z.B. möchte ich einen Stringwert (z.B. "500.00") in einen float oder double Wert umwandeln um damit nummerische Rechnungen durchzuführen. Ich weiß, dass es für sowas sogenannte Wrapper-Klassen gibt, aber ich weiß nicht wie diese aussehen oder mit welchen Befehlen diese arbeiten. kann mir da jemand helfen ?

Danke schonmal im voraus.

PS: Das Thema ist so gedacht, dass hier sämtliche Java Fragen gestellt werden können Zwinker

Ich hoffe es gibt so ein Thema nicht schon, ich habe über die Suchfunktion nichts gefunden.
http://openbook.galileocomputing.de/java...4cd851adfc

Hier lässt sich was dazu finden, auch wenn man von der schieren Menge vom Buch erstmal erschlagen wird, würde ich das generell empfehlen, einfach von vorne durcharbeiten.

In deinem fall heißt das z.b:

Code:
String s = "500.000";
double value = Double.parseDouble(s);

Für andere Datentypen siehe die Tabelle.

Falls du das schon kannst, solltest du natürlich prüfen, ob der String auch einen entsprechend gültigen Wert hat, also z.b. keine Buchstaben.
Außerdem ist Komma durch Punkt zu ersetzen, also nicht "500,000".
Hallo Brandwunde

Als Programmier-Fan finde ich super, dass es dir Spaß macht. Smile

Ich hatte auch in der Schule Java, allerdings nicht so, wie ich mir das vorgestellt habe.
Wir haben die wichtigsten Grundlagen gelernt, bis hin zur Objektorientierung, aber die meisten Schüler konnten hinter her nicht wirklich viel.
Was ich sagen will: Ich denke, wenn dir Java und Programmieren Spaß macht, solltest du nicht beim Unterricht bleiben, sondern wirklich privat damit anfangen.

Wenn du privat eine Programmiersprache lernst, bedeutet das zwar Arbeit, viel Arbeit, aber wer sich nicht zu hohe Ziele steckt und auch wirklich Spaß daran hat, wird auch sehr schnelle Erfolge bekommen.

Du könntest da weiter Java lernen, oder eine andere Sprache beginnen. Die Objektorientierung bleibt immer gleich, nur die Syntax und das ganze Bild der Sprache ändert sich. Aber das ist, wenn man alles zusammen betrachtet, das Einfachste.

Außerdem gibt es noch Sprachen, die Java sehr ähnlich sind, wie z.B. C#. Ich programmiere mit C# jetzt seit ungefähr einem 3/4 Jahr und finde es klasse, weil es wirklich extrem viele Möglichkeiten gibt und es leicht zu erlernen ist. Außerdem gibt es Dinge, die Java nicht hat (Wie z.B. internal) und was eigentlich auch mal ganz sinnvoll ist. Klar, wahrscheinlich gibt es so etwas in Java auch, aber da kann ich nichts zu sagen. Allerdings kann man von C# auf C++ (die Sprache, die aktuell die beste Leistung aus dem PC holen kann, deshalb sind auch viele Spiele in C++ geschrieben) umsteigen. C++ ist zwar sehr schwer, aber bietet absolut alles in der Computer-Welt.
Dann gibt es auch noch PHP. Das ist doch ziemlich anders, aber der Umstieg ist noch relativ einfach
Dann gibt es noch PHP als zur Zeit am weitesten verbreitete Web-Sprache (Neben HTML und CSS natürlich). PHP ist zwar schon ziemlich anders, aber die Syntax ist noch recht ähnlich, nicht wie zu anderen Sprachen, wo man komplett umdenken muss.


Was ich im Endeffekt meine: Suche dir unabhängig vom Unterricht eine Sprache, die du lernen möchtest. Ich bin zwischen Java, PHP und C# gependelt, wollte ne Zeit sogar mit C++ anfangen, hab mich dann aber für C# entschieden und bin zufrieden.
Wenn du C# lernst, dann kannst du sehr viel für Java ableiten, die ganze Arbeitsweise ist sehr ähnlich und sieht so, auf dem Blick in den Code, gleich aus.
Wenn du andere Sprachen, die eventuell ganz von Java abweichen, nimmst, wirst du immer noch die objektorientierte Programmierung haben und mit etwas Begriffe lernen und gut auf passen, kannst du auch da genug für Java ableiten.

Wenn du bei Java bleiben willst, dann arbeite das Buch durch, dass dir era gezeigt hat.
Ich lese ein C#-Buch von der selben Seite und es ist sehr gut beschrieben und erklärt. Liest sich flüssig und wenn du das wirklich lernen willst, ist das Buch schnell weg und du fragst wie ich nach Programmier-Ideen Lachen
Und später kommen dann noch Datenbanken, XML-Verarbeitung, etc. Also bist du im Endeffekt für die Welt der Programmierer vorbereitet. Es fehlt nur noch die Erfahrung und das Wissen über einzelne Klassen, die in verschiedenen Klassenbibliotheken von Java schon existieren.
Aber das ist bei C# genauso, nur ist da das Buch 11 Kapitel länger. ^^

Wenn du C# lernst, kann ich dir helfen und ich kann dir auch zwei gute Foren empfehlen, wo aber eines wirklich sitzende Grundkenntnisse aus dem Buch voraus setzen und beide Foren fordern aktives Selbststudium.

Wenn du noch mehr wissen willst, frag mich, über C# kann ich viel erzählen ^^




So, ich schreib zu viel Lachen

Deine Frage hat era eigentlich schon beantwortet.
Ich füge noch hinzu, dass diese grundlegenden Datentypen (String, integer, double, etc.) alle eine Parse-Methode haben und die machen genau das, was du haben willst^^Aus C# kenne ich noch die TryParse-Methoden, die versuchen etwas zu parsen einen boolischen Wert zurück geben. Das Ergebnis wird mittels out-Parameter (bietet die Möglichkeit, Werte aus einer Methode über die Parameter-Liste abzufragen, wenn ein Rückgabe-Wert nicht reicht) zurück gegeben
Danke erstmal an era für die Antwort, hat exakt so geklappt wie ich es brauchte Zwinker

das openbook hatte ich auch schon (wurde mir auch schon empfohlen), aber da hatte ich bei den Beispielen nicht durchgeblickt xD
Deswegen noch danke, dass du es mir auf mein Beispiel bezogen gezeigt hast.

@Palladin :

Ich hatte mir schon überlegt, weitere Sprachen zu lernen (HTML - was natürlich keine Programmiersprache, aber trotzdem praktisch ist- kann ich auch), aber jetzt will ich erstmal, wenn ich die Grundlagen bis zum objektorientierten programmieren hab, Java weiter machen.
Die C Sprachen wären mein nächstes Ziel.
Danach noch praktisches wie php oder python.

Wird sich ja zeigen Zwinker
Wenn du mit Webdesign anfangen willst, mach so früh wie möglich HTML, dass du danach sofort CSS machen kannst, denn ohne lange Erfahrung wird das mit den ordentlichen Webseiten nichts. Bin daran auch gescheitert.

PHP ist natürlich auch ganz gut zum lernen, ein Freund meint, wenn man C# (oder Java) beherrscht, kann man einiges ableiten.

Was die C-Sprachen angeht:
Du sagst, du hast bei Java nicht alles bei den Beispielen kapiert. Dann hüte dich, die Sprachen C und C++ an zufassen. Nimm C#. Die Syntax ist der von C++ und Java sehr ähnlich und die Funktionsweise auch, aber C++ ist einfach eine Sprache, bei der man auf absolut alles achten muss. Das bietet zwar auch viele Möglichkeiten, von denen C#-Programmierer nur träumen können (OS-Programmierung zum Beispiel).
C# ist einfach zu lernen, man findet sehr gut Informationen, da C# speziell für das .Net-Framework entwickelt wurde und schon Microsoft deshalb für fast alles schon eine gute Erklärung bietet.
Ob man das Net-Framework aber auf Geräten, wie das berühmte Beispiel, die Kaffeemaschine, installieren und damit C#-Programme nutzen kann, weiß ich nicht. Da ist man mit Java besser dran.


Ich finde allerdings, dass es nicht effektiv ist, erst Java und dann C# zu lernen. Das bisschen, was du in der Schule lernst, kannst du direkt für C# anwenden (natürlich ist etwas Google-Suche schon nötig) aber es ist sehr leicht. Die zwei Sprachen sind sich zwar ähnlich, aber sowas, wie Methoden- und Klassen-Namen ist einfach doch sehr unterschiedlich oder ganz anders strukturiert.
Wenn du mit Java anfängst, bleib bei Java, wenn du mit C# anfängst, bleib da bei.
Wenn du eine Sprache beherrschst, kannst du ja noch Andere lernen, aber dafür sollte man erst mal eine beherrschen um das Prinzip der objektorientierten Programmierung wirklich zu verinnerlichen.

Danach stehen die Türen offen. HTML sollte man aber immer können, weil das für Webdesign ein unumgängliches MUSS ist und mit HTML kommt auch CSS.
PHP ist dabei auch noch ziemlich gut und ist meines Wissens auch objektorientiert, womit HTML nicht punkten kann. Aber was Webdesign angeht, kann ich nicht so viel sagen. Hab es versucht, aber nicht wirklich lange. Habs verstanden, aber kein ordentliches Design hin bekommen.
Zitat:Ob man das Net-Framework aber auf Geräten, wie das berühmte Beispiel, die Kaffeemaschine, installieren und damit C#-Programme nutzen kann, weiß ich nicht. Da ist man mit Java besser dran.
Meines Wissens braucht man für eingebette Systeme/Mikrocontroller aber Assemblersprachen, also Low-Level-, keine High-Level-Sprachen. Das Gleiche gilt übrigens für Konsolen (mit Ausnahme der X-Box, soweit ich weiß, die nimmt auch C++).
Es gibt ein paar handerlesene Systeme mit einem Hardware-Java Chip. Die können also ohne Laufzeitumgebung Java, also z.b. bei Handys war das so/ist es noch so.

Ansonsten nimmt man natürlich C weil das die Systemsprache ist.

Für die Konsolen gibt es ja Frameworks, da nimmt man C++. Entscheidend ist ja der Compiler.
Wenn ich einen Compiler habe, der mir meinen C-Code in die Assembler-Sprache der Ps3 übersetzt, funktioniert auch das.
Systemabhängig wird die Programmiersprache durch die ganzen APIs des Betriebssystem und eingebundenen Klassen und eben Funktionalitäten, die vom Betriebssystem abhängen (z.b. immer, wenn man mit Dateien und Rechteverwaltung rumwerkelt).

Das es funktioniert zeigt ja WINE.

Wirklich in Assembler programmiert man nichts mehr zu 100%. Wenn man z.b. Programme schreibt, die besondere Befehlssätze nutzen, braucht man vielleicht Assembler, aber selbst dafür gibt es schon genügend fertiges Zeug.
Gut, da kann ich nicht wirklich mit reden.

Soweit ich das weiß, ist es bloß mit C++ möglich, auch ohne Betriebssystem ein Programm zum laufen zu bringen. Kann auch sein, dass ich das jetzt damit verwechsle, dass C++ auf jedem OS möglich ist, was bei C# und VB ja schwieriger wird.

Wo liegen denn die Unterschiede zwischen C und C++?
Lohnt es überhaupt, sich groß in C++ einzuarbeiten, wenn man eigentlich in Richtung unabhängige Programmierung will?
Der große Unterschied zwischen C und C++ ist, dass C++ eine (relativ) High-Level-Sprache ist und sich, da auch Objektorientierung möglich ist, auch kompliziertere Programme recht gut und einsichtig programmieren lassen.
C ist hingegen schon eher low-Level und kann Programme annähernd so schnell laufen lassen, als wären sie in Assembler geschrieben (was das eindeutig Schnellste, aber auch das eindeutig Unübersichtlichste wäre). Da aber keine Objektorientierung möglich ist, sind komplexere Programme nur sehr schwer zu realisieren.

Was beide C-Sprachen eint, ist eine sehr gute Effizienzoptimierbarkeit, aber auchdie Wichtigkeit sauber zu programmieren. Wo man in Java einfach eine Variable übergibt, muss man in C/C++ zwischen Variable, Referenz und Pointer unterscheiden, was dafür schnelleren Zugriff erlaubt. Ein weiteres Beispiel ist die Nullpointer-Exception: Wenn in Java ein Programm auf einen nicht existenten Speicherbereich eines Arrays/einer Liste zugreifen möchte, fängt java das ab und schmeißt eine NullPointerException. Derartige Abfragen kosten natürlich Zeit. Diese Zeit wird bei C/C++ gespart, unter dem Risiko, dass man bei unsauberer Programmierung in Bereiche reinschreibt, die einem nicht zugänglich sein dürften. Zwar gibt es Compiler, die das abfangen, aber wenn du da nicht sauber programmierst, kommst du nicht dort an, wo du sein willst.
Also um mit C++ unabhängig und ohne ein Betriebssystem zu programmieren, funktioniert das nur, wenn man mit C eine Art Basis legt?

Und gibt es in Java nicht auch den Unterschied von Werten und Referenzen, oder haben die das dort weg gelassen? Pointer sind in C# zwar auch möglich, aber nur in einem unsafe-Bereich und eigentlich auch nur das sinnvoll, wenn man den Bereich fixiert, weil der Garbage Collector das durch seine ständige Speicher-Optimierung sonst hin und her schiebt und man am Ende etwas bekommt, das man gar nicht wollte.

Aber warum hast du
Zitat:(relativ) High-Level-Sprache
geschrieben?



Aber danke für die kleine Ausführung. C bleibt für mich also noch in weiter Ferne Lachen
C++ lerne ich dann, wenn ich mit Fug und Recht behaupten kann, dass ich C# wirklich beherrsche. ^^ Noch bin ich ja nur Fortgeschrittener mit etwas zu kleinem Wissen über die Klassen vom Net-Framework, was mir gerne mal auf die Füße fällt Lachen
Seiten: 1 2