Java-Grundlagen. Woraus besteht der Kurs „JAVA von Grund auf neu“?

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Java ist nicht nur der Name der Sprache selbst, sondern auch der Plattform zur Erstellung von Unternehmensanwendungen auf Basis dieser Sprache.

Ursprünglich hieß die Programmiersprache Oak (Russisch). Eiche) und wurde von James Gosling für Unterhaltungselektronik entwickelt, später jedoch in Java umbenannt und zum Schreiben von Client-Anwendungen und Servern verwendet Software. Benannt nach der von Programmierern beliebten Java-Kaffeemarke, daher das offizielle Logo Java-Sprache Dargestellt ist eine Tasse dampfenden Kaffee.

Hauptmerkmale der Sprache

Die neueste Version ist Version 1.6, die das Sicherheitssystem verbessert, die Unterstützung für die Skriptsprache Mozilla Rhino verbessert, die Desktop-Integration verbessert und einige neue Funktionen bei der Erstellung grafischer Schnittstellen hinzugefügt hat.

Java und Microsoft

Die folgenden Unternehmen konzentrieren sich hauptsächlich auf Java (J2EE)-Technologien und nicht auf .NET, beschäftigen sich aber auch mit Letzterem: IBM, Oracle. Insbesondere umfasst das Oracle-DBMS die JVM als Komponente, die die Möglichkeit bietet, das DBMS direkt in der Java-Sprache zu programmieren, einschließlich beispielsweise gespeicherter Prozeduren.

Hauptmerkmale

Beispielprogramm

Programm, das „Hello, World!“ ausgibt:

Öffentliche Klasse HelloWorld ( public static void main(String args) ( System .out .println ("Hello, World!" ) ; ) )

Beispiel für die Verwendung von Vorlagen:

