Edukira joan

Java (programazio-lengoaia)

Wikipedia, Entziklopedia askea
Fitxategi:Logo-java-830x460.jpg
Java programazio lengoaiaren logoa.

Java objektuei zuzendutako programazio lengoaia eta plataforma informatiko arrakastatsu bat da. Aplikazio eta webgune askok ez dute funtzionatuko Java

instalatuta eduki ezean, eta egunetik egunera gehiago sortzen dira. Java azkarra, segurua eta fidagarria da. Eramangarrietatik datu-zentroetara, jokoetarako kontsoletatik hasi eta super ordenagailuetara, telefono mugikorretatik Internetera, Java nonahi dago. 2012tik aurrera, erabiltzen den programazio lengoaiarik ezagunenetako bat da, batez ere web bezero eta zerbitzarien aplikazioetarako, hamar milioi erabiltzaile berriaturekin[1][2].

James Goslingek diseinatu zuen nagusiki, Sun Microsystems enpresan ziharduela, 1990eko hamarkadan. "Write once, run anywhere" filosofiari jarraituz, sistema anitzetan erraz inplementatzeko taxutu zuten hasieratik, iturburua helburuko plataformaren arabera era desberdinean konpilatu behar izan gabe etengabe (helburuko plataformak zeharka exekutatzen du kodea, "Java Virtual Machine" edo JVM bat tarteko). C++-en antza du, baina sintaxia, eta batik bat memoria kudeaketa, sinpleagoak dira.

Javak eta JavaScriptek ez dute zerikusi zuzenekorik, nahiz eta biak C-ren bezalako sintaxia erabili.

Historia

Java, set-top-box proiektu batean erabiltzeko programazio tresna bat bezala sortu zen the Green Project izeneko operazio txiki batean Sun Microsystemsen 1991n. Taldeak (Green Team), hamahiru lagunek osatua eta James Goslingek zuzendua, 18 hilabetez lan egin zuen Sand Hill Roaden, Menlo Parken, bere garapenean.

Hasieran Oak izena hartu zuen (Goslingen bulegotik kanpo zegoen haritz bategatik), ondoren Green izena hartu zuen, Oak jada txartel grafikoen egokitzaileentzat erregistratutako marka komertzial bat zela deskubritu ondoren, eta, azkenik, Java bezala berrizendatu zen.

Ez dago argi Java akronimo bat den edo ez, nahiz eta iturri batzuek adierazi bere diseinatzaileen inizialak izan daitezkeela: James Gosling, Arthur Van Hoff, eta Andy Bechtolsheim. Beste batzuek hurrengo akronimoaren alde egiten dute: Just Another Vague Acronym ("beste akronimo anbiguo bat besterik ez"). Hala ere, indar gehien duen hipotesia da, Javak bere izena gertuko kafetegian dagoen kafe mota bati zor diola; hortik Javaren ikonoa kafe kikara bero bat izatea. Teoria honi indarra ematen dion zeinu txiki bat, konpiladoreak sortzen dituen artxibategietako lehen lau byteak (zenbaki magikoa), hexadezimalez, 0xCAFEBABE direla da. Teoria horiek guztiak gorabehera, izena, dirudienez, hitzezko ausazko zerrenda batetik atera zuten[3].

Duke, Javaren maskota.

Goslingen helburuak makina birtual bat eta C++ antzeko egitura eta sintaxia duen lengoaia bat ezartzea ziren. 1994ko ekaina eta uztaila bitartean, John Gaga, James Gosling, Patrick Naughton, Wayne Rosing eta Eric Schmidten arteko hiru eguneko saio maratoniarraren ondoren, taldeak plataforma Web gunerantz birbideratu zuen. Mosaic web nabigatzailearen etorrerak Internet kable bidezko telebista bezala bitarteko interaktibo bihurtzea ekarriko zuela sentitu zuten. Naughtonek, orduan, nabigatzaile prototipo bat sortu zuen, WebRunner, beranduago HotJava bezala ezagutua izango zena.

