logo

Introducció a Java

Java és un llenguatge de programació orientat a objectes i basat en classes. El llenguatge està dissenyat per tenir el menor nombre possible d'implementacions de dependències. La intenció d'utilitzar aquest llenguatge és alleujar els desenvolupadors d'escriure codis per a cada plataforma. El terme WORA, escriure una vegada i executar a tot arreu sovint s'associa amb aquest llenguatge. Vol dir que cada vegada que compilem un codi Java, obtenim el codi de bytes (fitxer .class), i que es pot executar (sense compilar-lo de nou) en diferents plataformes sempre que siguin compatibles amb Java. L'any 1995 es va desenvolupar el llenguatge Java. S'utilitza principalment per desenvolupar dispositius web, d'escriptori i mòbils. El llenguatge Java és conegut per les seves característiques de robustesa, seguretat i simplicitat. Està dissenyat per tenir el menor nombre possible de dependències d'implementació.

Història

El llenguatge Java té una història molt interessant. Patrick Naughton, Mike Sheridan i Jame Gosling, conegut com l'equip Green, van començar el desenvolupament de Java l'any 1991. Aquestes persones eren els enginyers de Microsistemes solars . L'any 1996, es va publicar la primera implementació pública com a Java 1.0. El compilador de Java 1.0 va ser reescrit per Arthur Van Hoff per complir estrictament amb la seva especificació. Amb la introducció de Java 2, les noves versions tenen múltiples configuracions diferents que s'han creat per a les diferents plataformes. Val la pena assenyalar que James Gosling també és conegut com el pare de Java.

L'any 1997 Sun Microsystems es va acostar a l'organisme estàndard ISO per formalitzar Java, però el procés es va retirar aviat. En un moment determinat, Sun Microsystems va oferir la major part de la seva implementació de Java disponible sense cap cost, tot i tenir l'estat de programari propietari.

Programes d'aplicació

La implementació d'un programa d'aplicació a l'aplicació Java inclou els passos següents.

  1. La creació del programa (escrivint el codi)
  2. La compilació del programa.
  3. Execució del codi compilat.

Val la pena assenyalar aquí que el JDK (Java Development Kit) s'ha d'instal·lar correctament al sistema i també s'hauria d'establir el camí.

El programa Creació

El programa Java es pot escriure mitjançant un editor de text (Notepad++ o NotePad o altres editors també faran la feina.) o IDE (Eclipse, NetBeans, etc.).

Nom de l'arxiu: 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.'); } } 

Escriviu el codi anterior i deseu el fitxer amb el nom TestClass. El fitxer hauria de tenir el .java extensió.

Recopilació del programa

Obriu l'indicador d'ordres i escriviu javac TestClass.java . javac és l'ordre que fa que el compilador Java entre en acció per compilar el programa Java. Després de l'ordre, hem de posar el nom del fitxer que cal compilar. En el nostre cas, ho és TestClass.java . Després d'escriure, premeu el botó Enter. Si tot va bé, es generarà un fitxer TestClass.class que conté el codi de bytes. Si hi ha algun error al programa, el compilador ho assenyalarà i TestClass.class no es crearà.

Execució / Execució del programa

Després de crear el fitxer .class, escriviu java TestClass per executar el programa. La sortida del programa es mostrarà a la consola, que s'esmenta a continuació.

Sortida:

 Hello World is my first Java Program. 

El nom Java

Inicialment, es va donar el nom de roure a la llengua. No obstant això, l'equip va decidir que s'havia de donar un nou nom a la llengua i es van suggerir paraules com ADN, revolucionari, Jolt, Dynamic, Silk, etc. Tots aquests noms eren divertits de dir i fàcils d'escriure. Però el que faltava era l'essència de la llengua en els noms proposats, que l'equip volia tenir. Segons James Gosling, Java i Silk eren dues de les opcions més populars, i com que Java tenia un nom únic, la majoria de la gent el preferia.

Java també és el nom d'una illa d'Indonèsia on es produïa cafè (anomenat Java Coffee). El nom Java va ser escollit per James Gosling perquè estava prenent cafè a prop de la seva oficina. Els lectors han de tenir en compte que Java no és un acrònim. És només un nom.

Les terminologies en Java

