logo

Einführung in Java

Java ist eine objektorientierte, klassenbasierte Programmiersprache. Die Sprache ist so konzipiert, dass sie möglichst wenige Abhängigkeitsimplementierungen aufweist. Mit der Verwendung dieser Sprache soll den Entwicklern das Schreiben von Codes für jede Plattform erleichtert werden. Der Begriff WORA, einmal schreiben und überall ausführen, wird oft mit dieser Sprache in Verbindung gebracht. Das bedeutet, dass wir jedes Mal, wenn wir einen Java-Code kompilieren, den Bytecode (.class-Datei) erhalten, der auf verschiedenen Plattformen ausgeführt werden kann (ohne ihn erneut zu kompilieren), sofern sie Java unterstützen. Im Jahr 1995 wurde die Java-Sprache entwickelt. Es wird hauptsächlich zur Entwicklung von Web-, Desktop- und Mobilgeräten verwendet. Die Java-Sprache ist für ihre Robustheit, Sicherheit und Einfachheit bekannt. Das Ziel ist, möglichst wenige Implementierungsabhängigkeiten zu haben.

Geschichte

Die Java-Sprache hat eine sehr interessante Geschichte. Patrick Naughton, Mike Sheridan und Jame Gosling, bekannt als das Green-Team, begannen im Jahr 1991 mit der Entwicklung von Java. Diese Leute waren die Ingenieure bei Sun Microsystems . 1996 wurde die erste öffentliche Implementierung als Java 1.0 veröffentlicht. Der Compiler von Java 1.0 wurde von Arthur Van Hoff so umgeschrieben, dass er strikt seiner Spezifikation entspricht. Mit der Einführung von Java 2 verfügen die neuen Versionen über mehrere unterschiedliche Konfigurationen, die für die verschiedenen Plattformen erstellt wurden. Es ist erwähnenswert, dass James Gosling auch als Vater von Java bekannt ist.

Im Jahr 1997 wandte sich Sun Microsystems an das ISO-Standardgremium, um Java zu formalisieren, der Prozess wurde jedoch bald zurückgezogen. Zu einem bestimmten Zeitpunkt stellte Sun Microsystems den Großteil seiner Java-Implementierung kostenlos zur Verfügung, obwohl es sich um proprietäre Software handelte.

Anwendungsprogramme

Die Implementierung eines Anwendungsprogramms in eine Java-Anwendung umfasst die folgenden Schritte.

Konvertieren einer Zeichenfolge in eine Ganzzahl in Java
  1. Die Programmerstellung (Schreiben des Codes)
  2. Die Programmzusammenstellung.
  3. Ausführen des kompilierten Codes.

Hierbei ist zu beachten, dass JDK (Java Development Kit) ordnungsgemäß auf dem System installiert und auch der Pfad festgelegt werden sollte.

Das Programm Creation

Das Java-Programm kann mit einem Texteditor (Notepad++ oder NotePad oder andere Editoren erledigen diese Aufgabe ebenfalls) oder einer IDE (Eclipse, NetBeans usw.) geschrieben werden.

Dateiname: TestClass.java

 public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } } 

Schreiben Sie den obigen Code und speichern Sie die Datei unter dem Namen TestClass. Die Datei sollte das haben .Java Verlängerung.

Die Programmzusammenstellung

Öffnen Sie die Eingabeaufforderung und geben Sie ein javac TestClass.java . javac ist der Befehl, der den Java-Compiler zum Kompilieren des Java-Programms veranlasst. Nach dem Befehl müssen wir den Namen der Datei eingeben, die kompiliert werden muss. In unserem Fall ist es so TestClass.java . Drücken Sie nach der Eingabe die Eingabetaste. Wenn alles gut geht, wird eine TestClass.class-Datei generiert, die den Bytecode enthält. Wenn im Programm ein Fehler vorliegt, weist der Compiler darauf hin TestClass.class wird nicht erstellt.

Ausführen / Ausführen des Programms

Nachdem die .class-Datei erstellt wurde, geben Sie Folgendes ein: Java-Testklasse um das Programm auszuführen. Die Ausgabe des Programms wird auf der Konsole angezeigt, die unten erwähnt wird.