1994an, HotJava eta Java plataformaren erakustaldi bat egin zitzaien Sungo exekutiboei. Java 1.0a 1994an deskargatu ahal izan zen lehen aldiz, baina 1995eko maiatzaren 23ra arte itxaron behar izan zen, SunWorldeko hitzaldietan, Java eta HotJavak, argia ikusi zuten arte. John Gage Sun Microsystemseko zuzendari zientifikoak iragarri zuen gertaera. Ekitaldiaren batera, sorpresa txiki bat iragarri zuten, Marc Andreessenek, Netscapeko presidenteorde exekutiboak, Java bere nabigatzaileetan jasango zuela iragarri zuenean. Hurrengo urteko urtarrilaren 9an, Sunek JavaSoft enpresa taldea sortu zuen garapen teknologikoaz ardura zedin[4]. Bi aste geroago, Javaren lehen bertsioa argitaratu zen.

Exekuzio ingurunea nahiko segurua zen, eta web nabigatzaile nagusiek laster txertatu zuten web orrietan txertatutako Java appletak exekutatzeko aukera.

Javak aldaketa ugari izan ditu jatorrizko bertsiotik, JDK 1.0, eta liburutegiko klase eta paketeen kopurua izugarri handitu da.[5]

J2SE 1.4 bertsiotik, hizkuntzaren bilakaera JCP (Java Community Process) delakoak arautu du, Java Specification Requests (JSRs) erabiltzen duena Java plataforman aldaketak proposatu eta zehazteko. Hizkuntza bera Java Language Specification (JLS) edo Java Hizkuntzaren Zehaztapenean zehaztuta dago. JLSetako aldaketak JSR 901ean kudeatzen dira.

Filosofia

Java hizkuntza bost helburu nagusirekin sortu zen:

  1. Objektuetara bideratutako programazioaren paradigma erabili beharko luke.
  2. Programa bera sistema eragile anitzetan gauzatzeko aukera eman beharko luke.
  3. Besterik adierazi ezean, sareko lanerako euskarria izan beharko luke.
  4. Urruneko sistemetan kodea modu seguruan exekutatzeko diseinatu beharko litzateke.
  5. Erraz erabili beharko litzateke, eta objektuetara bideratutako beste lengoaietatik onena hartu, C++ adibidez.

Urruneko kodearen exekuzioa eta sareko euskarria lortzeko, Javako programatzaileek, batzuetan, CORBA (Common Object Request Broker Architecture), Internet Communications Engine edo OSGi bezalako luzapenak erabiltzen dituzte, hurrenez hurren.

Objektuetara bideratua

Lehen ezaugarria, objektuetara bideratua ("OB"), programazio metodo bati eta hizkuntzaren diseinuari buruzkoa da. OBrako interpretazio asko dauden arren, lehenengo ideia softwarea diseinatzea da, erabiltzen dituzten datu mota guztiak euren eragiketei lotuta egon daitezen. Hala, datuak eta kodea (funtzioak edo metodoak) objektu izeneko erakundeetan konbinatzen dira. Objektu bat "portaera" (kodea) eta "egoera" (datuak) jasotzen dituen pakete gisa ikus daiteke. Askotan, datu-egitura bat aldatzeak horien gainean jarduten duen kodea aldatzea dakar, edo alderantziz. Objektu koherente eta independenteetan banatze horrek oinarri egonkorragoa eskaintzen du software sistema bat diseinatzeko. Helburua da proiektu handiak erraz kudeatu eta maneiatzea, horien kalitatea hobetuz eta huts egindako proiektuen kopurua murriztuz.