JVM (màquina virtual Java): JVM és l'especificació que facilita l'entorn d'execució en què té lloc l'execució del bytecode Java. Sempre que es fa servir l'ordre java, es crea una instància de la JVM . JVM facilita la definició de l'àrea de memòria, el conjunt de registres, el format de fitxer de classe i l'informe d'errors fatals. Tingueu en compte que la JVM depèn de la plataforma.

Codi de bytes: Ja s'ha comentat a la part introductòria que el compilador Java compila el codi Java per generar el fitxer .class o el codi byte. Un ha d'utilitzar javac comanda per invocar el compilador Java.

Kit de desenvolupament de Java (JDK): És el Java Development Kit complet que ho inclou tot, inclòs JRE (Java Runtime Environment), compilador, documents java, depuradors, etc. El JDK s'ha d'instal·lar a l'ordinador per a la creació, compilació i execució d'un programa Java.

Entorn d'execució de Java (JRE): JRE forma part del JDK. Si un sistema només té instal·lat JRE, l'usuari només pot executar el programa. En altres paraules, només el java el comandament funciona. La compilació d'un programa Java no serà possible (el javac l'ordre no funcionarà).

Abocador: Els programadors no poden suprimir objectes a Java. Per fer-ho, JVM té un programa conegut com a Garbage Collector. Els recol·lectors d'escombraries recorden o suprimeixen objectes sense referència. Garbage Collector facilita la vida d'un desenvolupador/programador, ja que no s'han de preocupar per la gestió de la memòria.

Classpath: Com el seu nom indica, classpath és el camí on el compilador de Java i el temps d'execució de Java cerquen el fitxer .class per carregar. El JDK proporciona moltes biblioteques incorporades. Tanmateix, si algú vol utilitzar les biblioteques externes, s'hauria d'afegir al classpath.

Característiques destacades de Java

Plataforma independent: En lloc de generar directament el fitxer .exe, el compilador de Java converteix el codi Java en codi de bytes, i aquest codi de bytes es pot executar en diferents plataformes sense cap problema, la qual cosa fa que Java sigui un llenguatge independent de la plataforma. Tingueu en compte que per executar el codi de bytes, la JVM s'ha d'instal·lar al sistema, que depèn de la plataforma.

Llenguatge de programació orientat a objectes: El concepte de programació orientada a objectes es basa en el concepte d'objectes i classes. A més, hi ha diverses qualitats que estan presents en la programació orientada a objectes. A continuació s'esmenten alguns d'ells.

  • Abstracció
  • Herència
  • Polimorfisme
  • Encapsulació

El llenguatge Java també utilitza àmpliament els conceptes de classes i objectes. A més, totes aquestes característiques esmentades anteriorment es troben a Java, la qual cosa fa que Java sigui un llenguatge de programació orientat a objectes. Tingueu en compte que Java és un llenguatge de programació orientat a objectes, però no 100% orientat a objectes.

Simple: Java es considera un llenguatge senzill perquè no té el concepte de punters, herències múltiples, assignació explícita de memòria o sobrecàrrega d'operadors.

Robusta:

El llenguatge Java és molt robust. El significat de robust és fiable. El llenguatge Java està desenvolupat de tal manera que es fa molta comprovació d'errors tan aviat com sigui possible. És per aquest motiu que aquest llenguatge pot identificar aquells errors que són difícils d'identificar en altres llenguatges de programació. La gestió d'excepcions, la recollida d'escombraries i l'assignació de memòria són les característiques que fan que Java sigui robust.

Segur: Hi ha diversos errors com el desbordament de la memòria intermèdia o la corrupció de la pila que no es poden explotar en el llenguatge Java. Sabem que el llenguatge Java no té punters. Per tant, no és possible tenir accés a matrius fora de límit. Si algú intenta fer-ho, es genera l'excepció ArrayIndexOutofBound. A més, l'execució dels programes Java es produeix en un entorn completament independent del sistema operatiu, la qual cosa fa que aquest llenguatge sigui encara més segur.

Distribuït: Es poden crear aplicacions distribuïdes amb l'ajuda del llenguatge Java. Per crear aplicacions distribuïdes s'utilitzen Enterprise Java beans i Remote Method Invocation. La distribució de programes Java es pot produir fàcilment entre un o més sistemes connectats entre si mitjançant Internet.

Multiprocés: El llenguatge Java admet multithreading. La funció multithreading admet l'execució de dues o més parts del programa simultàniament. Així, es maximitza la utilització de la CPU.