Ausgabe:

 Hello World is my first Java Program. 

Der Name Java

Ursprünglich wurde der Sprache der Name Eiche gegeben. Das Team entschied jedoch, dass der Sprache ein neuer Name gegeben werden sollte, und schlug Wörter wie „DNA“, „revolutionär“, „Jolt“, „Dynamic“, „Silk“ usw. vor. Alle diese Namen waren lustig auszusprechen und leicht zu buchstabieren. Was jedoch fehlte, war die Essenz der Sprache in den vorgeschlagenen Namen, die das Team haben wollte. Laut James Gosling waren Java und Silk zwei der beliebtesten Optionen, und da Java einen eindeutigen Namen hatte, bevorzugten es die meisten Leute.

Java ist auch der Name einer Insel in Indonesien, auf der Kaffee (Java Coffee) hergestellt wurde. Der Name Java wurde von James Gosling gewählt, weil er in der Nähe seines Büros Kaffee trank. Leser sollten beachten, dass Java kein Akronym ist. Es ist nur ein Name.

Die Terminologien in Java

JVM (Java Virtual Machine): JVM ist die Spezifikation, die die Laufzeitumgebung ermöglicht, in der die Ausführung des Java-Bytecodes stattfindet. Immer wenn man den Befehl verwendet Java, Es wird eine Instanz der JVM erstellt . JVM erleichtert die Definition des Speicherbereichs, des Registersatzes, des Klassendateiformats und der Meldung schwerwiegender Fehler. Beachten Sie, dass die JVM plattformabhängig ist.

Bytecode: Im Einleitungsteil wurde bereits besprochen, dass der Java-Compiler den Java-Code kompiliert, um die .class-Datei bzw. den Bytecode zu erzeugen. Man muss das nutzen javac Befehl zum Aufrufen des Java-Compilers.

Java Development Kit (JDK): Es handelt sich um das komplette Java Development Kit, das alles umfasst, einschließlich JRE (Java Runtime Environment), Compiler, Java-Dokumente, Debugger usw. Für die Erstellung, Kompilierung und Ausführung eines Java-Programms muss JDK auf dem Computer installiert sein.

Name der Stadt in den USA

Java Runtime Environment (JRE): JRE ist Teil des JDK. Wenn auf einem System nur JRE installiert ist, kann der Benutzer das Programm nur ausführen. Mit anderen Worten, nur die Java Befehl funktioniert. Die Kompilierung eines Java-Programms ist nicht möglich (die javac Befehl wird nicht funktionieren).

Müllsammler: Programmierer können in Java keine Objekte löschen. Zu diesem Zweck verfügt JVM über ein Programm namens Garbage Collector. Garbage Collectors sammeln oder löschen nicht referenzierte Objekte. Garbage Collector macht das Leben eines Entwicklers/Programmierers einfacher, da er sich nicht um die Speicherverwaltung kümmern muss.

Klassenpfad: Wie der Name schon sagt, ist Klassenpfad der Pfad, in dem der Java-Compiler und die Java-Laufzeit die zu ladende .class-Datei durchsuchen. Viele integrierte Bibliotheken werden vom JDK bereitgestellt. Wenn jedoch jemand die externen Bibliotheken verwenden möchte, sollte diese dem Klassenpfad hinzugefügt werden.

Hauptmerkmale von Java

Plattformunabhängig: Anstatt die .exe-Datei direkt zu generieren, konvertiert der Java-Compiler den Java-Code in Bytecode, und dieser Bytecode kann problemlos auf verschiedenen Plattformen ausgeführt werden, was Java zu einer plattformunabhängigen Sprache macht. Beachten Sie, dass zur Ausführung des Bytecodes JVM auf dem System installiert sein muss, was plattformabhängig ist.

Objektorientierte Programmiersprache: Das Konzept der objektorientierten Programmierung basiert auf dem Konzept von Objekten und Klassen. Darüber hinaus weist die objektorientierte Programmierung mehrere Eigenschaften auf. Einige davon sind unten aufgeführt.

  • Abstraktion
  • Nachlass
  • Polymorphismus
  • Verkapselung

