logo

Introduktion til Java

Java er et objektorienteret, klassebaseret programmeringssprog. Sproget er designet til at have så få afhængighedsimplementeringer som muligt. Hensigten med at bruge dette sprog er at hjælpe udviklerne med at skrive koder til hver platform. Udtrykket WORA, skriv én gang og løb overalt forbindes ofte med dette sprog. Det betyder, at hver gang vi kompilerer en Java-kode, får vi bytekoden (.class-fil), og den kan udføres (uden at kompilere den igen) på forskellige platforme, forudsat at de understøtter Java. I år 1995 blev Java-sproget udviklet. Det bruges hovedsageligt til at udvikle web, desktop og mobile enheder. Java-sproget er kendt for dets robusthed, sikkerhed og enkelhed. Det er designet til at have så få implementeringsafhængigheder som muligt.

Historie

Java-sproget har en meget interessant historie. Patrick Naughton, Mike Sheridan og Jame Gosling, kendt som det grønne team, startede udviklingen af ​​Java i år 1991. Disse mennesker var ingeniørerne på Sun Microsystems . I 1996 blev den første offentlige implementering udgivet som Java 1.0. Compileren af ​​Java 1.0 blev omskrevet af Arthur Van Hoff for at overholde dens specifikation strengt. Med introduktionen af ​​Java 2 har de nye versioner flere forskellige konfigurationer, der er bygget til de forskellige platforme. Det er værd at bemærke, at James Gosling også er kendt som Javas fader.

ISO-standardorganet blev kontaktet af Sun Microsystems i år 1997 for at formalisere Java, men processen blev snart trukket tilbage. På et tidspunkt stillede Sun Microsystems det meste af sin implementering af Java til rådighed uden omkostninger, på trods af at have status som proprietær software.

bash hvis andet

Ansøgningsprogrammer

Implementeringen af ​​et applikationsprogram i Java-applikationen omfatter følgende trin.

  1. Programoprettelse (skrivning af koden)
  2. Programsamlingen.
  3. Udførelse af den kompilerede kode.

Det er her værd at bemærke, at JDK (Java Development Kit) skal installeres korrekt på systemet, og stien skal også indstilles.

Programmet skabelse

Java-programmet kan skrives ved hjælp af en teksteditor (Notepad++ eller NotePad eller andre editorer vil også klare opgaven.) eller IDE (Eclipse, NetBeans osv.).

Filnavn: 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.'); } } 

Skriv ovenstående kode og gem filen med navnet TestClass. Filen skal have .java udvidelse.

Programmets kompilering

Åbn kommandoprompten, og skriv javac TestClass.java . javac er kommandoen, der får Java-kompileren til at komme til handling for at kompilere Java-programmet. Efter kommandoen skal vi sætte navnet på den fil, der skal kompileres. I vores tilfælde er det TestClass.java . Efter indtastning skal du trykke på Enter-knappen. Hvis alt går godt, vil en TestClass.class-fil blive genereret, som indeholder bytekoden. Hvis der er en fejl i programmet, vil compileren påpege det, og TestClass.class vil ikke blive oprettet.

Kørsel/udførelse af programmet

Når .class-filen er oprettet, skal du skrive java testklasse at køre programmet. Udgangen af ​​programmet vil blive vist på konsollen, som er nævnt nedenfor.

Produktion:

 Hello World is my first Java Program. 

Navnet Java

Oprindeligt blev navnet eg givet til sproget. Holdet besluttede dog, at der skulle gives sproget et nyt navn, og ord som DNA, revolutionær, Jolt, Dynamic, Silk osv. blev foreslået. Alle disse navne var sjove at sige og nemme at stave. Men det, der manglede, var essensen af ​​sproget i de foreslåede navne, som holdet ønskede at have. Ifølge James Gosling var Java og Silk to af de mest populære muligheder, og da Java havde et unikt navn, foretrak de fleste det.

Java er også et navn på en ø i Indonesien, hvor kaffe (kaldet Java Coffee) blev produceret. Navnet Java blev valgt af James Gosling, fordi han havde kaffe i nærheden af ​​sit kontor. Læsere bør bemærke, at Java ikke er et akronym. Det er bare et navn.

Terminologier i Java