Objektuetara bideratutako programazioaren beste promesetako bat erakunde generikoagoak (objektuak) sortzea da, softwarea proiektuen artean berrerabiltzea ahalbidetuko dutenak, softwarearen Ingeniaritzaren funtsezko premisetako bat. "Bezero" objektu generiko batek, adibidez, teorian portaera-multzo bera izan beharko luke hainbat proiektutan, batez ere proiektu horiek neurri batean bat datozenean, erakunde handietan gertatzen den zerbait. Alde horretatik, objektuak pieza berrerabilgarri gisa ikus daitezke, eta hainbat proiektutan erabil daitezke. Horrela, softwarearen industriak tamaina handiko proiektuak eraiki ahal izango ditu, lehendik dauden eta kalitate onekoak diren osagaiak erabiliz, eta, azkenean, garapen-denbora izugarri murriztuko da. Aluminioa erabil dezakegu objektuaren adibide gisa. Datuak (dentsitatea, xaflakortasuna, etab.) eta haien "portaera" (bi pieza soldatu, etab.) definitu ondoren, "Aluminio" objektua berrerabil daiteke eraikuntzaren, automobilaren, hegazkingintzaren eta abarren esparruan.

Softwarearen berrerabilpenak emaitza desberdinak izan ditu, eta bi zailtasun nagusi aurkitu ditu: objektu benetan generikoen diseinua oso gutxi ulertzen da, eta berrerabiltzeko aukeren komunikazio zabalerako metodologia falta da. "Kode irekiko" (Open source) komunitate batzuek arazo horretan lagundu nahi dute, garatzaileei baliabideak emanez objektu berrerabilgarrien eta objektu-liburutegien erabilerari eta aldakortasunari buruzko informazioa zabaltzeko.

Plataformaren independentzia

Bigarren ezaugarriak, plataformaren independentziak, esan nahi du Java hizkuntzan idatzitako programak berdin gauzatu daitezkeela edozein hardware motatan. Hori da behin programa bat idazteko gai izatearen eta edozein gailutan exekutatu ahal izatearen esanahia, Javaren axiomak dioen bezala, "Write once, run anywhere".

Horretarako, Java lengoaian idatzitako iturburu-kodea konbinatzen da, "Bytecode" (zehazki Java bytecode) izeneko kode bat sortzeko, Java plataformaren makina sinplifikatu espezifikoak. Pieza hori iturri kodearen eta helmuga gailua ulertzen duen makina kodearen artean "erdi bidean" dago. Bytecodea, orduan, makina birtualean exekutatzen da, helmuga plataformaren jatorrizko kodean idatzitako programa bat (bere hardwarea ulertzen duena), kodea interpretatzen eta exekutatzen duena. Gainera, gailu bakoitzaren ezaugarrietara iristeko liburutegi gehigarriak hornitzen dira (grafikoak, hari edo thread bidezko exekuzioa, sareko interfazea) modu bateratuan. Kontuan izan behar da, nahiz eta konpilazio-etapa esplizitu bat egon, sortutako bytecodea Jit (Just In Time) konpiladoreak jatorrizko kodearen makina gisa interpretatzen edo bihurtzen duela.

Teknika hauetako lehena, zuzenean, jatorrizko kodean biltzea da, konpilatzaile tradizionalek egiten duten bezala, bytecodearen etapa kenduz. Horrek errendimendu handia ematen du gauzatzean, baina eramangarritasunerako bidea estaltzen du. Jit konpilazioa (Just In Time edo "hegaldiaren konpilazioa") izeneko beste teknika batek bytecodea jatorrizko kode bihurtzen du aplikazioa exekutatzen denean. Beste makina birtual sofistikatuagoek "errekonpilazio dinamikoa" erabiltzen dute, non VM gai den exekutatzen ari den programaren portaera aztertzeko eta zati kritikoak biltzen eta optimizatzen dituen. Konpilazio dinamikoak optimizazio-maila handiagoa lor dezake konpilazio tradizionalak (edo estatikoak) baino; izan ere, bere lana gauzatzeko inguruneari eta memorian kargatutako klase-multzoari buruz lehen eskutik duen ezagutzan oinarritu daiteke. Jit konpilazioak eta birkonpilazio dinamikoak jatorrizko kodearen exekuzio-abiadura aprobetxatzeko aukera ematen diete Java programei, bien eramangarritasunaren abantaila galdu gabe.