Auch die Java-Sprache verwendet in großem Umfang die Konzepte von Klassen und Objekten. Alle oben genannten Funktionen sind auch in Java vorhanden, was Java zu einer objektorientierten Programmiersprache macht. Beachten Sie, dass Java eine objektorientierte Programmiersprache ist, jedoch nicht zu 100 % objektorientiert.

Einfach: Java gilt als einfache Sprache, da es nicht über das Konzept von Zeigern, Mehrfachvererbungen, expliziter Speicherzuweisung oder Operatorüberladung verfügt.

Robust:

Die Java-Sprache ist sehr robust. Die Bedeutung von robust ist zuverlässig. Die Java-Sprache ist so entwickelt, dass viele Fehlerprüfungen so früh wie möglich durchgeführt werden. Aus diesem Grund kann diese Sprache Fehler identifizieren, die in anderen Programmiersprachen schwer zu identifizieren sind. Ausnahmebehandlung, Garbage Collection und Speicherzuweisung sind die Funktionen, die Java robust machen.

Sicher: Es gibt mehrere Fehler wie Pufferüberlauf oder Stapelbeschädigung, die in der Java-Sprache nicht ausgenutzt werden können. Wir wissen, dass die Java-Sprache keine Zeiger hat. Daher ist es nicht möglich, auf Arrays außerhalb des gebundenen Bereichs zuzugreifen. Wenn jemand dies versucht, wird eine ArrayIndexOutofBound-Ausnahme ausgelöst. Außerdem erfolgt die Ausführung der Java-Programme in einer vom Betriebssystem völlig unabhängigen Umgebung, was diese Sprache noch sicherer macht.

Verteilt: Mit Hilfe der Java-Sprache können verteilte Anwendungen erstellt werden. Enterprise Java Beans und Remote Method Invocation werden zum Erstellen verteilter Anwendungen verwendet. Die Verteilung von Java-Programmen kann problemlos zwischen einem oder mehreren Systemen erfolgen, die über das Internet miteinander verbunden sind.

Multithreading: Die Java-Sprache unterstützt Multithreading. Die Multithreading-Funktion unterstützt die gleichzeitige Ausführung von zwei oder mehr Programmteilen. Dadurch wird die Auslastung der CPU maximiert.

Portabilität: Wir wissen, dass Java eine plattformunabhängige Sprache ist. Somit kann der auf einem System generierte Bytecode auf jeder anderen Plattform zur Ausführung übernommen werden, was Java portabel macht.

Höchstleistung: Die Architektur von Java ist so konzipiert, dass sie den Laufzeitaufwand verringert. An einigen Stellen verwendet Java den JIT-Compiler (Just In Time), wenn der Code auf Bedarfsbasis kompiliert wird, wobei der Compiler nur die aufgerufenen Methoden kompiliert und so die Ausführung von Anwendungen beschleunigt.

Dynamische Flexibilität: Die Java-Sprache folgt dem objektorientierten Programmierparadigma, das uns die Freiheit gibt, den vorhandenen Klassen neue Methoden und Klassen hinzuzufügen. Die Java-Sprache unterstützt auch Funktionen, die in C/C++-Sprachen erwähnt werden und im Allgemeinen als native Methoden bezeichnet werden.

SandBox-Ausführung: Es ist eine bekannte Tatsache, dass Java-Programme in unterschiedlichen Umgebungen ausgeführt werden, was Benutzern die Freiheit gibt, ihre eigenen Anwendungen auszuführen, ohne das zugrunde liegende System mithilfe des Bytecode-Verifizierers zu beeinträchtigen. Der Bytecode-Verifizierer sorgt außerdem für zusätzliche Sicherheit, da er den Code auf Zugriffsverletzungen überprüft.

Write Once Run Anywhere: Der Java-Code wird vom Compiler kompiliert, um die .class-Datei oder den Bytecode zu erhalten, der völlig unabhängig von der Maschinenarchitektur ist.