Importieren Sie java.util.*; öffentliche Klasse Beispiel ( public static void main(String args) ( // Ein Objekt mithilfe einer Vorlage erstellen. Aufführen strings = neue LinkedList () ; strings.add("Hallo"); strings.add("world"); strings.add("!"); for (String s: strings) ( System .out .print (s) ; System .out .print (" " ) ; ) ) )

Schlüsselideen

Primitive Typen

In Java gibt es nur 8 Skalartypen: boolean, byte, char, short, int, long, float, double.

Wrapper-Klassen primitiver Typen

Längen und Wertebereiche primitiver Typen werden durch den Standard definiert, keine Implementierung und werden in der Tabelle angezeigt. Der char-Typ wurde aus Gründen der einfacheren Lokalisierung in zwei Bytes umgewandelt (eines der ideologischen Prinzipien von Java): Als der Standard entwickelt wurde, existierte Unicode-16 bereits, aber nicht Unicode-32. Da dadurch kein Single-Byte-Typ mehr vorhanden war, wurde ein neuer Typ Byte hinzugefügt. Die Typen float und double können spezielle Werte haben und „keine Zahl“ (

Typ Länge (in Bytes) Bereich oder Satz von Werten
Boolescher Wert nicht definiert wahr falsch
Byte 1 −128..127
verkohlen 2 0..2 16 -1 oder 0..65535
kurz 2 −2 15 ..2 15 -1, oder −32768..32767
int 4 −2 31 ..2 31 -1, oder −2147483648..2147483647
lang 8 −2 63 ..2 63 -1, oder ungefähr −9,2 10 18 ..9,2 10 18
schweben 4 -(2-2 -23) 2 127 ..(2-2 -23) 2 127, oder ungefähr −3,4 10 38 ..3,4 10 38, sowie , , NaN
doppelt 8 -(2-2 -52)·2 1023 ..(2-2 -52)·2 1023 , oder ungefähr −1,8·10 308 ..1,8·10 308 , sowie , , NaN

Eine solch strenge Standardisierung war notwendig, um die Sprache plattformunabhängig zu machen, was eine der ideologischen Anforderungen für Java und einer der Gründe für seinen Erfolg ist. Ein kleines Problem mit der Plattformunabhängigkeit bleibt jedoch bestehen. Einige Prozessoren verwenden 10-Byte-Register, um Ergebnisse zwischenzuspeichern oder auf andere Weise die Genauigkeit von Berechnungen zu verbessern. Um Java zwischen verschiedenen Systemen möglichst kompatibel zu machen, frühere Versionen jegliche Mittel zur Erhöhung der Genauigkeit der Berechnungen waren verboten. Dies führte jedoch zu einem Leistungsabfall. Es stellte sich heraus, dass nur wenige Menschen aus Gründen der Plattformunabhängigkeit eine Verschlechterung der Genauigkeit benötigen, insbesondere wenn sie dafür mit einer Verlangsamung der Programme bezahlen müssen. Nach zahlreichen Protesten wurde dieses Verbot aufgehoben, aber ergänzt Stichwort strictfp, das die Erhöhung der Präzision deaktiviert.

Transformationen für mathematische Operationen

In Java gelten folgende Regeln:

  1. Wenn ein Operand vom Typ Double ist, wird auch der andere in den Typ Double konvertiert.
  2. Andernfalls wird, wenn ein Operand vom Typ Float ist, auch der andere in den Typ Float konvertiert.
  3. Andernfalls wird, wenn ein Operand vom Typ „long“ ist, auch der andere in den Typ „long“ konvertiert.
  4. Andernfalls werden beide Operanden in den Typ int konvertiert.

Die letzte Regel unterscheidet Java von älteren Implementierungen und C++ und macht den Code sicherer. Also zum Beispiel in der Java-Sprache, nach der Ausführung des Codes

Kurz x = 50, y = 1000; int z = x*y;

Der z-Variablen wird der Wert 50000 zugewiesen, und nicht –15536, wie in den meisten hoffnungslos veralteten C- und C++-Implementierungen. In einem Programm, das von MS VC++ ab Version 7 sowie vielen anderen modernen Compilern (gcc, Intel C++, Borland C++, Comeau usw.) kompiliert wurde, beträgt der Wert ebenfalls 50000.

Objektvariablen, Objekte, Referenzen und Zeiger

Java verfügt nur über dynamisch erstellte Objekte. Darüber hinaus sind Objekttypvariablen und Objekte in Java völlig unterschiedliche Einheiten. Objekttypvariablen sind Referenzen, also implizite Zeiger auf dynamisch erstellte Objekte. Dies wird durch die Syntax zur Beschreibung von Variablen hervorgehoben. In Java können Sie also nicht schreiben:

Double a[ 10 ] [ 20 ] ; Foo b(30) ;

Double a = neues Double [ 10 ] [ 20 ] ; Foo b = new Foo(30 ) ;

Beim Zuweisen, Übergeben an Unterprogramme und Vergleichen verhalten sich Objektvariablen wie Zeiger, d. h. Objektadressen werden zugewiesen, kopiert und verglichen. Und wenn über eine Objektvariable auf die Datenfelder oder Methoden eines Objekts zugegriffen wird, sind keine besonderen Dereferenzierungsvorgänge erforderlich – der Zugriff erfolgt so, als ob die Objektvariable das Objekt selbst wäre.

Objektvariablen sind alle Typen außer einfachen numerischen Typen. In Java gibt es keine expliziten Zeiger. Im Gegensatz zu Zeigern in C, C++ und anderen Programmiersprachen sind Referenzen in Java aufgrund strenger Einschränkungen bei ihrer Verwendung äußerst sicher, insbesondere:

  • Sie können ein Objekt vom Typ int oder einem anderen primitiven Typ nicht in einen Zeiger oder eine Referenz konvertieren und umgekehrt.
  • Es ist verboten, ++, −−, +, − oder andere arithmetische Operationen auf Referenzen auszuführen.
  • Die Typkonvertierung zwischen Referenzen ist streng geregelt. Mit Ausnahme von Array-Referenzen ist die Konvertierung von Referenzen zwischen einem geerbten Typ und seinem Nachkommen nur zulässig, und die Konvertierung von einem geerbten Typ in einen geerbten Typ muss explizit angegeben und zur Laufzeit auf Sinn überprüft werden. Konvertierungen von Array-Referenzen sind nur zulässig, wenn Konvertierungen der zugrunde liegenden Typen zulässig sind und keine Dimensionskonflikte vorliegen.
  • In Java gibt es keinen Operator zum Erfassen einer Adresse (&) oder zum Erfassen eines Objekts an einer Adresse (*). Ein Sternchen bedeutet in Java Multiplikation und nichts weiter. Das kaufmännische Und (&) bedeutet einfach „bitweises Und“ (das doppelte kaufmännische Und bedeutet „logisches Und“).

Dank dieser speziell in Java eingeführten Einschränkungen ist eine direkte Manipulation des Speichers auf der Ebene physikalischer Adressen unmöglich (obwohl es Links gibt, die auf nichts verweisen: Der Wert eines solchen Links wird mit Null bezeichnet).

Doppelte Links und Klonen

Da es sich bei Objektvariablen um Referenzvariablen handelt, wird das Objekt bei der Zuweisung nicht kopiert. Also, wenn Sie schreiben

Foo foo, Bar; ... bar = foo;

dann wird die Adresse aus der foo-Variablen in die bar-Variable kopiert. Das heißt, foo und bar verweisen auf denselben Speicherbereich, dh auf dasselbe Objekt. Der Versuch, die Felder eines von foo referenzierten Objekts zu ändern, ändert das von bar referenzierte Objekt und umgekehrt. Wenn Sie nur noch eines benötigen Kopieren Um ein Quellobjekt zu erstellen, verwenden Sie entweder die Methode (Memberfunktion in der C++-Terminologie) clone(), die eine Kopie des Objekts erstellt, oder einen Kopierkonstruktor.

Die clone()-Methode erfordert, dass die Klasse die Cloneable-Schnittstelle implementiert (siehe Schnittstellen unten). Wenn eine Klasse die Cloneable-Schnittstelle implementiert, kopiert clone() standardmäßig alle Felder ( kleines Exemplar). Wenn Sie Felder klonen, anstatt sie (sowie ihre Felder usw.) zu kopieren, müssen Sie die Methode clone() überschreiben. Das Definieren und Verwenden der clone()-Methode ist oft eine nicht triviale Aufgabe.

Müllabfuhr

In der Java-Sprache ist es nicht möglich, ein Objekt explizit aus dem Speicher zu entfernen – stattdessen ist eine Garbage Collection implementiert. Ein traditioneller Trick, der dem Garbage Collector einen „Hinweis“ zum Freigeben von Speicher gibt, besteht darin, einer Variablen den leeren Wert null zuzuweisen. Dies bedeutet jedoch nicht, dass ein durch null ersetztes Objekt unbedingt sofort gelöscht wird. Diese Technik entfernt einfach den Verweis auf das Objekt, d. h. sie löst die Bindung des Zeigers vom Objekt im Speicher. Dabei ist zu berücksichtigen, dass ein Objekt vom Garbage Collector nicht gelöscht wird, solange auf es durch mindestens eine Referenz aus den verwendeten Variablen oder Objekten verwiesen wird. Es gibt auch Methoden zum Erzwingen der Garbage Collection, deren Aufruf durch die Laufzeit kann jedoch nicht garantiert werden und wird für den normalen Gebrauch nicht empfohlen.

Klassen und Funktionen

Java ist keine prozedurale Sprache: Jede Funktion kann nur innerhalb einer Klasse existieren. Dies wird durch die Terminologie der Java-Sprache unterstrichen, in der es kein Konzept für „Funktion“ oder „Mitgliedsfunktion“ gibt. Mitgliedsfunktion), aber nur Methode. Auch aus Standardfunktionen sind Methoden geworden. Beispielsweise gibt es in Java keine sin()-Funktion, aber eine Methode Math.sin() der Math-Klasse (die zusätzlich zu sin() die Methoden cos(), exp(), sqrt( ), abs() und viele andere).

Statische Methoden und Felder

Um zu vermeiden, dass jedes Mal, wenn Sie sin() (und andere ähnliche Funktionen) aufrufen müssen, ein Objekt der Math-Klasse (und anderer ähnlicher Klassen) erstellt werden muss, wurde das Konzept statische Methoden(Englisch) statische Methode; manchmal werden sie auf Russisch statisch genannt). Eine statische Methode (in ihrer Beschreibung mit dem Schlüsselwort static gekennzeichnet) kann aufgerufen werden, ohne ein Objekt ihrer Klasse zu erstellen. Deshalb können Sie schreiben

Double x = Math.sin(1);

Math m = new Math(); double x = m.sin(1);

Die Einschränkung statischer Methoden besteht darin, dass sie nur auf statische Felder und Methoden in diesem Objekt zugreifen können.

Statische Felder haben dieselbe Bedeutung wie in C++: Jedes existiert nur in einer einzigen Kopie.

Endgültigkeit

Das Schlüsselwort final hat bei der Deklaration einer Variablen, Methode oder Klasse unterschiedliche Bedeutungen. Die letzte Variable (benannte Konstante) wird bei der Beschreibung initialisiert und kann nicht weiter geändert werden. Die letzte Methode kann nicht durch Vererbung überschrieben werden. Die letzte Klasse kann überhaupt keine Erben haben.

Abstraktheit

In Java sind Methoden, die nicht explizit als final oder privat deklariert sind, in der C++-Terminologie virtuell: Der Aufruf einer Methode, die in einer Basisklasse und einer Unterklasse unterschiedlich definiert ist, erfordert immer eine Laufzeitprüfung.

Eine abstrakte Methode (abstrakter Deskriptor) in Java ist eine Methode, für die die Parameter und der Rückgabetyp angegeben werden, nicht jedoch der Körper. Eine abstrakte Methode wird in abgeleiteten Klassen definiert. In C++ wird dasselbe als rein virtuelle Funktion bezeichnet. Damit abstrakte Methoden in einer Klasse beschrieben werden können, muss auch die Klasse selbst als abstrakt beschrieben werden. Objekte einer abstrakten Klasse können nicht erstellt werden.

In diesem Artikel werde ich versuchen, die Grundlagen der Programmierung in Delphi möglichst einfach und anschaulich darzustellen.

Java für Dummies. Lektion 1. Hallo Welt!

Zuerst erkläre ich Ihnen, was Java kann. Erstens können Sie in dieser Sprache Applets schreiben – Programme, die in die Webseite der Website eingebettet sind. Es könnte sich zum Beispiel um ein Spiel, ein Business-Grafiksystem und vieles mehr handeln. Zweitens können Sie in Java vollwertige Anwendungen schreiben, die nicht unbedingt einen Bezug zum Web haben. Oder Sie nutzen Servlets – Programme, die im Gegensatz zu Applets nicht auf der Client-Seite, sondern auf der Server-Seite ausgeführt werden.

Beginnen wir mit den Grundlagen. Lasst uns der Tradition Tribut zollen und schreiben das einfachste Programm, wodurch eine Begrüßung angezeigt wird Hallo Welt. Wenn Sie kein Java haben, dann kann es von der offiziellen Website http://www.java.com/ru heruntergeladen werden. Dann installieren Sie es.

Wenn Java Sie installiert haben, geben Sie dann den folgenden Text in einen Editor ein:

{

Public static void Main ( String-Argumente ) {

System . aus . drucken ( "Hallo Welt!" );

}

}

Und speichern Sie es unbedingt unter dem Namen Hallo Welt. Java- Der Name der ausführbaren Klasse muss mit dem Dateinamen übereinstimmen. Zum Kompilieren verwenden Sie das Programm javac.exe im Standardpaket enthalten Java. So könnte eine Kompilierungs-Batchdatei aussehen diese Java-Datei:

„c:\Programme\Java\jdk1.7.0\bin\javac“ HellowWorld.java

Pause

Wenn beim Kompilieren keine Fehler aufgetreten sind:


Dann war die Kompilierung höchstwahrscheinlich in Ihrem Verzeichnis erfolgreich, in dem sich HellowWorld befand. Java HellowWorld ist ebenfalls erschienen.Klasse:

Lassen Sie uns nun eine weitere Batchdatei ausführen, die den Java-Interpreter zusammen mit unserer kompilierten Datei aufruft:

„c:\Programme\Java\jdk1.7.0\bin\java“ HellowWorld

Pause

Wenn alles richtig gemacht wurde, sollten Sie dieses Ergebnis erhalten:


Wenn Sie es erhalten haben, kann ich Ihnen gratulieren – Sie haben Ihr erstes Programm in Java geschrieben. In Zukunft werden wir lernen, wie man Java-Applets schreibt und vieles mehr. Und nun noch ein paar Worte zum Programm selbst. Wie Sie bemerkt haben, beginnt es mit dem Wort „Öffentlichkeit“. Dies ist ein Modifikator, der bedeutet, dass wir etwas öffentlich verfügbar deklarieren: eine Klasse, eine Klassenmethode oder eine Variable. Es gibt weitere Modifikatoren, zum Beispiel: privat, geschützt, freundlich, endgültig, abstrakt, statisch. Einige davon sind miteinander kombinierbar. Privat bedeutet beispielsweise, dass die Variable, die wir deklarieren möchten, für andere Klassen privat ist. Aber zum Modifikator kommen wir später. Schauen wir uns nun das nächste Schlüsselwort an, Klasse. Das bedeutet, dass wir eine Klasse deklarieren. In Java basiert alles auf Klassen. Eine der Klassen ist notwendigerweise die Basisklasse. Und die Basisklasse muss öffentlich sein. In diesem Beispiel ist es die HelloWord-Klasse. Im Moment ist er der Einzige, den wir haben.

Jetzt versuche ich es zu erklären in einfachen Worten, Was ist es Klasse und was ist ein Objekt.

Erinnern wir uns an den Schulzoologiekurs. Wie wird die lebende Welt klassifiziert? Zunächst wird der Begriff „Königreich“ eingeführt.

1. Reich der Einzeller,

2. Pflanzenreich

3. Tierreich.

Nehmen wir Tiere. Sie können nach Typ unterteilt werden. Zum Beispiel:

1. Geben Sie Hohltiere ein.

2. Art der Plattwürmer.

3. Art von Schalentieren.

4. Phylum chordata.

Letztere werden in Säugetiere, Reptilien, Amphibien, Vögel usw. unterteilt. Sie können noch weiter in die Klassifizierung einsteigen, aber das machen wir jetzt nicht, sondern gehen direkt zur Programmierung über.

In der Java-Sprache können Sie, ähnlich wie bei der Klassifizierung der lebenden Welt, Objekte (Programmteile und Daten) klassifizieren. Dafür gibt es Klassen.

Halt halt! - Sie sagen, - warum diese Objekte klassifizieren?

Stellen Sie sich vor, Sie erschaffen wie ein Demiurg (Schöpfer, Gott) Leben auf der Erde. Zuerst haben Sie die einfachsten organischen Verbindungen entwickelt. Also, aus Versuchsgründen, was wird passieren? Dann kombinierten sie sie zu komplexen Molekülen, aus denen sie wie Ziegelsteine ​​die einfachsten Mikroorganismen zusammenbauten. Aber Ihr ultimatives Ziel ist die Schaffung intelligenten Lebens. Deshalb haben Sie hier nicht aufgehört, sondern vielzellige Organismen geschaffen. Dann begannen sie, sie zu verbessern und weiterzuentwickeln. Einige Arten erwiesen sich als lebensfähig, andere starben aus (Dinosaurier). Und endlich war das Ziel erreicht – Homo Sapiens – Homo sapiens – erschien.

Kommen wir nun auf die Erde zurück und stellen wir uns Programmierung als eine Schöpfung vor, bei der Sie Ihr Programm dazu zwingen, sich bis zu einem bestimmten Zustand zu entwickeln, in dem es verwendet werden kann, und es dann weiterzuführen und die Funktionalität schrittweise zu erhöhen und zu verbessern.

Stellen wir uns nun vor, dass es ein Atom gibt einfachste Befehl Programme oder eine Informationseinheit (die, wie Sie sehen, nicht voneinander trennbar sind, weil das Programm mit etwas arbeitet – das ist richtig, mit Informationen).

Dann ist das Molekül ein Unterprogramm. Oder ein Objekt.

Also haben wir in unserem Programm eine Reihe von Objekten erstellt. Wir müssen sie irgendwie klassifizieren, um nicht durcheinander zu kommen. Dafür stellt Java Klassen bereit. Mit ihnen beschreiben wir eine Klasse von Objekten (ein allgemeines Konzept, zum Beispiel Vögel) und können dann mit der beschriebenen Klasse ein Objekt erstellen – eine Instanz dieser Klasse. Das heißt, die Klasse ist das Wort Birds selbst und das Objekt ist ein bestimmter Vogel, wenn wir unsere Analogie fortsetzen.

Außerdem sind es Vögel verschiedene Typen. Aber sie alle haben einige gemeinsame Merkmale, die aus dem Konzept der „Vögel“ stammen. Ebenso können Sie in Java aus einer Klasse eine andere Klasse erstellen, die deren Eigenschaften und Methoden (Features) erbt. Das heißt Nachlass.

Verschiedene Vögel haben unterschiedliche Federfarben, Schnabel- und Flügelformen. Ebenso können bei Klassen beim Anlegen einer neuen Klasse geerbte Eigenschaften geändert werden. Das heißt Polymorphismus.

Also haben wir die Grundkonzepte von Java herausgefunden. Gehen wir nun das Programm durch.

So deklarieren wir eine Klasse:

öffentliche Klasse HelloWorld {

In diesem Fall gibt es in unserem Programm nur eine Klasse, und dies ist die Basisklasse, also die Klasse, die für den Start des Programms verantwortlich ist. Deshalb muss sein Name mit dem Namen der Datei übereinstimmen, damit der Interpreter „weiß“, wo er mit der Ausführung des Programms beginnen muss.

Die Basisklasse (HelloWorld) hat eine Basismethode: main. Wir haben es als öffentlich und statisch deklariert. Das erste gibt an, dass die Methode öffentlich ist. Wäre dies nicht der Fall, würde unser Programm einfach nicht starten. Es gibt auch Methoden, die nicht öffentlich verfügbar sind, aber wir werden in den nächsten Lektionen darüber sprechen. Denken Sie zunächst daran, dass die Basismethode (die gestartet wird, wenn wir das Programm starten) öffentlich sein muss. Und sein Name sollte main sein, damit der Interpreter weiß, wo er mit der Ausführung des Programms beginnen soll.

Was ist nun statisch? Dies ist ein Modifikator, der angibt, dass die Methode statisch ist. Das heißt, es funktioniert auch dann, wenn keine Instanz der Klasse (des Objekts) erstellt wird. Im Allgemeinen sind Felder und Methoden mit dem statischen Modifikator allen Objekten der Klasse gemeinsam. Wir werden später auch darüber sprechen.

Jede Methode kann einen Rückgabewert haben oder auch nicht. Wenn ja, dann ist es eine Funktion. Der Rückgabewerttyp ist auch in der Methodendeklaration enthalten. Wenn nicht, setzen Sie es auf „void“ (wie in unserem Beispiel).

Der Zugriff auf die Felder und Methoden eines Objekts erfolgt über einen Punkt. Es gibt auch eingebaute Objekte, zum Beispiel System, die wir in unserem Beispiel verwenden:

System . aus . drucken ( "Hallo Welt!" );

In diesem Fall greifen wir auf das Out-Feld zu, das ebenfalls ein Objekt zur Datenausgabe ist, und rufen dessen Print-Methode auf, die Text auf dem Bildschirm anzeigt (wie der PRINT-Befehl im guten alten BASIC).

(C) Shuravin Alexander

Java (d. h. Java) ist eine Insel in Indonesien, eine Kaffeesorte und eine Programmiersprache. Drei komplett unterschiedliche Bedeutungen, und sie sind alle auf ihre Art wichtig. Für die meisten Programmierer ist jedoch die Programmiersprache Java von Interesse. In den letzten Jahren (seit Ende 1995) konnte Java die Entwicklergemeinde erobern. Sein phänomenaler Erfolg hat Java zur am schnellsten wachsenden Programmiersprache der Geschichte gemacht. Es gab einen ziemlichen Hype um die Sprache und ihre Fähigkeiten. Und viele Programmierer sowie Endbenutzer verstehen nicht vollständig, was die Java-Sprache ist und welche Funktionen sie bietet.

Java ist eine revolutionäre Programmiersprache

Die Eigenschaften, die Java so attraktiv machen, finden sich auch in anderen Programmiersprachen wieder. Viele Sprachen sind für bestimmte Arten von Anwendungen ideal. Sogar mehr als Java. Aber Java vereinte all diese Eigenschaften in einer Sprache. Dies ist ein revolutionärer Fortschritt für die Softwareentwicklungsbranche.

Schauen wir uns einige Eigenschaften dieser Sprache genauer an:

  • objektorientierte
  • Portabilität
  • Multithreading-Unterstützung
  • automatische Müllabfuhr
  • Zuverlässigkeit
  • Unterstützung für die Arbeit mit dem Netzwerk und dem Internet
  • Einfachheit und Benutzerfreundlichkeit

Objektorientierung

Viele Sprachen, die vor Java entstanden, wie C und Pascal, waren verfahrenstechnisch Sprachen. Prozeduren (oder Funktionen) sind Codeblöcke, die Teil eines Moduls oder einer Anwendung waren. Den Prozeduren wurden Parameter (primitive Datentypen: Ganzzahlen, Zeichen, Zeichenfolgen und Gleitkommazahlen) übergeben. Der Code wurde getrennt von den Daten verarbeitet. Sie mussten Datenstrukturen übergeben, und Prozeduren konnten ihren Inhalt leicht ändern. Dies verursachte viele Probleme, da die Verwendung einiger Programmteile in anderen Programmteilen zu unvorhersehbaren Ergebnissen führen konnte. Es hat viel Zeit und Mühe gekostet, das fehlerhafte Verfahren zu finden. Vor allem, wenn es um große Programme ging.

Einige der prozeduralen Sprachen ermöglichten es sogar, die Adresse von Daten im Speicher zu ermitteln. Bei Kenntnis dieser Adresse war es nach einiger Zeit möglich, Daten zu lesen oder hinzuzufügen oder versehentlich neue Informationen über die alte zu schreiben.

Java ist objektorientierte Sprache. Eine objektorientierte Sprache funktioniert mit Objekte. Objekte enthalten Daten (Felder) und Code (Methoden). Jedes Objekt gehört zu einem bestimmten Objekt Klasse, eine „Blaupause“, die die Felder und Methoden beschreibt, die ein Objekt bietet. In Java ist fast jede Variable ein Objekt irgendeiner Art – sogar ein String. Objektorientierte Programmierung erfordert eine andere Denkweise, ist jedoch eine bessere Art der Softwareentwicklung als prozedurale Programmierung.

Heutzutage gibt es viele beliebte objektorientierte Sprachen. Einige von ihnen waren ursprünglich objektorientiert konzipiert, beispielsweise Java und Smalltalk. Andere, wie etwa C++, sind teilweise objektorientiert und teilweise prozedural. In C++ können Sie immer noch den Inhalt von Datenstrukturen und Objekten überschreiben, was zum Absturz der Anwendung führen kann. Glücklicherweise verhindert Java den direkten Zugriff auf Speicherinhalte und sorgt so für ein zuverlässigeres System.

Portabilität

Die meisten Programmiersprachen sind für ein bestimmtes Betriebssystem und einen bestimmten Prozessor konzipiert. Beim Kompilieren Quelle(Anweisungen, aus denen das Programm erstellt wird) wird zu Maschinensprache, die nur auf Geräten eines bestimmten Typs ausgeführt werden kann. Dieser Prozess erzeugt „internen Code“, der unglaublich schnell läuft.

Es gibt andere Arten von Sprachen – interpretierbar. Der interpretierte Code wird gelesen Computerprogramm(Interpreter), der die angegebenen Aktionen ausführt. Interpretierter Code muss in den meisten Fällen nicht kompiliert werden, sondern wird bei der Ausführung übersetzt. Aus diesem Grund läuft interpretierter Code recht langsam, ermöglicht aber die Portierung von Programmen zwischen verschiedenen Betriebssystemen und Prozessoren mit unterschiedlichen Architekturen.

Java nutzt das Beste aus beiden Technologien. Java-Code wird in plattformunabhängigen Maschinencode namens kompiliert Java-Bytecode. Spezialdolmetscher Virtuelle Maschine Java oder „Java Virtual Machine (JVM)“ liest und verarbeitet Bytecode. In Abb. Abbildung 1 zeigt ein Diagramm einer kleinen Java-Anwendung. Der mit einem Pfeil markierte Bytecode wird in Textform dargestellt, beim Kompilieren jedoch aus Platzgründen als Bytes dargestellt.



Reis. 1 – Parsen des Bytecodes für „HelloWorld“

Der Ansatz von Java bietet mehrere wesentliche Vorteile gegenüber interpretierten Sprachen. Erstens ist der Quellcode vor Einsicht und Änderung geschützt – nur der Bytecode steht Benutzern zur Verfügung. Zweitens können Sicherheitsmechanismen den Bytecode auf Anzeichen von Veränderung oder Vorhandensein scannen Schadcode, ergänzt andere Java-Sicherheitsmechanismen. Das Wichtigste ist jedoch, dass Java-Code nur einmal kompiliert werden kann und dann auf jedem Gerät oder Betriebssystem ausgeführt werden kann, das die Java Virtual Machine (JVM) unterstützt. Java-Code kann auf Unix-, Windows-, Macintosh- und sogar Palm Pilot-Systemen ausgeführt werden. Java kann sogar in einem Webbrowser oder auf einem Webserver ausgeführt werden. Dank der Portabilität können Sie eine Anwendung nur einmal schreiben und sie dann auf mehreren Anwendungen ausführen verschiedene Geräte. Das spart viel Zeit und Geld.

Multithreading

Wenn Sie jemals komplexe Anwendungen in C oder PERL geschrieben haben, sind Sie wahrscheinlich schon auf das Konzept mehrerer Prozesse gestoßen. Eine Anwendung kann sich in separate Kopien aufteilen, die parallel ausgeführt werden. Bei jeder Kopie werden Code und Daten dupliziert, was zu einem erhöhten Speicherverbrauch führt. Es ist ziemlich schwierig, diese Kopien zur Interaktion zu bringen. Die Erstellung jedes Prozesses erfordert Zugriff auf das Betriebssystem, was wiederum CPU-Zeit verschwendet.

Viel die beste Methode ist die Verwendung mehrerer ausführbarer Threads, einfach genannt Ströme. Threads können Daten und Code gemeinsam nutzen, was die Übertragung von Daten zwischen Thread-Instanzen erleichtert. Sie verbrauchen außerdem weniger Speicher- und CPU-Ressourcen. Einige Sprachen wie C++ unterstützen Threads, sind jedoch sehr schwierig zu implementieren. Java verfügt über integrierte Unterstützung für Multithreading. Threads erfordern eine etwas andere Denkweise, sind aber sehr leicht zu verstehen. Die Java-Unterstützung für Threads ist sehr einfach zu verwenden und sie werden häufig in Anwendungen und Applets verwendet.

Automatische Müllsammlung

Nein, wir reden hier nicht davon, den Müll aus dem Haus zu bringen (obwohl es schön wäre, einen Computer zu haben, der diese Art von Aufgabe bewältigen könnte). Unter dem Begriff „Garbage Collection“ versteht man die Entsorgung ungenutzter Speicherbereiche. Wenn Anwendungen Objekte erstellen, weist die JVM Speicherbereiche für deren Speicherung zu. Wird das Objekt nicht mehr benötigt (es liegen keine Referenzen darauf vor), kann dieser Speicherbereich später wieder genutzt werden.

Sprachen wie C++ erfordern von Programmierern die manuelle Zuweisung und Freigabe von Speicher für Daten und Objekte. Dies verkompliziert das Programm und führt zu einem weiteren Problem: Speicherlecks. Wenn Programmierer vergessen, den Speicher zu löschen, verringert sich die Menge des verfügbaren freien Speichers. Programme, die häufig Objekte erstellen und zerstören, können schließlich den gesamten verfügbaren Speicher belegen. IN Java-Programmierer Sie müssen sich über solche Dinge keine Sorgen machen, da die JVM eine automatische Speicherbereinigung für Objekte durchführt.

Zuverlässigkeit

Sicherheit spielt in Java eine sehr wichtige Rolle. Weil das Java-Applets Beim Remote-Download und der Ausführung im Browser wird viel Wert auf die Sicherheit gelegt. Wir möchten nicht, dass Applets Zugriff auf unsere persönlichen Dokumente erhalten, unsere Dateien löschen oder Schaden anrichten. Für den Zugriff von Applets auf Dateien und das Netzwerk gelten auf API-Ebene strenge Sicherheitsbeschränkungen. Darüber hinaus wird die Überprüfung der Integrität des heruntergeladenen Codes unterstützt digitale Signaturen. Auf Bytecode-Ebene werden offensichtliche Hacks wie Stack-Manipulation oder ungültiger Bytecode überprüft. Die leistungsstarken Sicherheitsmechanismen von Java tragen zum Schutz vor unbeabsichtigten oder absichtlichen Sicherheitsverletzungen bei. Es ist jedoch wichtig, sich daran zu erinnern, dass kein System perfekt ist. Das schwächste Glied in dieser Kette ist die Java Virtual Machine, in der alles läuft – die JVM kann anfällig für Angriffe sein, weil sie es weiß schwache Seiten. Es ist erwähnenswert, dass in der JVM zwar mehrere Schwachstellen gefunden wurden, dies jedoch sehr selten vorkommt und in der Regel schnell behoben wird.

Unterstützung für die Arbeit mit dem Netzwerk und dem Internet

Java wurde mit Blick auf das Internet und zur Unterstützung der Netzwerkprogrammierung entwickelt. Die Java-API bietet umfangreiche Unterstützung Netzwerkfunktionen, von Sockets und IP-Adressen bis hin zu URLs und HTTP. Es gibt nichts einfacheres, als eine Netzwerkanwendung in Java zu schreiben. In diesem Fall kann der resultierende Code auf jede beliebige Plattform übertragen werden. In Sprachen wie C/C++ muss der Netzwerkcode für jedes Betriebssystem neu geschrieben werden und weist normalerweise eine komplexere Struktur auf. Die Netzwerkunterstützung von Java spart viel Zeit und Mühe.

Java unterstützt auch exotischere Arten der Netzwerkprogrammierung, wie etwa Remote Method Invocation (RMI), Common Object Request Processor Architecture (CORBA) und Jini Distributed Systems Architecture. Diese verteilten Systemtechnologien machen Java zu einer attraktiven Sprache für Großprojekte.

Einfachheit und Benutzerfreundlichkeit

Die Java-Sprache hat ihre Wurzeln in der C++-Sprache. C++ ist sehr beliebt und weit verbreitet. Dennoch gilt sie als komplexe Sprache mit Funktionen wie Mehrfachvererbung, Vorlagen und Zeigern, die kontraproduktiv sind. Java wiederum ist eher eine „rein“ objektorientierte Sprache. Es erfolgt kein Zugriff auf Speicherzeiger, sondern auf Objektreferenzen. Die Unterstützung für Mehrfachvererbung wurde ebenfalls entfernt. Dies ermöglichte eine verständlichere und verständlichere Darstellung einfache Schaltungen Klassen. Die I/O- und Netzwerkbibliotheken sind sehr einfach zu verwenden. Die Java API stellt Entwicklern eine große Menge zeitsparenden Codes (Netzwerkfunktionen und Datenstrukturen) zur Verfügung. Nachdem sie eine Weile mit Java gearbeitet haben, zögern die meisten Entwickler aufgrund der Einfachheit und Eleganz von Java, zu anderen Sprachen zurückzukehren.

Abschluss

Java bietet Entwicklern viele Vorteile. Obwohl viele davon in anderen Sprachen existieren, vereint Java sie. Das schnelle Wachstum von Java war wirklich phänomenal und es gibt immer noch keine Anzeichen einer Verlangsamung. Im nächsten Artikel werden wir über das Herzstück von Java sprechen – die Java Virtual Machine.


Hallo lieber Leser. Ich wollte schon lange einen Artikel wie diesen schreiben, aber entweder hatte ich nicht genug Zeit oder heimtückische Faulheit störte mich. Aber wie dem auch sei, ich habe es trotzdem geschafft, meine Gedanken zu sammeln und etwas zu schreiben, das Ihnen hoffentlich von Nutzen sein wird. Gerne gebe ich mein Wissen und meine Erfahrung weiter, im Gegenzug erhalten Sie Zeit und Aufmerksamkeit. Meiner Meinung nach ist diese Veröffentlichung gut für diejenigen geeignet, die bereit sind, über ihre Interessen zu entscheiden und ihr Leben auf die eine oder andere Weise mit der IT verbinden möchten. So lass uns gehen!

Auswahl einer Programmiersprache

Die Veröffentlichung ähnelt vielen ähnlichen Materialien. Nach dem Gesetz des Genres muss ich die Namen einiger drei Programmiersprachen aufschreiben, einige Vor- und Nachteile nennen und am Ende, ohne die Frage zu beantworten, mit dem nächsten Teil fortfahren. Teilweise ist daran etwas Wahres dran, denn jeder wählt die Sprache, die ihm am nächsten kommt, basierend darauf, welche Art von Produkten er in Zukunft entwickeln möchte. Die meisten von Ihnen haben in der Schule Turbo Pascal gelernt, und es wird Ihnen kaum etwas Neues sein, dass mittlerweile fast nichts mehr in dieser Sprache geschrieben wird. In diesem Fall müssen Sie die Sprache also mit Bedacht wählen, obwohl Sie nie genug Wissen haben können. Wenn Sie jedoch in kurzer Zeit effektiv in die Reihen der Programmierer aufsteigen möchten, müssen Sie die Wahl der Sprache mit Bedacht angehen. Denken Sie gleich zu Beginn daran: Ein guter Programmierer wird niemals hungern und in den meisten Fällen in der Lage sein, sich eine Menge Kaviar zu kaufen(Diese Definition ist für jedes Fachgebiet geeignet, aber kein Fachgebiet gibt Ihnen eine solche Freiheit bei der Wahl Ihres Arbeitsorts, sowohl in Bezug auf Unternehmen als auch auf Länder – er ist Programmierer und Programmierer in Indien).

Es ist logisch, dass je beliebter und gefragter eine Sprache ist, desto größer sind die Chancen, in Zukunft einen Job zu finden, und die Sprache sollte leicht zu erlernen sein. Denn obwohl viele Spiele in C++ geschrieben sind und gutes Geld dafür bekommen, ist es für einen Anfänger, insbesondere für einen, der mit OOP (objektorientierter Programmierung) nicht vertraut ist, besser, diese Sprache für eine Weile beiseite zu legen. Der folgende Link bietet eine Liste der beliebtesten Programmiersprachen des Jahres 2014. Wie Sie sehen, steht Java an erster Stelle, gefolgt von C-Sprachen, dann Phyton, JavaScript, PHP, Ruby usw. Wenn Sie selbst nach ähnlichen Statistiken suchen, werden Sie feststellen, dass die Plätze in verschiedenen Quellen unterschiedlich besetzt sind, aber im Allgemeinen sind die ersten 10 Plätze inhaltlich überall gleich.

Wenn Sie sich einem anderen Beispiel zuwenden, das auf einer Analyse der auf Twitter veröffentlichten Stellenangebote basiert, sehen Sie beim ersten Beispiel eine sehr ähnliche Situation. Und ja, beide Artikel sind auf Englisch, gewöhnen Sie sich daran. Wenn Sie Programmierer werden möchten, denken Sie daran, dass fast alle Dokumentationen und Quellen vorhanden sind nützliche Informationen sind auf Englisch verfasst. Wenn Ihre Kenntnisse dieser Sprache also schwach sind, sollten Sie das Erlernen und Üben der englischen Sprache zu Ihrer To-Do-Liste für morgen und die nahe Zukunft hinzufügen. Ich denke, ich werde sogar einen separaten Artikel schreiben, der dem Erlernen einer Fremdsprache gewidmet ist.

Anhand dieser beiden Quellen können wir uns bereits vorstellen, welche Programmiersprachen derzeit „in Mode“ sind. Wie der Titel vermuten lässt, hat sich der Autor des Artikels für Java entschieden. Obwohl ich denke, dass es das Beste zum Erlernen von OOP ist, gibt es viele Leute, die mir nicht zustimmen werden, und das ist logisch – genauso viele Leute, so viele Meinungen. Hier stehen wir an einem kleinen Scheideweg: Wählen Sie Java, C# (sehr ähnlich zu Java), Phyton, wenn wir mit den Füllungen von Programmen und Anwendungen (Back-End) arbeiten wollen, oder PHP, JavaScript, HTML, wenn wir das wollen Webentwicklung (Frontend). Im ersten Fall würde ich Java wählen und im zweiten Fall PHP, obwohl es wiederum eher Ihrem Geschmack entspricht, Sie müssen selbst nach Informationen zu verschiedenen Sprachen suchen und im Allgemeinen verstehen, was Sie tun möchten. Zum Nachdenken finden Sie hier eine Auswahl an Sprachen, die in den größten Internetunternehmen der Welt verwendet werden.

Es gibt zwei Hauptgründe, warum ich mich für Java oder PHP entscheiden würde. Das erste ist, dass diese Sprachen sehr beliebt sind und es nicht schwierig sein wird, den passenden Job zu finden, und das zweite ist, dass Sie in keiner anderen Sprache so viel Schulungsmaterial finden wie in diesen beiden, sowohl auf Russisch als auch auf Englisch .


Ausbildung

Wir sind also an einem Punkt angelangt, den die meisten Menschen ohne Probleme erreichen, aber dieser Zeitraum ist zu Recht einer der schwierigsten in der Karriere eines Programmierers. Obwohl ein Programmierer im Laufe seines Lebens lernt, bestimmt der Zeitpunkt, zu dem er seine ersten Schritte unternimmt, weitgehend sein zukünftiges Schicksal. Im Allgemeinen testet das Training die Stärke eines Menschen, ob er es aushält, ob er nicht nach einem Monat das Interesse verliert (wie es bei manchen der Fall ist) und ob er in der Lage sein wird, das Ende zu erreichen und zu meistern Grundwissen, auf dem dann ganze Informationsschichten geschichtet werden.

Im Allgemeinen habe ich meine eigene Theorie, die ich in der Praxis mehr als einmal bestätigt habe: Absolut alles kann in einem Jahr gelernt werden.. Glauben Sie mir, das ist die absolute Wahrheit, manche brauchen vielleicht sogar weniger Zeit, aber wenn jemand nicht aufhört aufzugeben und das ganze Jahr über mit Bedacht an das Lernen herangeht, dann ist es fast unmöglich, dass er nicht lernt. Das gilt nicht nur für das Programmieren, in absolut jedem Bereich: Wenn du Gitarre spielen willst – kein Problem (ich habe nicht so viel Zeit und Mühe gekostet), argentinischen Tango lernen, surfen – das alles reicht für ein Jahr. Hauptsache lernen!

In diesem Fall werde ich die Java-Sprache in Betracht ziehen, da sie mir noch näher liegt. Glücklicherweise gibt es im Internet viele Menschen, die anderen beim kostenlosen Lernen helfen, sodass es nicht schwierig sein wird, für Sie geeignetes Material zu finden. , das Sie mit Stift und Papier in den Wänden Ihrer gemütlichen Wohnung betrachten können (vorerst nur auf Russisch). Für diejenigen, die es gewohnt sind, den Stoff, den sie lesen, zu lesen, bietet das Internet wiederum großartige Möglichkeiten und dies ist nur eine von allen Arten von Websites mit Java-Lektionen. Theorien gibt es mehr als genug, aber zu einer Schulungsseite wie Coursera.org kann ich nichts sagen, wo man Schulungen in verschiedenen Sprachen und in verschiedenen Bereichen, einschließlich Programmierung, findet – auch hier ist alles absolut kostenlos. Es gibt nicht eine oder zwei solcher Seiten, man muss nur suchen.

Doch egal wie aussagekräftig die Theorie ist: Programmieren ist ohne Praxis unverzichtbar. Aber auch hier ist die Hälfte der Arbeit bereits für uns erledigt und wir müssen nicht nach verschiedenen Aufgaben suchen, um unsere Fähigkeiten zu verbessern; ein Dienst wie JavaRush wird dabei sehr helfen. Im Allgemeinen bietet diese Seite sowohl Theorie als auch Praxis, angefangen beim einfachen Duplizieren von Code vom Bildschirm bis hin zu komplexen Aufgaben, und in den Pausen bietet sie sogar die Möglichkeit, sich zu entspannen und die bekannte Zeichentrickserie anzusehen. Wer Level 20 im Service erreicht hat, verfügt den Autoren zufolge über ausreichende Kenntnisse, um bereits einen Job in einem IT-Unternehmen zu bekommen. .

Hilfe beim Üben

Wie bereits erwähnt, ist Übung ein wesentlicher Bestandteil jedes Lernens, insbesondere im Programmieren. Hier müssen Sie kodieren und kodieren, bis hin zum Muskelgedächtnis Ihrer Finger. Das ist natürlich etwas übertrieben, aber zunächst muss man wirklich viel in die Tasten hauen, um sich die Bedeutung verschiedener Strukturen zu merken, damit man sie in Zukunft fast automatisch verwenden kann.

Viele unerfahrene Programmierer haben zunächst viele Fragen, insbesondere wenn sie eine eigenständige Aufgabe erledigen müssen. Es ist in Ordnung. Aber in solchen Situationen müssen Sie verstehen, dass fast jede Frage, die Sie haben, im Internet beantwortet werden kann. Es ist unwahrscheinlich, dass Sie die erste Person sind, die darauf stößt, also beeilen Sie sich nicht, sofort Fragen in verschiedenen Programmierforen zu stellen (über die ich etwas später schreiben werde). Setzen Sie sich eine Minute hin, formulieren Sie das Problem in Ihrem Kopf richtig und suchen Sie es ruhig in einer Suchmaschine. Sicherlich werden die meisten auf Russisch suchen, aber vergessen Sie nicht, dass die Sprache der Programmierer Englisch ist. Wenn Sie also die Antwort nicht in den Großen und Mächtigen gefunden haben, lohnt es sich, in einer Sprache zu suchen, die anscheinend jeder in der Schule gelernt hat. aber nie gelernt. Aber selbst wenn sich in diesem Fall herausstellt, dass es nirgendwo eine Antwort auf Ihre Frage gibt, ziehen die besten Internetforen ins Rennen:
Dokumentation der Sprache, in der sie schreiben. Es beschreibt, wie bestimmte Klassen und Schnittstellen funktionieren; manchmal ist die Dokumentation die einzige Quelle, die bei der Lösung von Problemen helfen kann, weil dies nur der Fall ist Erstphase Jeder hat ähnliche Fragen und man kann sie problemlos finden fertige Lösungen, aber je weiter man in die Wildnis vordringt, desto schwieriger wird es, Antworten zu finden, also muss man sich auf seinen, wie ich hoffe, ohnehin schon klugen Kopf verlassen.

Kompilieren des Codes

Ich habe schon ziemlich viel geschrieben, natürlich ist es schwierig, ein so großes Thema in einem Artikel abzudecken, aber ich denke, die ersten Schritte sind bereits getan und sie sollten die entsprechenden Gedanken in Ihnen hervorrufen. Ich denke, dies ist nur der erste Artikel in der Reihe „Wie werde ich Programmierer“ und dementsprechend „Warum?“, wenn Sie an einem Scheideweg stehen und noch nicht wissen, welchen Weg Sie wählen sollen. Das nächste Mal werde ich auf materiell interessantere Dinge eingehen, denn es ist kein Geheimnis, dass Programmierer keine armen Leute sind, und wir werden sehen, wo und wie viel sie das nächste Mal bezahlt werden.

Abschließend wünsche ich allen, die wirklich Programmierer werden wollen, dass sie den Stier bei den Hörnern packen, ihren ganzen Willen zur Faust bündeln und tun, was sie wollen. Es wurde schon tausende Male gesagt, aber ich wiederhole: Das Wichtigste sind Verlangen und Arbeit. Dann wird alles für Sie klappen. Denken Sie an das Wichtigste: das Erlernen von Programmiersprachen und verschiedenen Technologien nicht als Ziel, sondern als MITTEL wahrnehmen. Stellen Sie sich vor, welche Möglichkeiten sich Ihnen eröffnen. Vielleicht werden Sie einer von denen, die die Welt in Echtzeit verändern. Also viel Glück und vielen Dank für Ihre Aufmerksamkeit!

Videobonus

Tags: Tags hinzufügen

Vom Autor: Diese Programmiersprache treibt etwa 3 Milliarden Smartphones, 125 Millionen Fernseher und jeden einzelnen Blu-Ray-Player auf der Welt an. Diese Sprache gewinnt regelmäßig Preise bei Softwareentwicklerbewertungen und ist bei den größten IT-Unternehmen am beliebtesten. Es ist ein technisches Phänomen und funktioniert auf absolut jedem Gerät, was seinem „Write Once, Run Anywhere“-Prinzip (WORA – „Write Once, Run Anywhere“) entspricht. Wer hat es erraten? Heben Sie Ihre Hände! Natürlich ist dies die Java-Sprache. Und heute werde ich Ihnen alle meine Karten offenbaren und Ihnen die ganze Wahrheit darüber erzählen, wie Sie von Grund auf ein Java-Programmierer werden! Mach es dir bequem!

Ein paar Fakten über Java

Um Sie nicht mit langen theoretischen Predigten zu langweilen, habe ich einige Informationen über Java in einer Liste zusammengefasst, nach deren Lektüre Sie einen Einblick darüber erhalten, um welche Art von Sprache es sich handelt und welche Rolle sie spielt Tierwelt Programmierung:

Java ist eine „moderne“ und plattformübergreifende Programmiersprache. Es funktioniert auf jedem Gerät mit jedem Betriebssystem. Alle Google- und Android-Anwendungen sind darauf geschrieben. Für keine andere Sprache werden Sie so viele Informationen und Schulungsmaterialien finden.

Das offizielle Erscheinungsdatum der Sprache ist der 23. Mai 1995. Ursprünglich war sie als interaktive Sprache gedacht Kabelfernsehen, aber „es hat nicht geklappt.“ Der Erfinder von Java ist Sun Microsystems, das 2010 von Oracle übernommen wurde;

Viele Leute verwechseln Java und JavaScript. Wenn Sie etwas tun möchten (Websites, Webanwendungen), dann wählen Sie die zweite Option. Java ist ein Back-End, d. h. die Entwicklung von Anwendungsfüllungen;

Moderne Webentwicklungstechnologien

AngularJS, Webpack, NodeJS, ReactJS, TypeScript, Gulp, Git, Github...
Erfahren Sie alles über moderne Technologien in der Webentwicklung

ist eine objektorientierte Programmiersprache, deren Code von einem speziellen ausgeführt wird virtuelle Java-Maschine(JVM). In den USA ist auf etwa 9 von 10 Computern dieselbe JVM installiert;

Die Sprache hat ihren Namen von einer Kaffeemarke – weshalb das offizielle Emblem eine inspirierende Tasse zeigt.

Bist du noch hier oder bist du schon losgelaufen, um dir eine Tasse aromatischen Kaffee zuzubereiten? Dann lasst uns das Gespräch darüber fortsetzen, wie man ein Java-Programmierer wird.

Installation der Softwareumgebung

Seltsamerweise haben einige Leute bereits Probleme bei der Installation der Java-Softwareumgebung. Dazu müssen Sie die offizielle Website des Entwicklerunternehmens Oracle besuchen. Ganz oben auf der Website sehen Sie einen Link zur aktuellen Version. Sie benötigen Java SE (Standard Edition) und das Java Development Kit – eine Reihe von Entwicklungstools. Bitte beachten Sie, dass es für verschiedene Versionen unterschiedliche Distributionen gibt Betriebssystem.

Nehmen wir an, wir haben Windows. Wir gehen zu „Systemeigenschaften“ und sehen, was für ein System wir haben – 32-Bit oder 64-Bit. Wir laden die Datei herunter, die hinsichtlich der Bittiefe zu uns passt. Wenn Sie die falsche Verteilung wählen, erhalten Sie beim Kompilieren des Codes eine Fehlermeldung. Nachdem Sie die Lizenzvereinbarung akzeptiert haben, klicken Sie auf die Schaltfläche „Herunterladen“.

Was ist das Java Developer Toolkit?

Der Programmierer verbringt die meiste Zeit in der IDE (IntelliJ IDEA, Eclipse, WebStorm, NetBeans). IDE ist eine integrierte Entwicklungsumgebung, eine spezielle Schnittstelle zum Programmieren. Es hilft Ihnen nicht nur beim Schreiben von Code, sondern erleichtert auch die Verwendung anderer Programmiertools. Einige raten denjenigen, die von Grund auf Java-Programmierer werden möchten, ihre ersten Programme in einem normalen Notepad oder Notepad++ zu schreiben.

Vielleicht sollten grundlegende Programme in einem Editor geschrieben werden. Aber auch in Zukunft empfehle ich dringend, die IDE zu verwenden. Es verfügt über Funktionen zur Codevervollständigung, Syntaxkontrolle, Sprung zur Methodendefinition und viele andere. Und intelligente Hinweise ersparen Ihnen, sich alle Namen von Funktionen und deren Parameter merken zu müssen, was physikalisch einfach unmöglich ist.

Bei Zusammenarbeit Wenn mehrere Personen gleichzeitig an einem Programm arbeiten, ist es notwendig, das sogenannte Versionskontrollsystem (Perforce, Git, Subversion usw.) zu verwenden. Allerdings sind Versionskontrollsysteme sehr praktisch, wenn man alleine arbeitet.

Ungefährer Algorithmus zum Erlernen von Java

Erlernen der Grundlagen der Java-Sprache. Der erste Schritt besteht darin, Ihr logisches Denkvermögen zu entwickeln und die grundlegenden Konzepte der Programmiersprachensyntax zu erlernen. Lernen Sie mit einem Buch, einem Artikel oder einem Lehrvideo, wie man damit kreiert mit der IDE oder ein Texteditor sind einfache Java-Objekte, die enthalten Verschiedene Optionen Verhalten abhängig von den Eingabedaten.

Analyse erweiterter Funktionen der Java-Sprache. Lernen Sie in dieser Phase die Syntax, Bibliotheken und Frameworks kennen, die Ihnen bei der Erstellung komplexerer Anwendungen mit praktischem Schwerpunkt nützlich sein werden. Ein guter Programmierer weiß nicht nur, wie man verschiedene Bibliotheken verwendet, sondern weiß auch, wie sie darin funktionieren. Darüber hinaus werden Konzepte wie Ein-/Ausgabeoperationen, Vererbung und Abstraktionen, Serialisierung, generische Typen, Reguläre Ausdrücke, sollte für Sie keine leere Phrase sein.

Feinheiten der Programmierung. Zögern Sie nicht, die Dokumentation und den Fachjargon der Java-Programmierung sorgfältig zu studieren. Zu diesem Zeitpunkt sollten Sie bereits zum ausgereiften Programmierer „mutieren“. Chatten Sie mit Java-Gurus, die Sie in thematischen Foren und anderen Umgebungen finden, in denen sich Programmierer treffen. Zeigen Sie ihnen Ihren Code, konsultieren und beraten Sie andere – „akkumulieren Sie Karma.“ Sie können sogar Ihren eigenen Blog starten, Ausschnitte Ihres eigenen Codes darauf posten und sehen, was erfahrenere Programmierer dazu zu sagen haben.

Wie fange ich mit dem Programmieren an?

Für diejenigen, die planen, von Grund auf Java-Programmierer zu werden, erkläre ich Ihnen, wie Sie Ihr erstes Programm schreiben.
Öffnen Sie also alle Texteditor und schreibe:

Klasse HelloWorld ( public static void main(String args) ( System.out.println("Hello World!"); ) )

Speichern Sie die Datei unter dem Namen HelloWorld.java. Bitte beachten Sie, dass bei Java die Groß- und Kleinschreibung beachtet wird, sodass die Wörter „helloworld“ und „HelloWorld“ unterschiedlich sind. Wenn die Datei- und Klassennamen im Code unterschiedlich sind, startet das Programm einfach nicht. Darüber hinaus ist es wichtig, dass die Kodierung ANSI ist.

Jetzt müssen wir das Programm mit dem Javac-Compiler aus dem JDK kompilieren. Obwohl wir die Entwicklungsumgebung nicht installiert haben, werden wir sie mit kompilieren Befehlszeile cmd, indem Sie es über das Startmenü aufrufen. Geben Sie im angezeigten Fenster cmd ein und drücken Sie die Eingabetaste.

Wenn wir HelloWorld.java im Prog-Ordner auf Laufwerk C gespeichert haben, geben Sie den Befehl ein:

Cd C:\Progà

und drücken Sie die Eingabetaste. Also haben wir das Verzeichnis in das Verzeichnis geändert, in dem sich unser Programm befindet. Geben Sie dann ein:

Javac HelloWorld.java

Drücken Sie erneut die Eingabetaste. Wenn das System keinen Fehler generiert, war die Kompilierung erfolgreich und im Prog-Ordner finden Sie die Datei HelloWorld.class. Ich werde erklären, warum es nötig ist. Eine Datei mit der Erweiterung .java ist lediglich eine „Skizze“ des Codes und enthält nicht den „technischen Teil“, der sich nicht auf die Funktionen, sondern auf den Start des Programms auswirkt. Und die .class-Datei enthält Bytecodes, die es Ihnen ermöglichen, den geschriebenen Code über den Java-Interpreter auszuführen.

Wenn Sie alles richtig gemacht haben, sehen Sie Ihre Kreation auf dem Bildschirm, einen entstehenden elektronischen Geist, der Sie mit „Hallo Welt!“ begrüßt.


Nun, das ist alles für heute, liebe Freunde. Ich hoffe, Sie verstehen selbst, wie Sie von Grund auf ein Java-Programmierer werden können. In meinem nächsten Artikel werde ich darüber sprechen, wie man als Java-Programmierer Geld verdient. Bleiben Sie also auf dem Laufenden, oder noch besser: Abonnieren Sie unsere Blog-Updates. Tschüss zusammen!



Freunden erzählen