Eramangarritasuna teknikoki zaila da lortzen, eta Javak zelai horretan izan duen arrakasta, berriz, ezberdina izan da. Nahiz eta posible den Java plataformarako programak idaztea, arkitektura ezberdineko plataforma anitzetan zuzen jarduten dutenak, horietako askok errore edo irmotasun gutxirekin, batzuetan Sun eslogana parodiatzera eramaten dute, "Write once, run anywhere", adibidez "write once, debug everywhere" (edo "idatzi behin, exekutatu edonon").

Javaren plataformaren independentzia kontzeptuak, hala ere, arrakasta handia du zerbitzariaren inguruko aplikazioetan, hala nola Web Zerbitzuetan, Servletetan, Java Beansetan, bai eta OSGin oinarritutako sistema txertatuetan ere, sartutako Java inguruneak erabiliz.

Sintaxia

Javaren sintaxia C++tik eratortzen da neurri handi batean. Baina hau ez bezala, programazio generikorako sintaxia, egituratua eta objektuetara bideratua, hasieratik eraiki zen, objektuetara erabat bideratua izateko. Javan dena objektu bat da (salbuespen batzuk izan ezik), eta Javan dena klaseren batean dago (gogora dezagun klase bat hainbat objektu sortzeko moldea dela).

C++ ez bezala, Javak ez du kategoria-gainkargarik[6] edo klaseetarako herentzia anizkoitzik, herentzia anizkoitza interfazeetarako eskuragarri dagoen arren.

Aplikazio autonomoak

Adibide horrek azalpen txiki bat behar du.

  • Javan dena klase baten barruan dago, programa autonomoak barne.
  • Iturburu-kodea artxiboetan gordetzen da, duten motaren izen berarekin eta ".java" luzapenarekin. Publiko deklaratutako klase (class) batek (public) hitzarmen honi jarraitu behar dio. Kaixo izeneko klasea badugu, zure iturburu-kodea "Kaixo.java" fitxategian gorde beharko da.
  • Konpiladoreak klase-fitxategi bat sortzen du (".class" luzapenarekin) iturri-fitxategian definitutako klase bakoitzeko. Klase anonimo bat bere izena bera inguratzen duen klasearen izenaren kateatzea, "$" ikurra eta zenbaki oso bat balitz bezala tratatzen da.
  • Modu independente eta autonomoan gauzatzen diren programek "Main ()" metodoa izan behar dute.
  • "Void" hitz erreserbatuak main metodoak ez duela ezer itzultzen adierazten du .
  • Main metodoak String motako objektuen array bat onartu behar du. Adostasunez, "Args" gisa aipatzen da, baina beste edozein identifikatzaile erabil daiteke.
  • "Static" hitz erreserbatuak adierazten du metodoa klase-metodo bat dela, klaseari lotua, haren instantzia bati lotu beharrean. Main metodoak estatikoa edo '' klasekoa '' izan behar du.
  • "Public" hitz erreserbatuak esan nahi du metodo bat beste mota batzuetatik dei daitekeela, edo klasea klasearen hierarkiatik kanpo erabil daitekeela. Beste sarbide mota batzuk "Private" edo "Protected" dira.
  • Inprimatzeko baliagarritasuna (pantailan, adibidez) Javaren liburutegi estandarraren parte da: ''System'' klaseak ''out'' izeneko eremu publiko estatikoa definitzen du. Out objektua ''PrintStream'' ren instantzia bat da, pantailan datuak iraultzeko ''println (String) '' metodoa eskaintzen duena (irteera estandarra).
  • Aplikazio autonomoak Javaren exekuzio-inguruneari main metodoa erabili behar zaion klasearen izena emanez gauzatzen dira. Adibidez, komando lerro bat (Unixen edo Windowsen) java – CP formakoa. Kaixo adibidearen programa exekutatuko duzu (aldez aurretik konpilatuta eta "Kaixo.class" sortuta). Main metodoa duen klasearen izena Javako paketatze-fitxategiko (.jar) "MANIFEST" fitxategian ere zehaztu daiteke.