Kompilierte und interpretierte Sprache: Die meisten Sprachen sind entweder interpretierte Sprachen oder kompilierte Sprachen. Im Fall der Java-Sprache wird sie jedoch ebenso kompiliert wie die interpretierte Sprache. Der Java-Code wird kompiliert, um den Bytecode zu erhalten, und der Bytecode wird vom softwarebasierten Interpreter interpretiert.

Ein paar Programme auf Java

Im Folgenden werden einige grundlegende Java-Programme erwähnt.

Programm - 1

Dateiname: DemoClass.java

 // Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } } 

Ausgabe:

 Welcome to javaTpoint. 

Programm - 2

Dateiname: AddMul.java

 // Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } } 

Ausgabe:

 Sum = 26 Product = 168 

Programm - 3

Dateiname: ComputeAv.java

 // A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } } 

Ausgabe:

 Input the First Number: 4 Input the Second Number: 5 Average = 4.5 

Programm - 4

blockierte Kontakte

Dateiname: FahrenheitCelsius.java

 // A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } } 

Ausgabe:

 Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0 

Programm - 5

Dateiname: TriangleArea.java

 // A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } } 

Ausgabe:

 Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016 

Beschreibung verschiedener Schlüsselwörter, die in den oben genannten Programmen verwendet werden

//: Es wird verwendet, um Kommentare in den Code einzufügen, um ihn für die Leser lesbarer zu machen. Der Compiler ignoriert die Kommentare beim Kompilieren des Programms vollständig. Für mehrzeilige Kommentare verwenden wir: /* … */

main()-Methode: Die wichtigste Methode des Programms, bei der die Ausführung beginnt. Daher muss sich die gesamte Logik in der Hauptmethode befinden. Wenn die main()-Methode die Logik nicht enthält, ist sie in einer anderen Methode vorhanden, aber diese Methode muss direkt oder indirekt von der main()-Methode aufgerufen werden.

Klasse: Das Schlüsselwort class wird zum Deklarieren einer Klasse in der Java-Sprache verwendet.

Leere: Dies bedeutet, dass die Funktion oder Methode nichts zurückgibt.

System.out.println(): Es wird zum Drucken von Anweisungen, Mustern usw. auf der Konsole verwendet.

String argvs[]: Es handelt sich um ein Befehlszeilenargument, das zur Eingabeeingabe verwendet wird.

öffentlich: Es handelt sich um ein Schlüsselwort für die Zugriffsspezifikation. Wenn es auf eine Methode angewendet wird, ist diese Methode für alle sichtbar. Weitere Schlüsselwörter für Zugriffsspezifizierer sind „private“, „protected“ und „default“.

c-formatierte Zeichenfolge

java.io.* importieren: Dies bedeutet, dass alle im Paket vorhandenen Klassen vorhanden sind java.io wird importiert. Das java.io-Paket erleichtert die Ausgabe- und Eingabeströme zum Schreiben und Lesen von Daten in Dateien. * bedeutet alle. Wenn man nur eine bestimmte Klasse importieren möchte, dann ersetzt man das * durch den Namen der Klasse.

System.in: Es ist der Eingabestrom, der zum Lesen von Zeichen vom Eingabegerät verwendet wird, bei dem es sich in unserem Fall normalerweise um eine Tastatur handelt.

static void main(): Das Schlüsselwort static gibt an, dass auf die Methode zugegriffen werden kann, ohne dass die Klasse instanziiert werden muss.

System.out: Während System.in zum Lesen der Zeichen verwendet wird, wird System.out verwendet, um das Ergebnis des Programms auf einem Ausgabegerät wie dem Computerbildschirm anzuzeigen.

double, int: Die verschiedenen Datentypen, int für die Ganzzahlen, double für double. Andere Datentypen sind char, boolean, float usw.

println(): Die Methode zeigt die Texte auf der Konsole an. Die Methode gibt den Text auf dem Bildschirm aus und wechselt dann zur nächsten Zeile. Für die nächste Zeile wird ln verwendet. Wenn wir nicht möchten, dass der Cursor in die nächste Zeile wechselt, verwenden wir die Methode print().