llenguatge de programació From Wikipedia, the free encyclopedia
El Java és un llenguatge de programació dissenyat el 1990 per James Gosling amb altres companys de Sun Microsystems a partir del llenguatge C.[1] Des del seu naixement fou pensat com un llenguatge orientat a objectes. Entre el 13 de novembre de 2006 i el maig del 2007 Sun va alliberar parts de Java com a programari lliure de codi obert amb llicència GPL. És un dels llenguatges de programació més utilitzats, i s'utilitza tant per aplicacions web com per aplicacions d'escriptori.[2][3]
Tipus | JVM language (en) , programari i llenguatge de programació multiparadigma |
---|---|
Data de creació | 1995 |
Disseny | James Gosling i Sun Microsystems |
Desenvolupador | Sun Microsystems i Oracle Corporation |
Epònim | Java coffee (en) |
Paradigma de programació | programació estructurada, programació orientada a objectes, programació funcional, llenguatge imperatiu, programació basada en classes, reflexió, programació genèrica, concurrent object-oriented programming (en) i component-based software engineering (en) |
Darrera versió estable | Java SE 21 () |
Influenciat per | C++, C, Ada, Simula 67, Smalltalk, Objective-C, Object Pascal, Oberon, Llenguatge de programació Eiffel, Modula-3, Mesa, Simula67, C#, UCSD Pascal, boxing (en) , variadic function (en) , anotació (Java), Niklaus Wirth, Patrick Naughton i foreach loop (en) |
Extensió dels fitxers | java, class, jar, jad i jmod |
Llicència | GNU General Public License |
Etiqueta d'Stack Exchange | Etiqueta i Etiqueta |
Pàgina web | oracle.com… |
El Java és un llenguatge compilat amb una màquina virtual d'intermediari[4] i, per tant, pot semblar lent en comparació amb altres llenguatges, però ofereix un índex de re-utilització de codi molt elevat, sent possible trobar moltes llibreries lliures de Java. És un llenguatge flexible i potent tot i la facilitat amb la qual es programa i dels resultats que ofereix. Un dels trets que el caracteritza i que el fa una eina molt valorada a l'hora de desenvolupar aplicacions distribuïdes, és el fet que és un llenguatge multi-plataforma.
Generalment els programes de Java es compilen en un bytecode[5] (fitxer .class) que pot córrer en una Màquina Virtual Java. Sun Microsystems disposa de tres implementacions diferents de Java: J2SE per a aplicacions d'escriptori; J2EE per a aplicacions distribuïdes i J2ME per a plataformes amb recursos més reduïts com ara mòbils o PDAs. Per a cada una de les tres implementacions és possible descarregar el JRE (entorn d'execució Java) per a executar aplicacions o el SDK (Eines per al desenvolupament d'aplicacions) per a programar aplicacions en Java, aquest últim també inclou el JRE.
Un programa desenvolupat amb Java no necessita compilar-se de nou per a poder executar-se en qualsevol de les plataformes que disposi d'una versió instal·lada de JRE prou actualitzada per al programa.
James Gosling, Mike Sheridan i Patrick Naughton van iniciar el projecte de llenguatge Java el juny de 1991.[6] Java es va dissenyar originalment per a la televisió interactiva, però era massa avançat per a la indústria de la televisió digital per cable en aquell moment.[7] El llenguatge inicialment es va anomenar Oak inspirant en l'alzina que es trobava al davant de l'oficina de Gosling. Més tard el projecte es va anomenar Green i finalment va ser rebatejat com a Java, inspirat en el Cafè Java, un tipus de cafè d'Indonèsia.[8] Gosling va dissenyar Java amb una sintaxi d'estil C/C++ que els programadors de sistemes i aplicacions trobarien familiars.[9]
A partir del setembre de 2023, Java 8, 17 i 21 són compatibles com a versions de suport a llarg termini (LTS).[10]
Oracle va llançar l'última actualització pública de cost zero per a la versió Java 8 LTS del legat el gener de 2019 per a ús comercial, tot i que, d'altra manera, encara suportarà Java 8 amb actualitzacions públiques per a ús personal indefinidament. Altres venedors han començat a oferir versions (builds) de cost zero d'OpenJDK 21, 8 i 17 que encara estan rebent actualitzacions de seguretat i altres.
Principals versions de llançament de Java, juntament amb les seves dates de llançament:
Versió | Data |
---|---|
JDK Beta | 1995 |
JDK 1.0 | 23 de gener de 1996[11] |
JDK 1.1 | 19 de febrer de 1997 |
J2SE 1.2 | 8 de desembre de 1998 |
J2SE 1.3 | 8 de maig de 2000 |
J2SE 1.4 | 6 de febrer de 2002 |
J2SE 5.0 | 30 de setembre de 2004 |
Java SE 6 | 11 de desembre de 2006 |
Java SE 7 | 28 de juliol de 2011 |
Java SE 8 (LTS) | 18 de març de 2014 |
Java SE 9 | 21 de setembre de 2017 |
Java SE 10 | 20 de març de 2018 |
Java SE 11 (LTS) | 25 de setembre de 2018[12] |
Java SE 12 | 19 de març de 2019 |
Java SE 13 | 17 de setembre de 2019 |
Java SE 14 | 17 de març de 2020 |
Java SE 15 | 15 de setembre de 2020[13] |
Java SE 16 | 16 de març de 2021 |
Java SE 17 (LTS) | 14 de setembre de 2021 |
Java SE 18 | 22 de març de 2022 |
Java SE 19 | 20 de setembre de 2022 |
Java SE 20 | 21 de març de 2023 |
Java SE 21 (LTS) | 19 de setembre de 2023 |
Els tipus de dades fan referència al tipus d'informació que es treballa, on la unitat mínima d'emmagatzematge és la dada, també es pot considerar com el rang de valors que pot prendre una variable durant l'execució del programa.
Els tipus primitius en Java tenen la mateixa mida en cada implementació menys els tipus booleans que pot variar.
Tipus | Paraula reservada | Mida (bits) | Mida (bytes) | Valor mínim | Valor màxim |
---|---|---|---|---|---|
Booleà | boolean | -- | -- | -- | -- |
Byte enter | byte | 8-bit | 1 byte | -128 | +127 |
Caràcter | char | 16-bit | 2 bytes | Unicode 0 | Unicode |
Enter curt | short | 16-bit | 2 bytes | ||
Enter | int | 32-bit | 4 bytes | ||
Enter llarg | long | 64-bit | 8 bytes | ||
Punt flotant | float | 32-bit | 4 bytes | IEEE 754 | IEEE 754 |
Punt flotant de doble presició | double | 64-bit | 8 bytes | IEEE 754 | IEEE 754 |
Només pot tenir el valor true o false.
Utilitzen 16 bits i codifiquen caràcters segons el format UNICODE (no com ASCII que fa servir 8 bits). El Tipus de dada char és un dígit individual, sense signe el qual es pot representar com numèrics (0 al 9), lletres (a-z) i símbol ($, _). NOTA: En llenguatge java la codificació Unicode permet treballar amb tots els caràcters de diferents idiomes.
Els valor literals dels dígits poden ser escrits en base 10, hexadecimal i octal. Els valors numèrics decimals, la coma ha de ser un punt.
La sintaxi del Java deriva en gran part del C. Però a diferència d'aquest, que combina la sintaxi per a programació genèrica, estructurada i orientada a objectes, el Java va ser dissenyat gairebé exclusivament com a llenguatge orientat a objectes.[14] Tot el codi es troba dins d'una classe, i tot és un objecte (excepte nombres ordinals i reals, booleans i caràcters per motius de rendiment).
Utilitza mètodes per comentar similars al C. Hi ha diferents tipus de comentari: una sola línia amb dues barres obliqües, múltiples línies començades per /* i acabades amb */, i el tipus de comentari de Javadoc que comença amb una barra obliqua i dos asteriscs i acaba amb */. L'estil Javadoc permet fer córrer l'executable de Javadoc per compilar la documentació del programa.
Exemple:
// Exemple de comentari d'una línia emprant dues barres obliqües
/* Exemple de comentari de múltiples línies emprant la barra
obliqua i un asterisc. Permet emmagatzemar molta informació
però és important tancar el comentari. */
/**
* Aquest és un exemple de comentari Javadoc; El Javadoc pot
* compilar la documentació a partir d'aquest text.
*/
// Hola.java
public class Hola {
public static void main(String[] args){
System.out.println("Hola, món!");
}
}
Aquest exemple necessita una petita explicació.
class
) declarada pública (public
) ha de seguir aquest conveni. En l'exemple anterior, la classe és Hola
, i per això el codi font s'ha de guardar en el fitxer “Hola.java”.”main()”
.”void”
indica que el mètode main no retorna res.”args”
, encara que pot utilitzar-se qualsevol altre identificador.”static”
indica que el mètode és un mètode de classe, associat a la classe en lloc d'una instància d'aquesta. El mètode main ha de ser estàtic o ’’de classe’’.public
significa que un mètode pot ser cridat des d'altres classes, o que la classe pot ser utilitzada per classes fora de la jerarquia de la mateixa classe. Altres tipus d'accés són ”private”
o ”protected”
.out
és una instància de ‘’’PrintStream’’’, que ofereix el mètode ‘’’println (String)’’’ per a bolcar dades a la pantalla (la sortida estàndard).java –cp. Hola
executarà el programa de l'exemple (prèviament compilat i generat “Hola.class”). El nom de la classe el qual el seu mètode main es pot especificar també al fitxer “MANIFEST” de l'arxiu d'empaquetament de Java (.jar).El JDK incorpora un conjunt d'eines:
ex. elmeuprograma.java
ex. javac elmeuprograma.java
ex. java elmeuprograma
De cara al desenvolupador el Java ens aporta propietats molt interessants, la més destacable de les quals és que és multiplataforma, o sigui que el podem fer servir des de Windows, Linux, o des del nostre mòbil per exemple.
Principalment hi ha dos entorns de desenvolupament gratuïts (entorn integrat de desenvolupament, IDE) l'un es diu Eclipse, té un nivell altament professional, i ofereix una llicència Eclipse Public License, pròpia de la Fundació Eclipse que és qui desenvolupa aquest programa, Eclipse és programari lliure. L'altre s'anomena NetBeans també gratuït i amb llicència SPL.[15]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.