Kaixo mundua -ren adibideak:

public class KaixoMundua {
    public static void main(String[] args) { 
        System.out.println("Kaixo, mundua!"); 
    } 
}


public class KaixoMundua {
     public static void main(String[] args) {
          System.out.print("Kaixo,");
          System.out.print(" mundua!");
     }
}

Appletsak

Java appletak beste aplikazio batzuetan txertatutako programak dira, normalean nabigatzaile batean erakusten den web orri bat.

// Kaixo.java
import javax.swing.JApplet;
import java.awt.Graphics;

public class Kaixo extends JApplet {

    public void paint(Graphics g) {
        g.drawString("Kaixo, mundua!", 65, 95);
    }

}


 <!-- Kaixo.html -->
<html>
  <head>
    <title>Applet Kaixo Mundua.</title>
  </head>
  <body>
    <applet code="Kaixo.class" width="200" height="200">
    </applet>
  </body>
</html>

Gaur egun, HTML 5ek <applet> etiketaren erabilera ezabatu du. Baina oraindik badago HTML5en erabiltzeko modua. (Ingelesez) Java Applets in HTML5.

Inport sententziak Javako konpilatzaileari adierazten dio java.applet klaseak, Applet eta java.awt barne har ditzala. Graphics, izenen arabera aipatu ahal izateko, iturburu-kodean erabili nahi diren bakoitzean ibilbide osoa lehenetsi behar izan gabe.

Kaixo klasea Applet klasera hedatzen da, hau da, honen azpiklasea da. Applet klaseari esker aplikazioak appletaren egoera erakutsi eta kontrolatu dezake. Applet klasea AWT (Abstract Window Toolkit) delakoaren osagaia da. Apletek erabiltzaile-interfaze grafikoa edo GUI (Graphical User Interface) erakusteko eta erabiltzaileak sortutako gertaerei erantzuteko aukera ematen du.

Kaixo klasea paint (Graphics) metodoaz gainkargatzen da (Applet kasu honetan), marrazteaz arduratzen den kodean sartzeko. Paint () metodoak Graphics objektu bat jasotzen du, applet marrazteko testuinguru grafikoa duena. Paint () metodoak objektuaren drawString (String, int, int) metodoari deitzen dio.[7]

Funtzionamendu-inguruneak

  • Gailu mugikorretan eta sistema txertatuetan.[8]
  • Web nabigatzaileetan.
  • Zerbitzari-sistemetan.
  • Mahaigaineko aplikazioetan: Zerbitzariaren aldean, Java inoiz baino ezagunagoa da, Servlets eta JSP (Java Server Pages) espezifikazioa agertu zenetik.
  • Eutsitako plataformetan: Java JRE (Java Runtime Environment) exekuzio-ingurunearen bertsio bat mahaigaineko ekipo gehienetan dago eskuragarri.

Programazioa

Adierazpenak

Adierazpenak elementu edo token segida bat dira, literalekin ere bai, emaitza bat kalkulatzeko ebaluatu behar direnak. Tokenak programetako elementu txikienak dira, konpilatzailearentzat ulergarriak direnak. Javan tokenak bost kategoriatan banatzen dira:

Identifikatzaileak: Javaren kodean aldagai, mota, pakete, metodo eta konstanteei esleitutako izenei ematen zaizkien irudikapenak dira, konpiladoreak identifika ditzan eta programatzaileak uler ditzan. Javan, identifikatzaileek letra larriak edo xeheeak bereiz ditzakete, case sensitive delako; beraz, "Nirealdagaia" izena duen aldagaia ez da "nirealdagaia" ren berdina, Javak aldagai desberdin gisa identifikatzen baititu. Zenbakiak ere erabil daitezke, edo "_" zeinua, identifikatzaile bat esleitzeko.