JVM (Java Virtual Machine): JVM er specifikationen, der letter runtime-miljøet, hvori udførelsen af ​​Java-bytekoden finder sted. Hver gang man bruger kommandoen java, der oprettes en instans af JVM . JVM letter definitionen af ​​hukommelsesområdet, registersættet, klassefilformatet og fatal fejlrapportering. Bemærk, at JVM er platformsafhængig.

Bytekode: Det er allerede blevet diskuteret i den indledende del, at Java-kompileren kompilerer Java-koden for at generere .class-filen eller bytekoden. Man skal bruge javac kommando for at starte Java-kompileren.

Java Development Kit (JDK): Det er det komplette Java Development Kit, der omfatter alt, inklusive JRE(Java Runtime Environment), compiler, java docs, debuggere osv. JDK skal være installeret på computeren til oprettelse, kompilering og eksekvering af et Java-program.

Java Runtime Environment (JRE): JRE er en del af JDK. Hvis et system kun har JRE installeret, kan brugeren kun køre programmet. Med andre ord, kun java kommandoen virker. Kompileringen af ​​et Java-program vil ikke være mulig (den javac kommandoen virker ikke).

Skraldemand: Programmører er ikke i stand til at slette objekter i Java. For at gøre det har JVM et program kendt som Garbage Collector. Skraldesamlere husker eller sletter ikke-referencede genstande. Garbage Collector gør livet for en udvikler/programmør let, da de ikke behøver at bekymre sig om hukommelseshåndtering.

Klassesti: Som navnet antyder, er classpath stien, hvor Java-kompileren og Java-runtime søger efter .class-filen for at indlæse. Mange indbyggede biblioteker leveres af JDK. Men hvis nogen ønsker at bruge de eksterne biblioteker, skal det tilføjes til klassestien.

Fremtrædende funktioner i Java

Platformuafhængig: I stedet for direkte at generere .exe-filen konverterer Java-kompileren Java-koden til bytekode, og denne bytekode kan udføres på forskellige platforme uden problemer, hvilket gør Java til et platformsuafhængigt sprog. Bemærk, at for at udføre bytekoden, skal JVM være installeret på systemet, som er platformsafhængigt.

Objektorienteret programmeringssprog: Begrebet objektorienteret programmering er baseret på begrebet objekter og klasser. Der er også flere kvaliteter, der er til stede i objektorienteret programmering. Et par af dem er nævnt nedenfor.

  • Abstraktion
  • Arv
  • Polymorfi
  • Indkapsling

Java-sproget bruger også i vid udstrækning begreberne klasser og objekter. Også alle disse funktioner nævnt ovenfor er der i Java, hvilket gør Java til et objektorienteret programmeringssprog. Bemærk, at Java er et objektorienteret programmeringssprog, men ikke 100 % objektorienteret.

Enkel: Java betragtes som et simpelt sprog, fordi det ikke har konceptet med pointere, multiple arv, eksplicit hukommelsestildeling eller operatøroverbelastning.

Robust:

Java-sproget er meget robust. Betydningen af ​​robust er pålidelig. Java-sproget er udviklet på en sådan måde, at en masse fejlkontrol udføres så tidligt som muligt. Det er på grund af denne grund, at dette sprog kan identificere de fejl, der er svære at identificere i andre programmeringssprog. Undtagelseshåndtering, affaldsindsamling og hukommelsesallokering er de funktioner, der gør Java robust.

Sikker: Der er flere fejl som bufferoverløb eller stakkorruption, som ikke er mulige at udnytte i Java-sproget. Vi ved, at Java-sproget ikke har pointere. Derfor er det ikke muligt at have adgang til out-of-bound arrays. Hvis nogen forsøger at gøre det, hæves ArrayIndexOutofBound Exception. Også udførelsen af ​​Java-programmerne sker i et miljø, der er fuldstændig uafhængigt af operativsystemet, hvilket gør dette sprog endnu mere sikkert.

Fordelt: Distribuerede applikationer kan oprettes ved hjælp af Java-sproget. Enterprise Java beans og Remote Method Invocation bruges til at skabe distribuerede applikationer. Fordelingen af ​​Java-programmer kan nemt ske mellem et eller flere systemer, der er forbundet med hinanden via internettet.

Multithreading: Java-sproget understøtter multithreading. Multithreading-funktionen understøtter udførelse af to eller flere dele af programmet samtidigt. Dermed er udnyttelsen af ​​CPU'en maksimeret.

Portabilitet: Vi ved, at Java er et platformsuafhængigt sprog. Således kan bytekoden, der genereres på et system, tages på enhver anden platform til eksekvering, hvilket gør Java bærbar.