Portabilitat: Sabem que Java és un llenguatge independent de la plataforma. Així, el codi de bytes generat en un sistema es pot portar a qualsevol altra plataforma per a l'execució, cosa que fa que Java sigui portàtil.

Rendiment d'alt nivell: L'arquitectura de Java es crea de tal manera que disminueix el temps d'execució. En alguns llocs, Java utilitza el compilador JIT (Just In Time) quan el codi es compila segons la demanda, on el compilador només compila els mètodes que s'invoquen i, per tant, fa que l'execució de les aplicacions sigui més ràpida.

Flexibilitat dinàmica: El llenguatge Java segueix el paradigma de programació orientada a objectes, que ens dóna la llibertat d'afegir nous mètodes i classes a les classes existents. El llenguatge Java també admet funcions esmentades en llenguatges C/C++ i que generalment es coneixen com a mètodes natius.

Execució SandBox: És un fet conegut que els programes Java s'executen en entorns diferents, la qual cosa dóna llibertat als usuaris per executar les seves pròpies aplicacions sense afectar el sistema subjacent mitjançant el verificador de bytecode. El verificador Bytecode també ofereix una seguretat addicional, ja que comprova el codi per a la violació d'accés.

Escriu un cop executat a qualsevol lloc: El compilador compila el codi Java per obtenir el fitxer .class o el codi byte, que és completament independent de qualsevol arquitectura de màquina.

Llenguatge compilat i interpretat: La majoria dels idiomes són llenguatge interpretat o llenguatge compilat. Tanmateix, en el cas del llenguatge Java, es compila igual que el llenguatge interpretat. El codi Java es compila per obtenir el bytecode, i el bytecode és interpretat per l'intèrpret basat en programari.

Uns quants programes en Java

A continuació s'esmenten alguns programes bàsics de Java.

Programa - 1

Nom de l'arxiu: 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.'); } } 

Sortida:

 Welcome to javaTpoint. 

Programa - 2

Nom de l'arxiu: 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); } } 

Sortida:

 Sum = 26 Product = 168 

Programa - 3

Nom de l'arxiu: 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); } } 

Sortida:

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

Programa - 4

Nom de l'arxiu: 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); } } 

Sortida:

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

Programa - 5

Nom de l'arxiu: 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); } } 

Sortida:

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

Descripció de diverses paraules clau utilitzades en els programes anteriors

//: S'utilitza per posar comentaris al codi per fer-lo més llegible per als lectors. El compilador ignora completament els comentaris mentre compila el programa. Per als comentaris de diverses línies, utilitzem: /* … */

mètode main(): El mètode més important del programa on comença l'execució. Per tant, tota la lògica ha de residir en el mètode principal. Si el mètode main() no conté la lògica, llavors estarà allà en algun altre mètode, però aquest mètode s'ha d'invocar des del mètode main() directament o indirectament.

classe: La paraula clau class s'utilitza per declarar classe en el llenguatge Java.

buit: vol dir que la funció o mètode no retornarà res.

System.out.println(): S'utilitza per imprimir declaracions, patrons, etc., a la consola.

String argvs[]: És un argument de línia d'ordres que s'utilitza per prendre entrada.

públic: És una paraula clau especificadora d'accés. Quan s'aplica a un mètode, aquest mètode és visible per a tothom. Altres paraules clau de l'especificador d'accés són privat, protegit i predeterminat.

importar java.io*: Vol dir que totes les classes estan presents al paquet java.io s'importa. El paquet java.io facilita els fluxos de sortida i entrada per escriure i llegir dades als fitxers. * vol dir tot. Si es vol importar només una classe específica, substituïu l'* pel nom de la classe.

System.in: És el flux d'entrada que s'utilitza per llegir caràcters del dispositiu que dóna entrada, que en el nostre cas sol ser un teclat.

static void main(): La paraula clau estàtica indica que es pot accedir al mètode sense fer la instanciació de la classe.

c programes

System.out: Com que System.in s'utilitza per llegir els caràcters, System.out s'utilitza per donar el resultat del programa en un dispositiu de sortida com ara la pantalla de l'ordinador.

doble, int: Els diferents tipus de dades, int per als enters, double per double. Altres tipus de dades són char, boolean, float, etc.

println(): El mètode mostra els textos a la consola. El mètode imprimeix el text a la pantalla i després passa a la línia següent. Per a la línia següent, s'utilitza ln. Si no volem que el cursor es mogui a la línia següent, utilitzeu el mètode print().