Gako-hitzak: Javak kodean eta konpiladorean helburu espezifiko bat betetzeko erreserbatutako identifikatzaileak dira, modu mugatuan eta kasu espezifikoetan erabiltzen direnak. Javak erabiltzen dituen hitz gakoak honako hauek dira:

abstract boolean break byte case
catch char class continue default
do double else extends false
final finally float for if
implements import instanceof int interface
long native new null package
private protected public return short
static super switch syncronized this
throw throws transient true try
void volatile while var rest
byvalue cast const future generic
goto inner operator outer

Letra lodiz dauden hitzak, gaur egungo Javaren bertsioan erabiltzen ez badira ere, hitz gakoak dira, hurrengo bertsioetan txertatu nahi direnak.

Literalak eta konstanteak: Literalak, aldagai bati balioak esleitzeko elementuak dira, hau da, aldagai batek har dezakeen balioa (zenbakizkoa izan daitekeen balio konstante bat ere bada). Konstanteak, balio finkoa duten aldagaiak dira, kodean zehar alda ezin daitezkeenak; final eta static aldatzaileen bidez deklaratzen dira.

final static double pi= 3.1416;

Operadoreak: Identifikatzaile edo konstante bati buruz objektu edo datu bati aplikatzen zaion ebaluazio bat adierazten digutenak dira. Operadoreen adibide batzuk batuketa, kenketa edo biderketa izan daitezke.

Bereizgailuak: Javako konpiladoreari kodeko elementuen kokapena adierazteko erabiltzen dira. Javak onartzen dituen bereizgailuak hauek dira: { },:;

Javako konpiladoreak iruzkinak ere identifikatzen eta ezabatzen ditu, baita espazio hutsak eta tabulaziokoak ere, eta, beraz, ez dira token baten zatitzat hartzen.

Adierazpenak aldagaien, operadoreen eta metodoen konbinazioa izan daitezke. Adierazpenak kalkuluak egiteko, aldagaiei balioak esleitzeko edo programaren fluxua kontrolatzeko erabiltzen dira.

Operadoreak

Javaren adierazpenak dira, eragiketa bat egin ondoren emaitza bat itzultzen dutenak. Operadore batek maneiatzen duen operadore kopuruaren arabera, bi motatakoa izan daiteke: unarioa edo bitarra.

Operadore unarioak balio bat itzultzeko operadore bakarra behar dutenak dira.

Operadorea Deskribapena
- Zeinu aldaketa
! NOT operadorea
~ 1-ari osagarria

Operadore bitarrak balio bat itzultzeko bi operadore edo gehiago behar dituztenak dira.

Operadoreak Deskribapena
+ - * / % Operadore aritmetikoak
== != < > <= >= Operadore erlazionalak
&& || ^ Operadore boolearrak
^ << >> >>> Operadoreak bit mailean
+ Kateen kateatzea

BIT mailako operadoreak

~ 1-ari osagarriak digituak inbertitzen ditu, 0tik 1era eta 1etik 0ra aldatuz. Adibide bat izan daiteke:

  11001011
~ 11001011 emaitza 00110100

Ikus daitekeenez, balioak 0tik 1era eta 1etik 0ra aldatzen dira. & AND bit-mailan, AND eragiketa egiten du bit-zenbaki biren artean, non bi bit 1 baldin badira, emaitza 1 izango da, bestela 0 izango da, adibide bat izan daiteke:

 egoera
   01001101
 & 10011011 
______________ 
   00001001

| OR bit-mailan, OR eragiketa bat egiten du. Eragiketa horretan, bi zenbakietako bat 1 bada, emaitza 1 izango da. Adibide bat izan daiteke:

  11001101