Ydeevne på højt niveau: Arkitekturen i Java er skabt på en sådan måde, at den reducerer runtime overhead. Nogle steder bruger Java JIT (Just In Time) compiler, når koden kompileres på efterspørgselsbasis, hvor compileren kun kompilerer de metoder, der påberåbes og dermed gør den hurtigere eksekvering af applikationer.

Dynamisk fleksibilitet: Java-sproget følger det objektorienterede programmeringsparadigme, som giver os frihed til at tilføje nye metoder og klasser til de eksisterende klasser. Java-sproget understøtter også funktioner nævnt i C/C++-sprog, og som generelt omtales som de oprindelige metoder.

SandBox-udførelse: Det er et kendt faktum, at Java-programmer udføres i forskellige miljøer, hvilket giver brugerne frihed til at udføre deres egne applikationer uden at påvirke det underliggende system ved hjælp af bytecode-verifikatoren. Bytecode-verifikatoren giver også ekstra sikkerhed, da den tjekker koden for krænkelse af adgangen.

Skriv Once Run Anywhere: Java-koden kompileres af compileren for at få .class-filen eller bytekoden, som er fuldstændig uafhængig af enhver maskinarkitektur.

Kompileret og fortolket sprog: De fleste sprog er enten fortolket sprog eller det kompilerede sprog. Men i tilfælde af Java-sproget er det kompileret såvel som det fortolkede sprog. Java-koden kompileres for at få bytekoden, og bytekoden fortolkes af den softwarebaserede fortolker.

Et par programmer på Java

Et par grundlæggende Java-programmer er nævnt nedenfor.

Program - 1

Filnavn: 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.'); } } 

Produktion:

 Welcome to javaTpoint. 

Program - 2

abstrakt klasse vs grænseflade

Filnavn: 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); } } 

Produktion:

 Sum = 26 Product = 168 

Program - 3

Filnavn: 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); } } 

Produktion:

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

Program - 4

Filnavn: 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); } } 

Produktion:

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

Program - 5

Filnavn: 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); } } 

Produktion:

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

Beskrivelse af forskellige søgeord, der bruges i ovenstående programmer

//: Den bruges til at sætte kommentarer i koden for at gøre den mere læsbar for læserne. Kompileren ignorerer kommentarerne fuldstændigt, mens programmet kompileres. For kommentarer med flere linjer bruger vi: /* … */

main() metode: Den vigtigste metode i programmet, hvor udførelsen begynder. Derfor skal al logikken ligge i hovedmetoden. Hvis main()-metoden ikke indeholder logikken, vil den være der i en anden metode, men den metode skal påberåbes fra main()-metoden direkte eller indirekte.

klasse: Nøgleordsklassen bruges til at erklære klasse i Java-sproget.

ugyldig: det betyder, at funktionen eller metoden ikke returnerer noget.

System.out.println(): Det bruges til at udskrive udsagn, mønstre osv. på konsollen.

10 af 50,00

Streng argvs[]: Det er et kommandolinjeargument, der bruges til at tage input.

offentlig: Det er et adgangsspecifikationsnøgleord. Når den anvendes på en metode, så er denne metode synlig for alle. Andre nøgleord til adgangsspecifikation er privat, beskyttet og standard.

importer java.io.*: Det betyder, at alle klasser er til stede i pakken java.io er importeret. Java.io-pakken letter output- og inputstrømmene til at skrive og læse data til filer. * betyder alt. Hvis man kun ønsker at importere en bestemt klasse, så erstat * med navnet på klassen.

System.in: Det er inputstrømmen, der bruges til at læse tegn fra den input-givende enhed, som normalt er et tastatur i vores tilfælde.

static void main(): Det statiske nøgleord fortæller, at metoden kan tilgås uden at udføre instansieringen af ​​klassen.

System.out: Da System.in bruges til at læse tegnene, bruges System.out til at give resultatet af programmet på en outputenhed som f.eks. computerskærmen.

dobbelt, int: De forskellige datatyper, int for heltal, fordobles for dobbelt. Andre datatyper er char, boolean, float osv.

println(): Metoden viser teksterne på konsollen. Metoden udskriver teksten til skærmen og flytter derefter til næste linje. Til næste linje bruges ln. Hvis vi ikke ønsker, at markøren skal flytte til næste linje, skal du bruge metoden print().