Java is een objectgeoriënteerde, op klassen gebaseerde programmeertaal. De taal is ontworpen om zo weinig mogelijk afhankelijkheden te implementeren. De bedoeling van het gebruik van deze taal is om de ontwikkelaars te ontlasten van het schrijven van codes voor elk platform. De term WORA, één keer schrijven en overal uitvoeren, wordt vaak met deze taal geassocieerd. Het betekent dat wanneer we een Java-code compileren, we de bytecode (.class-bestand) krijgen, en die kan worden uitgevoerd (zonder deze opnieuw te compileren) op verschillende platforms, op voorwaarde dat ze Java ondersteunen. In het jaar 1995 werd de Java-taal ontwikkeld. Het wordt voornamelijk gebruikt om web-, desktop- en mobiele apparaten te ontwikkelen. De Java-taal staat bekend om zijn robuustheid, veiligheid en eenvoud. Dat is ontworpen om zo min mogelijk implementatieafhankelijkheden te hebben.
Geschiedenis
De Java-taal heeft een zeer interessante geschiedenis. Patrick Naughton, Mike Sheridan en Jame Gosling, bekend als het Green-team, begonnen in 1991 met de ontwikkeling van Java. Deze mensen waren de ingenieurs van Zon microsystemen . In 1996 werd de eerste publieke implementatie uitgebracht als Java 1.0. De compiler van Java 1.0 werd herschreven door Arthur Van Hoff om strikt aan de specificatie te voldoen. Met de introductie van Java 2 hebben de nieuwe versies meerdere verschillende configuraties die voor de verschillende platforms zijn gebouwd. Het is vermeldenswaard dat James Gosling ook bekend staat als de vader van Java.
De ISO-standaardorganisatie werd in 1997 door Sun Microsystems benaderd om Java te formaliseren, maar het proces werd al snel ingetrokken. Op een gegeven moment heeft Sun Microsystems het grootste deel van zijn implementatie van Java gratis ter beschikking gesteld, ondanks dat het de status van propriëtaire software had.
Applicatieprogramma's
De implementatie van een applicatieprogramma in een Java-applicatie omvat de volgende stappen.
- Het maken van het programma (het schrijven van de code)
- De programmacompilatie.
- Het uitvoeren van de gecompileerde code.
Het is de moeite waard om hier op te merken dat JDK (Java Development Kit) correct op het systeem moet worden geïnstalleerd en dat het pad ook moet worden ingesteld.
Het programma Creatie
Het Java-programma kan worden geschreven met behulp van een teksteditor (Notepad++ of NotePad of andere editors kunnen ook.) of IDE (Eclipse, NetBeans, enz.).
Bestandsnaam: TestClass.java
in tekenreeks in Java
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Schrijf de bovenstaande code en sla het bestand op met de naam TestClass. Het bestand moet de extensie .Java verlenging.
Het programma Compilatie
Open de opdrachtprompt en typ javac TestClass.java . Javac is het commando dat de Java-compiler tot actie aanzet om het Java-programma te compileren. Na de opdracht moeten we de naam plaatsen van het bestand dat moet worden gecompileerd. In ons geval is dat zo TestClass.java . Druk na het typen op de enter-knop. Als alles goed gaat, wordt er een TestClass.class-bestand gegenereerd dat de bytecode bevat. Als er een fout in het programma zit, zal de compiler dit aangeven, en TestKlasse.klasse zal niet worden aangemaakt.
Het programma uitvoeren/uitvoeren
Nadat het .class-bestand is gemaakt, typt u Java TestClass om het programma uit te voeren. De uitvoer van het programma wordt weergegeven op de console, die hieronder wordt vermeld.
Uitgang:
Hello World is my first Java Program.
De naam Java
Aanvankelijk werd de naam eik aan de taal gegeven. Het team besloot echter dat er een nieuwe naam aan de taal moest worden gegeven, en er werden woorden als DNA, revolutionair, Jolt, Dynamic, Silk, enz. voorgesteld. Al deze namen waren leuk om uit te spreken en gemakkelijk te spellen. Maar wat ontbrak was de essentie van de taal in de voorgestelde namen, die het team graag wilde hebben. Volgens James Gosling waren Java en Silk twee van de meest populaire opties, en aangezien Java een unieke naam had, gaven de meeste mensen er de voorkeur aan.
Java is ook een naam van een eiland in Indonesië waar koffie (genaamd Java Coffee) werd geproduceerd. De naam Java werd door James Gosling gekozen omdat hij koffie dronk in de buurt van zijn kantoor. Lezers moeten er rekening mee houden dat Java geen acroniem is. Het is maar een naam.
De terminologieën in Java
JVM (virtuele Java-machine): JVM is de specificatie die de runtime-omgeving faciliteert waarin de uitvoering van de Java-bytecode plaatsvindt. Wanneer iemand het commando gebruikt Java, er wordt een exemplaar van de JVM gemaakt . JVM vergemakkelijkt de definitie van het geheugengebied, de registerset, het klassenbestandsformaat en de rapportage van fatale fouten. Houd er rekening mee dat de JVM platformafhankelijk is.
Bytecode: In het inleidende deel is al besproken dat de Java-compiler de Java-code compileert om het .class-bestand of de bytecode te genereren. Men moet gebruik maken van de Javac commando om de Java-compiler aan te roepen.
Java-ontwikkelingskit (JDK): Het is de complete Java Development Kit die alles omvat, inclusief JRE (Java Runtime Environment), compiler, Java-documenten, debuggers, enz. JDK moet op de computer worden geïnstalleerd voor het maken, compileren en uitvoeren van een Java-programma.
Java Runtime Environment (JRE): JRE maakt deel uit van de JDK. Als op een systeem alleen JRE is geïnstalleerd, kan de gebruiker het programma alleen uitvoeren. Met andere woorden, alleen de Java commando werkt. Het compileren van een Java-programma zal niet mogelijk zijn (de Javac opdracht werkt niet).
Vuilnisman: Programmeurs kunnen geen objecten in Java verwijderen. Om dit te doen heeft JVM een programma dat bekend staat als Garbage Collector. Afvalverzamelaars verzamelen of verwijderen objecten zonder referentie. Garbage Collector maakt het leven van een ontwikkelaar/programmeur gemakkelijk omdat hij zich geen zorgen hoeft te maken over geheugenbeheer.
Klassenpad: Zoals de naam al doet vermoeden, is classpath het pad waar de Java-compiler en de Java-runtime het .class-bestand doorzoeken om te laden. Veel ingebouwde bibliotheken worden geleverd door de JDK. Als iemand echter de externe bibliotheken wil gebruiken, moet deze aan het klassenpad worden toegevoegd.
Opvallende kenmerken van Java
Platformonafhankelijk: In plaats van het .exe-bestand rechtstreeks te genereren, converteert de Java-compiler de Java-code naar bytecode, en deze bytecode kan zonder problemen op verschillende platforms worden uitgevoerd, waardoor Java een platformonafhankelijke taal is. Merk op dat om de bytecode uit te voeren, JVM op het systeem moet worden geïnstalleerd, wat platformafhankelijk is.
Objectgeoriënteerde programmeertaal: Het concept van objectgeoriënteerd programmeren is gebaseerd op het concept van objecten en klassen. Er zijn ook verschillende kwaliteiten die aanwezig zijn bij objectgeoriënteerd programmeren. Hieronder worden er enkele genoemd.
- Abstractie
- Erfenis
- Polymorfisme
- Inkapseling
De Java-taal maakt ook uitgebreid gebruik van de concepten van klassen en objecten. Bovendien zijn al deze hierboven genoemde functies aanwezig in Java, waardoor Java een objectgeoriënteerde programmeertaal is. Merk op dat Java een objectgeoriënteerde programmeertaal is, maar niet 100% objectgeoriënteerd.
lijst Java naar array
Eenvoudig: Java wordt als een eenvoudige taal beschouwd omdat het niet het concept kent van pointers, meerdere overervingen, expliciete geheugentoewijzing of overbelasting van operators.
Robuust:
Java-taal is zeer robuust. De betekenis van robuust is betrouwbaar. De Java-taal is zo ontwikkeld dat veel foutcontrole zo vroeg mogelijk wordt uitgevoerd. Het is om deze reden dat deze taal fouten kan identificeren die moeilijk te identificeren zijn in andere programmeertalen. Uitzonderingsafhandeling, garbage collection en geheugentoewijzing zijn de kenmerken die Java robuust maken.
Zeker: Er zijn verschillende fouten, zoals bufferoverflow of stackcorruptie, die in de Java-taal niet kunnen worden misbruikt. We weten dat de Java-taal geen verwijzingen heeft. Daarom is het niet mogelijk om toegang te krijgen tot out-of-bound arrays. Als iemand dit probeert, wordt er een ArrayIndexOutofBound Exception gegenereerd. Bovendien gebeurt de uitvoering van de Java-programma's in een omgeving die volledig onafhankelijk is van het besturingssysteem, wat deze taal nog veiliger maakt.
hoe je een string naar een geheel getal converteert in Java
Gedistribueerd: Gedistribueerde applicaties kunnen worden gemaakt met behulp van de Java-taal. Enterprise Java Beans en Remote Method Invocation worden gebruikt voor het maken van gedistribueerde applicaties. De distributie van Java-programma's kan eenvoudig gebeuren tussen een of meer systemen die via internet met elkaar zijn verbonden.
Multithreading: De Java-taal ondersteunt multithreading. De multithreading-functie ondersteunt de gelijktijdige uitvoering van twee of meer delen van het programma. Het gebruik van de CPU wordt dus gemaximaliseerd.
Draagbaarheid: We weten dat Java een platformonafhankelijke taal is. De bytecode die op het ene systeem wordt gegenereerd, kan dus op elk ander platform worden gebruikt voor uitvoering, waardoor Java draagbaar wordt.
Prestaties op hoog niveau: De architectuur van Java is zo gemaakt dat de runtime-overhead wordt verminderd. Op sommige plaatsen gebruikt Java de JIT-compiler (Just In Time) wanneer de code op vraagbasis wordt gecompileerd, waarbij de compiler alleen die methoden compileert die worden aangeroepen en zo de uitvoering van applicaties sneller maakt.
Dynamische flexibiliteit: De Java-taal volgt het objectgeoriënteerde programmeerparadigma, dat ons de vrijheid geeft om nieuwe methoden en klassen aan de bestaande klassen toe te voegen. De Java-taal ondersteunt ook functies die worden genoemd in C/C++-talen en die doorgaans de native methoden worden genoemd.
SandBox-uitvoering: Het is een bekend feit dat Java-programma's in verschillende omgevingen worden uitgevoerd, waardoor gebruikers de vrijheid hebben om hun eigen applicaties uit te voeren zonder het onderliggende systeem te beïnvloeden met behulp van de bytecodeverifier. De Bytecode verifier geeft bovendien extra veiligheid doordat hij de code controleert op toegangscontrole.
Schrijf eenmaal overal uitgevoerd: De Java-code wordt door de compiler gecompileerd om het .class-bestand of de bytecode te verkrijgen, wat volledig onafhankelijk is van welke machine-architectuur dan ook.
Gecompileerde en geïnterpreteerde taal: De meeste talen zijn geïnterpreteerde taal of de gecompileerde taal. In het geval van de Java-taal wordt deze echter zowel gecompileerd als de geïnterpreteerde taal. De Java-code wordt gecompileerd om de bytecode te verkrijgen, en de bytecode wordt geïnterpreteerd door de op software gebaseerde tolk.
Een paar programma's op Java
Hieronder worden enkele basis-Java-programma's genoemd.
Programma - 1
Bestandsnaam: 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.'); } }
Uitgang:
Welcome to javaTpoint.
Programma - 2
Bestandsnaam: VoegMul.java toe
// 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); } }
Uitgang:
Sum = 26 Product = 168
Programma - 3
Bestandsnaam: 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); } }
Uitgang:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Programma - 4
Bestandsnaam: 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); } }
Uitgang:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Programma - 5
tijger leeuw verschil
Bestandsnaam: 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); } }
Uitgang:
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Beschrijving van verschillende trefwoorden die in de bovenstaande programma's worden gebruikt
//: Het wordt gebruikt om commentaar in de code te plaatsen om het leesbaarder te maken voor de lezers. De compiler negeert de opmerkingen volledig tijdens het compileren van het programma. Voor commentaar met meerdere regels gebruiken we: /* … */
main() methode: De belangrijkste methode van het programma waar de uitvoering begint. Daarom moet alle logica zich in de hoofdmethode bevinden. Als de methode main() de logica niet bevat, dan zal deze er wel zijn in een andere methode, maar die methode moet direct of indirect worden aangeroepen vanuit de methode main().
klas: Het trefwoordklasse wordt gebruikt voor het declareren van klasse in de Java-taal.
leegte: het betekent dat de functie of methode niets retourneert.
Systeem.out.println(): Het wordt gebruikt om uitspraken, patronen, enz. op de console af te drukken.
willekeurig getal tussen 1 en 10
Tekenreeks argvs[]: Het is een opdrachtregelargument dat wordt gebruikt voor het ontvangen van invoer.
openbaar: Het is een toegangsspecificatiesleutelwoord. Wanneer het op een methode wordt toegepast, is die methode voor iedereen zichtbaar. Andere sleutelwoorden voor toegangsspecificatie zijn privé, beschermd en standaard.
importeer java.io.*: Het betekent dat alle klassen aanwezig zijn in het pakket java.io wordt geïmporteerd. Het java.io-pakket vergemakkelijkt de uitvoer- en invoerstromen voor het schrijven en lezen van gegevens naar bestanden. * betekent alles. Als je alleen een specifieke klasse wilt importeren, vervang dan de * door de naam van de klasse.
Systeem.in: Het is de invoerstroom die wordt gebruikt voor het lezen van tekens van het invoerapparaat, in ons geval meestal een toetsenbord.
statische leegte main(): Het statische sleutelwoord vertelt dat de methode toegankelijk is zonder de instantiatie van de klasse uit te voeren.
Systeemuit: Terwijl System.in wordt gebruikt voor het lezen van de tekens, wordt System.out gebruikt om het resultaat van het programma op een uitvoerapparaat zoals het computerscherm weer te geven.
dubbel, int.: De verschillende gegevenstypen, int voor de gehele getallen, double voor double. Andere gegevenstypen zijn char, boolean, float, enz.
println(): De methode toont de teksten op de console. De methode drukt de tekst af op het scherm en gaat vervolgens naar de volgende regel. Voor de volgende regel wordt ln gebruikt. Als we niet willen dat de cursor naar de volgende regel gaat, gebruik dan de methode print().