| 01011101

______________

11011101

Bit mailan, operadore honek XOR eragiketa egiten du. Eragiketa horretan, bi zenbakiak berdinak badira, emaitza 0 izango da; bestela, 1 izango da. Adibide bat izan daiteke:

  00101001

^ 01101101 ______________

01000100

< < Desplazamendua ezkerrera, operadore horrek bit bat mugitzen du ezkerrean, adibidez:

01101110

01101110 << 1 = 11011100

Joan-etorria egitean ikus daitekeenez, 0 digitu bat txertatzen da eskuinetara.

Operadoreen lehentasuna

Operadoreak adierazpenen zati nagusi bat dira, eta erabilera mota eta modua funtsezkoa da programatzeko orduan, baina horiek erabiltzeko arau batzuk hartu behar dira kontuan, operadoreen lehentasuna, esaterako.

Operadoreak beren lehentasunaren arabera exekutatzen dira: lehentasun handiagoa badute, lehentasun txikiagoko operadoreak baino lehenago ebaluatuko dira; kasualitatez lehentasun-maila bereko operadoreak aurkezten badira, horiek eskuinetik ezkerrera ebaluatuko dira; eta operadore bitarrak badira (esleipen-operadoreak izan ezik), ezkerretik eskuinera ebaluatuko dira. Javari adieraz dakioke zein operadorek ebaluatu behar duen lehenik, "()" parentesien bidez bere lehentasuna axola gabe; horrela, Javaren konpiladoreak interpretatzen du lehenik parentesien barruan dauden eragiketak gauzatu behar dituela, eta gero gainerako operadoreekin jarraitu.

Taula honetan Javan erabilitako operadoreak sailkatzen dira, haien lehentasun-mailaren arabera, eta maila altuena goian dago:

Operadore motak Operadoreak
Operadore posfinkoak [ ] . (parametroak) espr++ espr--
Operadore unarioak ++espr --espr +espr -espr ~ !
Sortzea edo bihurtzea New (mota) espr
Biderketa * / %
Gehiketa + -
Desplazamendua << >> >>>
Konparazioa < > <= >= instanceof
Berdintasuna == !=
AND bit-mailan &
OR bit-mailan |
XOR bit-mailan ^
AND logikoa &&
OR logikoa ||
Kondizionala ? :
Asignazioa = += -= *= /= %= &= ^= |= <<= >>= >>>=

Javako operadoreen lehentasunaren adibide bat honako hau izan daiteke: kode bat dugu, eragiketa aritmetiko batzuk egiteaz arduratuko dena:

int zenbakia1 = 3;
int zenbakia2 = 4;
int emaitza;
emaitza = zenbakia1 + zenbakia2 * 3;
System.out.println (emaitza); //Honek pantailaratuko du 15 zenbakia.

Operadoreen lehentasunaren arabera, "*" biderkapenak "+" biderkatzeak baino lehentasun handiagoa du; beraz, lehenik biderkatzea gauzatzen da eta gero batuketa egiten da.

int zenbakia1 = 3;
int zenbakia2 = 4;
int emaitza;
emaitza = (zenbakia1 + zenbakia2) * 3;
System.out.println (emaitza); //Honek 21 zenbakia pantailaratuko du.

Kasu horretan, emaitza aldatu egiten da; izan ere, lehenik, parentesiaren barruan dauden parametroak ebaluatzen dira, eta, ondoren, gainerako parametroak ebaluatzen dira. Javak garapenerako ematen duen gomendioetako bat 3 operadore baino gehiagoko eragiketetan parentesiak erabiltzea da; horrela, kodea irakurtzea errazagoa egiten da eta akatsak saihesten dira konpilatzeko unean.

Sententziak

Javan egiten diren ekintza sekuentzia baten irudikapena dira sententziak. Sententzien funtsezko gakoa azken puntua da, sententzia amaitu dela eta hurrengoarekin jarrai dezakeela adierazten duena. Erabilitako adierazlea puntu eta koma (;) zeinua da. Javan, esleitzekoak, begiztatzekoak, jauzikoak eta baldintzazkoak izan daitezkeen sententziak ditugu. Sententziak, oro har, instantzia batek eta operadore batek osatzen dituzte. Adibide bat esleipen-epaia da, eta aldagai bateko instantzia batek, esleipen-zeinuak eta esamolde batek osatzen dute. Hona hemen adibide bat:

int aldagaia = 12+2;

Sententziak esleitzerako orduan, balio bat esleitzen zaio aldagai edo konstante bati. Baldintzapeko sententziak dira programaren exekuzio-fluxua definitzeko baldintza bat adierazten dutenak; besteak beste, if-else eta switch ditugu. Begizten sententziek denbora jakin bat tardatzen dute ekintza jakin bat egiten, edo baldintza bat bete arte; horien artean ditugu while, do-while, eta for. Jauzi egiteko sententziek programaren puntu zehatz batera eramaten dute konpilatzailea, edo hurrengo exekuzio-sententziarantz; besteak beste, break, continue eta return ditugu.

Lotutako industria

Sun Microsystemek, Java programazio-lengoaiaren eta JDK plataformaren sortzaile gisa, politika sendoak mantentzen ditu hizkuntzaren eta makina birtualaren espezifikazio bat[9] JCPren bidez mantentzeko.[10]

Ezin konta ahala dira Javarako aplikazioak garatzen dituzten eta/edo teknologia honekin iraulita dauden konpainiak:

  • Telefonia mugikorraren industriak Java teknologiaren eragin handia du.
  • Netbeans eta Eclipse garapen inguruneek leku garrantzitsua hartu dute Java garatzaileen komunitatearen artean.
  • Apache fundazioak ere presentzia handia du Javan oinarritutako liburutegi eta zerbitzari osagaien garapenean.
  • IBM, Bea, Iona, Oracle... interes handiko enpresak dira, eta Javan eta Javarentzat sortutako produktuak.

Kritikak

1995ean norbaitek esan zuen Java software konplexuaren kudeaketan bide berri bat irekitzeko sortu zela, eta orokorrean onartua da alderdi horretan ondo jokatu duela. Hala ere, ezin da esan Javak pitzadurarik ez duenik, ezta programazio estilo guztietara erabat egokitzen denik ere, inguru guztietara, edo behar guztietara.

Kanpoko Loturak

Oracle - Sun

Tutorialak

Kritikak

Erreferentziak

  1. «Programming Language Popularity» web.archive.org 2009-01-16 (kontsulta data: 2019-10-17).
  2. «TIOBE Index | TIOBE - The Software Quality Company» www.tiobe.com (kontsulta data: 2019-10-17).
  3. «Jonathan Schwartz's Blog: Different Isn't Always Better, But Better's Always Different» web.archive.org 2009-09-05 (kontsulta data: 2019-10-17).
  4. «Oracle and Sun Microsystems | Strategic Acquisitions | Oracle» www.oracle.com (kontsulta data: 2019-10-17).
  5. (Gaztelaniaz) (PDF) Dibujando sobre lienzos en Java. .
  6. (Ingelesez) Archiveddocs. «Operator Overloading (C# vs Java)» docs.microsoft.com (kontsulta data: 2019-10-25).
  7. «Deploying Applets in a Mixed-Browser Environment» web.archive.org 2006-06-29 (kontsulta data: 2019-10-25).
  8. «Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle» www.oracle.com (kontsulta data: 2019-10-25).
  9. «Java SE Specifications» docs.oracle.com (kontsulta data: 2019-10-25).
  10. «Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle» www.oracle.com (kontsulta data: 2019-10-25).

Kanpo estekak

Wikimedia Commonsen badira fitxategi gehiago, gai hau dutenak: Java (programazio-lengoaia) Aldatu lotura Wikidatan