Java ni nini? Lugha ya programu ya Java (Java). Lugha ya programu inayolengwa na kitu

13K

Katika mwongozo huu, tutashughulikia kila kitu unachohitaji kujua kabla ya kuanza kusoma. programu katika Java. Utajifunza kuhusu uwezo wa jukwaa, matumizi yake, na jinsi ya kuanza kujifunza Java kwa usahihi.

Lugha ya programu ya Java ni nini?

Mnamo 1991, "Timu ya Kijani", mgawanyiko wa Sun Microsystems, iliyoongozwa na James Gosling, iliunda lugha ya kutayarisha vifaa vya kielektroniki vya watumiaji. Wakati huo iliitwa Oak ("Oak"). Kwa nini "Oak"? Kwa sababu tu mti huu ulikua nje ya dirisha la ofisi ya Gosling.

Timu ya Kijani ilionyesha matumizi ya Oak katika runinga inayoingiliana. Lakini kwa televisheni ya cable ya digital ya miaka hiyo, teknolojia hii ilikuwa ya juu sana. Wakati huo huo, mtandao ulikuwa unapata umaarufu, ambayo lugha mpya ya programu ilifaa zaidi.

Baada ya muda, lugha mpya iliitwa Green, na baada ya hapo - Java, kwa heshima ya kahawa kutoka kisiwa cha Java. Ndio maana nembo ya Java ina kikombe cha kahawa.

Wakati wa ukuzaji wa Java, C/C++ ilikuwa maarufu, kwa hivyo Gosling alifanya syntax ya lugha hiyo sawa na C/C++ na kutekeleza " andika mara moja - kukimbia popote" Mnamo 1995, Sun Microsystems ilitoa toleo rasmi la kwanza la Java. Na wakati huo huo ilitangazwa kuwa Java itajumuishwa kwenye kivinjari cha Netscape Navigator.

Mnamo 2010, Sun Microsystems, pamoja na lugha ya programu ya Java, ilinunuliwa na Oracle Corporation.

Historia ya toleo la Java

  1. Juni 1991 - kuanza kwa mradi wa maendeleo lugha ya programu Java.
  2. JDK 1.0 - Januari 1996.
  3. JDK 1.1 - Februari 1997.
  4. J2SE 1.2 - Desemba 1998.
  5. J2SE 1.3 - Mei 2000.
  6. J2SE 1.4 - Februari 2002.
  7. J2SE 5.0 - Septemba 2004.
  8. Java SE 6 - Desemba 2006.
  9. Java SE 7 - Julai 2011.
  10. Java SE 8 - Machi 18, 2014.
  11. Java SE 9 - Septemba 21, 2017.

Vipengele vya Lugha ya Kupanga Java

Java ni lugha ya jukwaa mtambuka

Nambari ya Java iliyoandikwa kwenye jukwaa moja ( yaani mfumo wa uendeshaji), inaweza kuendeshwa bila marekebisho kwenye majukwaa mengine.

Java hutumiwa kuendesha Java ( Java Virtual Machine, JVM) JVM huchakata msimbo wa byte, baada ya hapo processor huchakata msimbo uliopokelewa kutoka kwa JVM. Mashine zote pepe hufanya kazi sawa, kwa hivyo msimbo sawa unaendesha sawa kwenye mifumo yote ya uendeshaji, ambayo ndiyo inafanya Java kuwa lugha ya programu ya jukwaa.

Lugha ya programu inayolengwa na kitu

Kuna mitindo tofauti ya programu, na moja ya maarufu zaidi ni programu inayolenga kitu. Kwa njia hii, shida ngumu imegawanywa katika ndogo kwa kuunda vitu. Shukrani kwa hili, kanuni inaweza kutumika tena.

Vitendaji vinavyolenga kitu hupatikana katika lugha nyingi za programu, ikiwa ni pamoja na Java, Python, na C++. Ikiwa una nia ya dhati ya kujifunza kupanga, mbinu zinazolenga kitu zinafaa kuongezwa kwenye mpango wako wa kujifunza.

Java ni haraka

Matoleo ya awali lugha ya programu Java mara nyingi imekuwa ikikosolewa kwa kuwa polepole. Lakini leo hali imebadilika sana. Matoleo mapya ya JVM yanaendeshwa kwa kasi zaidi, na wasindikaji wanaoyafasiri yanakuwa kwa kasi zaidi na zaidi.

Leo Java ni mojawapo ya lugha za programu za haraka zaidi. Msimbo wa Java ulioboreshwa vizuri huendesha karibu haraka kama lugha za kiwango cha chini za programu kama vile C/C++ na kwa haraka zaidi kuliko Python, PHP, n.k.

Java ni jukwaa salama

Java ni:

  • jukwaa salama la kuendeleza na kuzindua maombi;
  • hutoa zana za usimamizi wa kumbukumbu otomatiki, ambayo inapunguza hatari ya msimbo;
  • inahakikisha uhamishaji wa data salama.

Maktaba ya kina ya msingi

Moja ya sababu kwa nini Java imeenea sana ni maktaba yake kubwa ya kawaida. Ina mamia ya madarasa na mbinu kutoka kwa vifurushi mbalimbali vinavyorahisisha maisha kwa wasanidi programu. Kwa mfano,

java.lang ni chaguo za kukokotoa za hali ya juu za mifuatano, safu n.k.

java.util - maktaba ya kufanya kazi na miundo ya data, misemo ya kawaida, tarehe na wakati, nk.

kava.io - maktaba ya pembejeo / pato la faili, utunzaji wa kipekee, nk.

Utumiaji wa Jukwaa la Java

Kabla ya kujifunza Java programu kutoka mwanzo, unahitaji kujua kuwa zaidi ya vifaa bilioni 3 kote ulimwenguni hufanya kazi kwenye jukwaa hili. Inaweza kutumika kwa nini hasa:

  1. Programu za Android - Ili kutengeneza programu za Android, lugha ya programu ya Java mara nyingi hutumiwa pamoja na Android SDK ( kutoka kwa vifaa vya ukuzaji wa programu za Kiingereza - vifaa vya ukuzaji wa programu).
  2. Programu za Wavuti - Java hutumiwa kuunda programu za wavuti kwa kutumia programu za seva, mfumo wa Struts na JSP. Baadhi ya programu maarufu za wavuti zilizoandikwa katika Java ni: Google.com, Facebook.com, eBay.com, LinkedIn.com.

Ni muhimu kuzingatia kwamba tovuti hizi si lazima zimeandikwa katika Java pekee, na zinaweza kutumia lugha nyingine za programu pia.

  1. Maendeleo ya programu- programu kama vile Eclipse, OpenOffice, Vuze, MATLAB na zingine nyingi zimeandikwa katika Java.
  2. Usindikaji wa Data Kubwa - kuchakata "data kubwa" unaweza kutumia mfumo wa Hadoop ulioandikwa katika Java.
  3. Mifumo ya biashara- kwa kutumia jukwaa Oracle Extreme Java Trading Platform, unaweza kuandika programu za biashara.
  4. Vifaa vilivyopachikwa- leo mabilioni ya vifaa, kama vile TV, SIM kadi, vichezaji vya Blu-ray, n.k., vinatokana na teknolojia ya Java Embedded kutoka Oracle.

Pia programu katika Java hutumiwa kukuza michezo, matumizi ya kisayansi ( kwa mfano, kwa usindikaji wa lugha asilia) na katika maeneo mengine mengi.

Istilahi za Java Unapaswa Kujua

Java ni seti ya teknolojia ( lugha ya programu na jukwaa la kompyuta), iliyoundwa kuunda na kuendesha programu. Walakini, neno Java mara nyingi hurejelea lugha ya programu yenyewe.

Lugha ya programu Java ni lugha ya programu ya jukwaa-mtambuka, yenye mwelekeo wa kitu, na madhumuni ya jumla yenye uwezo mkubwa.

Java 9 ndio toleo la hivi punde la Java wakati wa uandishi huu.

Java EE, Java Me na Java SE - majina haya yanawakilisha Toleo la Biashara la Java, Toleo la Micro na Toleo la Kawaida, mtawalia.

Java EE inalenga programu zinazoendeshwa kwenye seva. Java ME imeundwa kwa ajili ya vifaa visivyo na nguvu kama vile vifaa vilivyopachikwa. Java SE ni toleo la kawaida la Java kwa kuandika programu za jumla.

Ikiwa wewe ni mpya Upangaji wa Java, tunapendekeza kuanza na Java SE.

JVM - Java Virtual Machine (" Mashine pepe ya Java") ni programu inayoruhusu kompyuta kuendesha programu zilizoandikwa katika Java.

Mazingira ya JRE - Java Runtime (“ Wakati wa utekelezaji wa Java") inajumuisha JVM, maktaba zinazohusiana, na vipengele vingine vinavyohitajika ili kuendesha programu. Lakini JRE haina mkusanyaji, debugger, au zana zingine za ukuzaji.

JDK - Seti ya Maendeleo ya Java Msanidi wa Java) ina JRE na zana zingine za ukuzaji kama vile watunzi, vitatuzi, n.k.

Jinsi ya kuendesha Java kwenye mfumo wako wa kufanya kazi

Jinsi ya kuendesha Java kwenye Mac OS

Hapa kuna nini cha kufanya kwa Java programu kutoka mwanzo na kusanikisha jukwaa kwenye Mac OS X au macOS:

  1. Pakua toleo la hivi karibuni la Java ( JDK) na Kurasa za kupakua za Java SE.
  2. Bofya mara mbili kwenye faili ya DMG iliyopakuliwa na ufuate maagizo ya kisakinishi.
  3. Ili kuthibitisha usakinishaji, fungua terminal na uweke amri ifuatayo:

toleo la javac

Ikiwa Java imewekwa kwa usahihi, toleo la programu litaonyeshwa kwenye skrini ( kwa mfano javac 1.8.0_60).

Hatua inayofuata ni kufunga IDE ( mazingira jumuishi ya maendeleo) kwa kuandika na kuendesha msimbo wa Java. Tutasakinisha toleo la bure la IntelliJ IDEA na kuendesha Java juu yake. Hapa ndio unahitaji kufanya ili kufanya hivi:

  1. Enda kwa Ukurasa wa kupakua wa IntelliJ na upakue Toleo la Jumuiya bila malipo.
  1. Fungua faili ya DMG iliyopakuliwa na ufuate maagizo ya usakinishaji. Kwa ufikiaji wa haraka, unaweza kuhamisha IntelliJ IDEA hadi kwenye folda ya Programu.
  2. Fungua IDEA ya IntelliJ. Chagua chaguo "Usiingize mipangilio" (" Usiingize mipangilio") na bofya "Sawa". Baada ya hayo, ukubali sera ya faragha ya Jetbrains kwa kubofya kitufe cha "Kubali".
  3. Sasa unaweza kubinafsisha kiolesura chako. Unaweza pia kuruka hatua hii na kuacha kila kitu kama chaguo-msingi. Ikiwa huna uhakika, ruka tu hatua hii kwa kubofya kitufe cha "Ruka Zote na Uweke Chaguomsingi" (" Ruka kila kitu na uweke mipangilio chaguomsingi»).
  1. Programu itakuonyesha ukurasa wa kukaribisha. Bonyeza kitufe "Unda Mradi Mpya" (" Unda mradi mpya»).
  2. Katika dirisha linalofuata, chagua "Java" kwenye kidirisha cha kushoto na ubofye "Mpya" juu ya dirisha la programu ili kuchagua "JDK". Hapa unahitaji kuchagua mahali ambapo umeweka JDK, na kisha bofya Ijayo.
  1. Utakuwa na chaguo la kuunda mradi kutoka kwa kiolezo ("Unda mradi kutoka kwa kiolezo"). Tunapuuza na bonyeza kitufe cha "Next".
  2. Katika hatua inayofuata ya ufungaji lugha ya programu Java ingiza jina la mradi na ubofye kitufe cha "Maliza".
  3. Katika paneli ya kushoto utaona mradi wako. Ikiwa paneli haionekani, nenda kwenye menyu Mionekano > Zana ya Windows > Mradi.
  4. Nenda kwa Hello > Mpya > Java na upe darasa jina. Tuliita Kwanza.
  1. Ili kuendesha programu uliyoandika hivi punde, nenda kwa Run > Run... Bofya Kwanza ( yaani, jina la faili tulilounda

Jinsi ya kuendesha Java kwenye Linux

Kuendesha mifano kutoka masomo ya programu kutoka mwanzo Java kwenye Linux itahitaji Kifaa cha Maendeleo cha JAVA SE ( JDK) na IDE ya kuendeleza miradi yako. Fuata maagizo hatua kwa hatua ili kuanza kutumia Java.

Sakinisha Java

  1. Fungua terminal na chapa amri ifuatayo ili kusakinisha Java:

    sudo add-apt-repository ppa:webupd8team/java sudo apt sasisho; sudo apt install oracle-java8-installer

  1. Kubali makubaliano ya leseni na masharti ya matumizi kwa kubofya "Sawa" na "Ndiyo", mtawalia.
  2. Umesakinisha Java. Ili kuthibitisha kuwa usakinishaji ulifanikiwa, ingiza amri ifuatayo kwenye terminal:

toleo la java

Ikiwa toleo la sasa linaonyeshwa, usakinishaji ulifanikiwa. Ikiwa sivyo, angalia na Ukurasa wa usaidizi wa Oracle.

Inasakinisha IntelliJ IDEA

  1. Enda kwa .
  1. Pakua Toleo la Jumuiya bila malipo kwa kubofya kitufe cha "Pakua".
  2. Baada ya kupakua badilisha saraka kwenye terminal kwa saraka yako ya upakuaji na toa faili ya Java tar kwenye /opt folda na amri ifuatayo:

sudo lami xf .tar.gz -C /opt/

  1. Baada ya kufungua, badilisha saraka kuwa folda ya bin ya programu ya IntelliJ IDEA:

    cd /opt/ /bin

  2. Ili kuanza IDE, ingiza amri ifuatayo:
  3. Chagua "Usiingize mipangilio" (" Usiingize mipangilio") na bofya "Sawa". Baada ya hayo, tunakubali sera ya faragha ya Jetbrains kwa kubofya kitufe cha "Kubali".
  4. Sasa kwa kifungu kozi za programu Java, unaweza kubinafsisha kiolesura chako. Unda njia ya mkato kwenye eneo-kazi lako kwa ufikiaji wa haraka wa programu. Baada ya hayo, ili kuzindua IDE, bofya "Next" katika hatua zote zifuatazo.
  5. Programu itaonyesha ukurasa wa kukaribisha. Bonyeza "Unda Mradi Mpya" (" Unda mradi mpya»).
  6. Katika dirisha linalofuata, chagua "Java" kwenye kidirisha cha kushoto na uhakikishe kuwa Java imechaguliwa kwenye mstari wa Mradi wa SDK. Ikiwa sivyo, basi chagua mahali ulipoweka JDK: /usr/lib/jvm/java-8-oracle.
  1. Bonyeza "Next" mara mbili na uunda mradi.
  2. Katika hatua inayofuata, ingiza jina la mradi na ubofye kitufe cha "Maliza". Sasa utaona mradi wako kwenye paneli ya kushoto. Ikiwa paneli hii haionekani, nenda kwenye menyu Mionekano > Zana ya Windows > Mradi.
  3. Ongeza darasa jipya la Java. Chagua src kwenye kidirisha cha kushoto na ubofye kulia na uende kwa New > Java Class. Weka jina la darasa. Jina la darasa lazima lisiwe na nafasi.
  1. Andika msimbo wa Java na uhifadhi mradi.
  2. Ili kuendesha programu, nenda kwa Run > Run... Bofya HelloWorld ( Jina la mradi) - programu itakusanya faili na kuiendesha.

Jinsi ya kuendesha Java kwenye Windows (XP, 7, 8 na 10)

Ili kujua Java misingi ya programu na kuendesha jukwaa kwenye Windows, utahitaji JAVA SE Development Kit (JDK) na IDE kwa ajili ya kuendeleza miradi. Fuata maagizo ya hatua kwa hatua hapa chini:

Inasakinisha Java

  • Enda kwa ukurasa wa kupakua Seti ya Ukuzaji ya Toleo la Kawaida la Java.
  1. Katika sehemu ya Java SE Development Kit juu ya jedwali, bofya "Kubali makubaliano ya Leseni" (" Kubali makubaliano ya leseni"). Kisha bofya kwenye kiungo Windows (x64) ikiwa una mfumo wa uendeshaji wa 64-bit au Windows (x86) ikiwa una 32-bit OS.
  1. Baada ya kupakua, endesha faili ya usakinishaji na ufuate maagizo yanayoonekana kwenye skrini. Bonyeza " Inayofuata" Chagua vitendaji vyote kwa kubonyeza " Kipengele hiki kitasakinishwa kwenye diski kuu ya ndani"na nakala ya eneo la usakinishaji ( imeangaziwa kwa manjano) kwenye Notepad, kisha ubofye tena Inayofuata».
  1. Wakati wa mchakato wa usakinishaji, utaulizwa kusakinisha JRE. Bofya "Inayofuata" na kisha "Maliza" ili kukamilisha usakinishaji.
  2. Sasa unahitaji kuhariri utofauti wa PATH. Enda kwa Jopo la Kudhibiti > Mfumo na Usalama > Mfumo. Kwenye kidirisha cha kushoto, chagua " Vigezo vya ziada vya mfumo".
  1. Bonyeza " Vigezo vya mazingira". Katika sura " Vigezo vya mfumo" Pata kutofautisha kwa PATH na kwenye dirisha linalofuata bonyeza "Hariri".
  1. Chagua maandishi yote kwenye " Thamani inayobadilika" na unakili katika faili tofauti ya maandishi. Hii itarahisisha kuhariri na kuangalia makosa. Angalia ikiwa maandishi yaliyonakiliwa yana mstari: C: ProgramData Oracle Java javapath; . Ikiwa ndio, basi unaweza kuendelea na hatua inayofuata. Ikiwa sivyo, basi bandika eneo la usakinishaji ulilonakili mapema mwanzoni mwa kutofautisha na uongeze bin mwishoni mwa mstari kama hii: C : Faili za Programu (x 86) Java jdk 1.8.0_112 bin ; Tafadhali kumbuka kuwa toleo lako la JDK (jdk 1.8.0_112) linaweza kuwa tofauti. Nakili thamani ya kutofautisha na ubandike kwenye kisanduku cha PATH.
  1. Bonyeza " sawa" ili kuhifadhi mabadiliko yako.
  2. Ili kuangalia ikiwa jukwaa limewekwa kwa usahihi utangulizi wa programu Java, fungua mstari wa amri kwa kuandika cmd kwenye upau wa utaftaji wa Windows au kupitia amri ya "Run..." ( Windows - R) Ingiza amri ya toleo la java. Ikiwa toleo la sasa la Java linaonyeshwa, usakinishaji ulifanikiwa. Ikiwa sivyo, angalia na Ukurasa wa usaidizi wa Oracle.

Inasakinisha IntelliJ IDEA

  1. Enda kwa Ukurasa wa upakuaji wa IntelliJ IDEA.
  2. Pakua Toleo la Jumuiya bila malipo kwa kubofya "Pakua".
  1. Mara baada ya kupakuliwa, endesha faili ya usakinishaji na ufuate maagizo yanayoonekana kwenye skrini. Kisha unda njia ya mkato ya eneo-kazi kwa toleo la 64-bit na uongeze uhusiano na kiendelezi cha .java. Bonyeza "Ifuatayo" na uendelee na usakinishaji.
  1. Mara tu ikiwa imewekwa, fungua IntelliJ IDEA kwa kubofya ikoni ya eneo-kazi.
  2. Chagua "Usiingize mipangilio" (" Usiingize mipangilio") na bofya "Sawa". Baada ya hayo, tunakubali sera ya faragha ya Jetbrains kwa kubofya "Kubali".
  3. Sasa unaweza kubinafsisha kiolesura chako. Unaweza pia kuruka hatua hii na kuacha kila kitu kama chaguo-msingi kwa kubofya kitufe cha "Ruka Zote na Uweke Chaguomsingi".
  4. Programu itaonyesha ukurasa wa kukaribisha. Bonyeza "Unda Mradi Mpya" (" Unda mradi mpya»).
  1. Katika dirisha linalofuata, chagua "Java" kwenye kidirisha cha kushoto na ubofye "Mpya" juu ya dirisha la programu ili kuchagua JDK. Hapa unahitaji kuchagua mahali ambapo umeweka JDK wakati wa ufungaji wa Java, na kisha bofya "Next".
  2. IntelliJ IDEA itapata JDK na kuitambua. Hakuna haja ya kuashiria chaguzi nyingine yoyote, bonyeza tu "Next".
  3. Kwenye skrini inayofuata, ingiza jina la mradi: HelloWorld na ubofye Maliza. Ikiwa programu inasema kwamba saraka haipo, bofya OK. Ikiwa huoni kidirisha cha kushoto, nenda kwa Maoni > Zana ya Windows > Mradi.
  4. Ili kuweka jina la darasa, chagua folda ya src kwenye kidirisha cha kushoto. Bonyeza kulia juu yake, nenda kwa Mpya > Java na uweke jina la darasa. Jina la darasa lazima lisiwe na nafasi.
  1. Andika msimbo na uhifadhi mradi wa Java somo la programu.
  2. Ili kuendesha programu, nenda kwenye menyu Run > Run... Bofya kwenye HelloWorld - programu itakusanya faili na kuiendesha.

Programu yako ya kwanza ya Java

Ili kuwatambulisha watumiaji kwa lugha mpya ya programu, wanatumia programu ya Hello World ("Hujambo, ulimwengu!"). Huu ni programu rahisi inayoonyesha maneno Hello, World! Katika sehemu hii, tutakufundisha jinsi ya kuandika programu hii katika Java kwa kutumia IntelliJ IDEA.

  1. Fungua IDEA ya IntelliJ.
  2. Nenda kwa Faili > Mpya > Mradi... > Java ( katika upau wa kusogeza wa kushoto).
  3. Weka Jina la Mradi kutoka kozi ya programu J a va. Tutaiita Hello World na ubofye Maliza.
  4. Sasa tunahitaji kuunda darasa mpya la Java.
  5. Chagua folda ya src kwenye kidirisha cha kushoto, kisha uende kwa Faili > Mpya > Darasa la Java na upe jina la darasa jipya HelloWorld.
  6. Nakili msimbo ufuatao kwenye faili ya HelloWorld.java na uihifadhi.

darasa la umma HelloWorld ( utupu wa utupu wa umma (String args) ( // huchapisha "Hujambo, Ulimwengu!" System.out.println("Hujambo, Ulimwengu!"); ) )

  1. Bonyeza kitufe cha kuanza ( Kimbia) Ikiwa kila kitu kiko sawa, utaona Hello, Dunia!

Jinsi ya kujifunza Java?

Hati rasmi ya Java

Oracle, kampuni inayomiliki Java, huchapisha mafunzo ya ubora. Nyaraka rasmi inashughulikia vipengele vyote vya Java na inasasishwa mara kwa mara.

Kumbuka: hasi pekee ni kwamba nyaraka rasmi za Java haziandikwa kila wakati kwa lugha rahisi zaidi.

Kama kweli unataka kujifunza programu katika Java, nunua kitabu kizuri. Bila shaka, kurasa 1000 haziwezi kusomwa kwa siku moja. Lakini mafunzo mazuri yatakusaidia kujifunza programu.

Java: Mwongozo Kamili (Toleo la 10)

Kitabu kizuri kwa wale wanaoanza kujifunza Java. Toleo la hivi punde linajumuisha vipengele vyote vya toleo la Java 8.

Kitabu hiki kinashughulikia kila kitu unachohitaji kujua kuhusu programu ya Java, ikiwa ni pamoja na syntax, maneno muhimu, na misingi ya programu, pamoja na maktaba ya Java API, applets za Java, na zaidi.

Falsafa ya Java (Toleo la 4)

Ikiwa unatumia Java kutoka lugha nyingine ya programu, kitabu hiki ni kwa ajili yako. Ikiwa unaanza kutoka mwanzo, ni bora kuisoma pamoja na nyingine.

Java 8. Mwongozo wa Mfukoni: Msaada wa Kwanza kwa Wasanidi Programu wa Java

Kitabu hiki kina majibu ya wazi kwa maswali yanayotokea wakati wa kumfundisha J programu ya ava kutoka mwanzo. Inashughulikia kwa ufupi dhana zote za msingi za Java (pamoja na Java 9) Je! hutaki kugeuza mamia ya kurasa kutafuta mstari sahihi? Nunua kitabu hiki.

Badala ya hitimisho

Ukianza kujifunza Java, huwezi kwenda vibaya - ni lugha ya programu ya kuahidi, iliyojaa aina mbalimbali za uwezekano.

Kabla ya kuanza kujifunza Java, hapa kuna vidokezo vichache:

  • Usisome nakala za elimu na mifano kama riwaya. Njia pekee ya kuwa programu nzuri ni kuandika nambari nyingi.
  • Ikiwa unatoka kwa lugha nyingine ya programu (sema, C #), hauitaji kuandika nambari kwa mtindo wa C #.
  • Pata jumuiya za Java mtandaoni. Mara tu unapojifunza jinsi ya kuandika programu rahisi katika Java, pata tovuti maarufu na vikao vinavyotolewa kwa Java. Jaribu kutatua matatizo ambayo watengeneza programu wengine wanayo. Hii ni njia nzuri ya kupanua ujuzi wako mwenyewe. Zaidi ya hayo, ukikwama, utajua wapi pa kuomba usaidizi.

Tunatumahi kuwa nakala hii itakuhimiza kujifunza Java na kukusaidia kuanza kufanya kazi kwenye programu zako za kwanza.

Chapisho hili ni tafsiri ya makala “ Jifunze Java Programming. Mwongozo wa uhakika", iliyoandaliwa na timu ya mradi wa kirafiki

Sasisho la mwisho: 04/15/2018

Leo, lugha ya Java ni mojawapo ya lugha za kawaida na maarufu za programu. Toleo la kwanza la lugha lilionekana nyuma mnamo 1996 katika kina cha kampuni ya Sun Microsystems, ambayo baadaye ilifyonzwa na Oracle. Java ilikusudiwa kuwa lugha ya programu ya ulimwengu wote ambayo inaweza kutumika kwa aina mbalimbali za kazi. Na hadi sasa, lugha ya Java imekuja kwa muda mrefu, matoleo mengi tofauti yamechapishwa. Toleo la sasa ni Java 12, ambayo ilitolewa Machi 2019. Na Java imebadilika kutoka lugha ya ulimwengu wote hadi kuwa jukwaa zima na mfumo ikolojia unaochanganya teknolojia mbalimbali zinazotumiwa katika kazi kadhaa: kutoka kwa kuunda programu za eneo-kazi hadi kuandika lango na huduma kubwa za wavuti. Kwa kuongeza, lugha ya Java hutumiwa kikamilifu kuunda programu kwa idadi ya vifaa: Kompyuta za kawaida, vidonge, simu mahiri na simu za rununu, na hata vifaa vya nyumbani. Inatosha kukumbuka umaarufu wa OS ya simu ya Android, programu nyingi ambazo zimeandikwa katika Java.

Vipengele vya Java

Kipengele muhimu cha lugha ya Java ni kwamba msimbo wake kwanza hutafsiriwa katika bytecode maalum ambayo ni jukwaa huru. Na kisha bytecode hii inatekelezwa na JVM (Java Virtual Machine). Katika suala hili, Java inatofautiana na lugha za kawaida zinazotafsiriwa kama PHP au Perl, kanuni ambayo inatekelezwa mara moja na mkalimani. Wakati huo huo, Java sio lugha iliyokusanywa kama C au C++.

Usanifu huu unahakikisha usambazaji wa jukwaa na vifaa vya programu za Java, ili programu hizo ziweze kutekelezwa kwenye majukwaa mbalimbali bila kurejesha - Windows, Linux, Mac OS, nk. Kila jukwaa linaweza kuwa na utekelezaji tofauti wa JVM, lakini kila moja linaweza kuendesha msimbo sawa.

Java ni lugha iliyo na syntax kama C na iko karibu katika suala hili na C/C++ na C#. Kwa hivyo, ikiwa unajua moja ya lugha hizi, basi kusimamia Java itakuwa rahisi.

Kipengele kingine muhimu cha Java ni kwamba inasaidia ukusanyaji wa taka otomatiki. Hii inamaanisha kuwa sio lazima ufungue kumbukumbu kwa mikono kutoka kwa vitu vilivyotumiwa hapo awali, kama katika C ++, kwani mtozaji wa taka atakufanyia hii kiatomati.

Java ni lugha inayolenga kitu. Inasaidia polymorphism, urithi, uchapaji tuli. Mbinu inayolenga kitu inakuwezesha kutatua matatizo ya kujenga kubwa, lakini wakati huo huo maombi rahisi, ya kuenea na ya kupanua.

Inasakinisha Java

Ili programu za Java zifanye kazi, JRE (Java Runtime Environment) lazima isanikishwe kwenye mashine inayolengwa. JRE hutoa utekelezaji mdogo wa mashine na vile vile maktaba ya darasa. Kwa hiyo, ikiwa tunataka kuendesha programu, basi tunahitaji kufunga JRE. Kila jukwaa maalum lina toleo lake la JRE.

Hata hivyo, kwa kuwa hatutaendesha programu tu, bali pia kuziendeleza, tutahitaji kifaa maalum cha maendeleo, JDK (Java Development Kit). JDK tayari ina JRE, na pia inajumuisha idadi ya programu na huduma za ziada, haswa mkusanyaji wa Java.

Unaweza kupakua na kusakinisha toleo linalofaa la JDK kutoka kwa tovuti rasmi ya Oracle: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Kwa hivyo, kutoka kwa anwani iliyotajwa hapo juu, pakua kisakinishi cha JDK kwa toleo la hivi karibuni la Java.

Kisha tutaelekezwa kwenye ukurasa ambapo tunahitaji kuchagua toleo la OS inayolengwa - Windows, MacOS au Linux:

Kwa kila OS kuna chaguzi mbili za upakuaji: kama kisakinishi, au kama kumbukumbu ambayo haihitaji kusakinishwa. Kwa mfano, OS yangu ni Windows, kwa hivyo ninapakua faili ya jdk_12_windows-x64_bin.exe, ambayo inawakilisha kisakinishi.

Baada ya kupakua, endesha programu ya usakinishaji:

Bonyeza kitufe Inayofuata. Kwenye skrini inayofuata unahitaji kutaja folda ambayo usakinishaji utakuwa ndani:

Acha chaguo-msingi la folda na ubofye Ifuatayo ili kukamilisha usakinishaji.

Baada ya usakinishaji wa JDK kukamilika, tutaona dirisha hili:

Kwa hiyo, baada ya kufunga JDK, hebu tuunda programu yetu ya kwanza ya Java.

Toleo la hivi punde ni toleo la 1.6, ambalo limeboresha mfumo wa usalama, limeboresha usaidizi wa lugha ya uandishi wa Mozilla Rhino, ujumuishaji ulioboreshwa wa eneo-kazi, na kuongeza baadhi ya vipengele vipya katika kuunda violesura vya picha.

Java na Microsoft

Makampuni yafuatayo yanazingatia hasa teknolojia ya Java (J2EE) badala ya .NET, ingawa pia yanashughulika na teknolojia ya mwisho: IBM, Oracle. Hasa, Oracle DBMS inajumuisha JVM kama sehemu yake, ambayo hutoa uwezo wa kupanga moja kwa moja DBMS katika lugha ya Java, ikiwa ni pamoja na, kwa mfano, taratibu zilizohifadhiwa.

Sifa Muhimu

Mpango wa mfano

Programu inayochapisha "Hujambo, Ulimwengu!":

Public class HelloWorld ( public static void main(String args) ( System .out .println ("Hello, World!" ) ; ) )

Mfano wa kutumia templates:

Ingiza java.util.*; Sampuli ya darasa la umma ( utupu wa tuli wa umma (String args) ( // Unda kitu kwa kutumia kiolezo. Orodha strings = new LinkedList (); strings.add("Hujambo"); strings.add("dunia"); strings.ongeza("!"); kwa (Kamba s: mifuatano) ( System .out .print (s) ; System .out .print (" " ) ; ) ) )

Mawazo Muhimu

Aina za zamani

Kuna aina 8 tu za scalar katika Java: boolean, byte, char, fupi, int, ndefu, kuelea, mara mbili.

Madarasa ya kukunja ya aina za zamani

Urefu na safu za thamani za aina za zamani hufafanuliwa na kiwango, sio utekelezaji na zinaonyeshwa kwenye jedwali. Aina ya char ilifanywa mbili-byte kwa urahisi wa ujanibishaji (moja ya kanuni za kiitikadi za Java): wakati kiwango kilikuwa kikitengenezwa, Unicode-16 tayari ilikuwepo, lakini si Unicode-32. Kwa kuwa hakukuwa na aina ya baiti moja iliyobaki kama matokeo, aina mpya ya byte iliongezwa. Aina za kuelea na mara mbili zinaweza kuwa na maadili maalum, na "sio nambari" (

Aina Urefu (katika baiti) Masafa au seti ya maadili
boolean isiyofafanuliwa kweli, uongo
kwaheri 1 −128..127
char 2 0..2 16 -1, au 0..65535
mfupi 2 −2 15 ..2 15 -1, au -32768..32767
int 4 −2 31 ..2 31 -1, au -2147483648..2147483647
ndefu 8 −2 63 ..2 63 -1, au takriban -9.2 10 18 ..9.2 10 18
kuelea 4 -(2-2 -23) 2 127 ..(2-2 -23) 2 127, au takriban -3.4 10 38 ..3.4 10 38, pamoja na , , NaN
mara mbili 8 -(2-2 -52)·2 1023 ..(2-2 -52)·2 1023 , au takriban −1.8·10 308 ..1.8·10 308 , pamoja na , , NaN

Usanifu mkali kama huo ulikuwa muhimu kufanya jukwaa la lugha kuwa huru, ambayo ni moja ya mahitaji ya kiitikadi ya Java na moja ya sababu za mafanikio yake. Walakini, shida moja ndogo na uhuru wa jukwaa bado inabaki. Wachakataji wengine hutumia rejista za baiti 10 ili kuhifadhi matokeo mara moja au vinginevyo kuboresha usahihi wa hesabu. Ili kufanya Java iwe sambamba iwezekanavyo kati ya mifumo tofauti, katika matoleo ya awali mbinu zozote za kuongeza usahihi wa mahesabu zilipigwa marufuku. Walakini, hii ilisababisha kupungua kwa utendaji. Ilibadilika kuwa watu wachache wanahitaji kuzorota kwa usahihi kwa ajili ya uhuru wa jukwaa, hasa ikiwa wanapaswa kulipa kwa kupunguza kasi ya programu. Baada ya kilio kikubwa, marufuku hii iliondolewa, lakini neno kuu la strictfp liliongezwa ili kuzuia usahihi ulioongezeka.

Mabadiliko ya shughuli za hisabati

Sheria zifuatazo zinatumika katika Java:

  1. Ikiwa operesheni moja ni ya aina mbili, nyingine pia inabadilishwa kuwa aina mbili.
  2. Vinginevyo, ikiwa operesheni moja ni ya aina ya kuelea, nyingine pia inabadilishwa kuwa aina ya kuelea.
  3. Vinginevyo, ikiwa operesheni moja ni ya aina ndefu, nyingine pia inabadilishwa kuwa aina ndefu.
  4. Vinginevyo, operesheni zote mbili hubadilishwa kuwa aina ya int.

Sheria ya mwisho inatofautisha Java kutoka kwa utekelezaji wa zamani na C++ na hufanya nambari kuwa salama zaidi. Kwa hiyo, kwa mfano, katika lugha ya Java, baada ya kutekeleza kanuni

Short x = 50, y = 1000; int z = x*y;

utofauti wa z umepewa thamani 50000, badala ya -15536, kama ilivyo katika utekelezwaji wa kizamani wa C na C++. Katika programu iliyokusanywa na MS VC++, kuanzia na toleo la 7, pamoja na watunzi wengine wengi wa kisasa (gcc, Intel C++, Borland C++, Comeau, nk), thamani pia itakuwa 50000.

Vigezo vya kitu, vitu, marejeleo na viashiria

Java imeunda vitu kwa nguvu pekee. Kwa kuongezea, anuwai za aina ya kitu na vitu kwenye Java ni vyombo tofauti kabisa. Vigezo vya aina ya kitu ni marejeleo, ambayo ni, viashiria dhahiri kwa vitu vilivyoundwa kwa nguvu. Hili linasisitizwa na sintaksia ya kuelezea viambishi. Kwa hivyo, katika Java huwezi kuandika:

Mara mbili a[ 10] [20]; Foo b(30);

Mara mbili a = mara mbili mpya [10] [20]; Foo b = Foo mpya(30);

Wakati wa kugawa, kupitisha kwa subroutines, na kulinganisha, vigeu vya vitu hufanya kama viashiria, ambayo ni, anwani za kitu hupewa, kunakiliwa, na kulinganishwa. Na wakati wa kufikia sehemu za data za kitu au mbinu kwa kutumia kigezo cha kipengee, hakuna shughuli maalum za kukagua rejeleo zinazohitajika—ufikiaji unafanywa kana kwamba kigezo cha kitu ndicho kitu chenyewe.

Vigezo vya vitu ni aina yoyote isipokuwa aina rahisi za nambari. Hakuna viashiria wazi katika Java. Tofauti na viashiria katika C, C++ na lugha zingine za programu, marejeleo katika Java ni salama sana kwa sababu ya vizuizi vikali vya utumiaji wao, haswa:

  • Huwezi kubadilisha kitu cha aina int au aina nyingine yoyote ya primitive kuwa pointer au rejeleo na kinyume chake.
  • Hairuhusiwi kufanya ++, −-, +, − au shughuli zozote za hesabu kwenye marejeleo.
  • Ubadilishaji wa aina kati ya marejeleo umedhibitiwa kabisa. Isipokuwa marejeleo ya safu, inaruhusiwa tu kubadilisha marejeleo kati ya aina iliyorithiwa na kizazi chake, na ubadilishaji kutoka aina ya kurithi hadi aina ya kurithi lazima ubainishwe kwa uwazi na kuangaliwa wakati wa utekelezaji ili kuleta maana. Ubadilishaji wa marejeleo ya safu unaruhusiwa tu ikiwa ubadilishaji wa aina zao za msingi unaruhusiwa na hakuna migongano ya vipimo.
  • Katika Java, hakuna operator wa kuchukua anwani (&) au kuchukua kitu kwenye anwani (*). Nyota katika Java inamaanisha kuzidisha, na hakuna zaidi. Ampersand (&) ina maana tu "bitwise na" (ampersand mbili ina maana "mantiki na").

Shukrani kwa vizuizi vile vilivyoletwa maalum katika Java, udanganyifu wa moja kwa moja wa kumbukumbu katika kiwango cha anwani za kimwili hauwezekani (ingawa kuna viungo ambavyo havielekezi kwa chochote: thamani ya kiungo kama hicho inaonyeshwa na null).

Viungo na uundaji wa nakala rudufu

Kwa sababu vigeu vya vitu ni vigeu vya marejeleo, mgawo haunakili kitu. Kwa hivyo, ikiwa unaandika

Foo foo, bar; ... bar = foo;

basi anwani kutoka kwa utofauti wa foo itanakiliwa kwa utofauti wa upau. Hiyo ni, foo na bar itaelekeza kwenye eneo la kumbukumbu sawa, yaani, kwa kitu kimoja; kujaribu kubadilisha sehemu za kitu kilichorejelewa na foo kutabadilisha kitu kinachorejelewa na bar , na kinyume chake. Ikiwa unahitaji kupata moja zaidi nakala chanzo cha kitu, tumia njia (kazi ya mwanachama, katika istilahi ya C++) clone(), ambayo huunda nakala ya kitu, au mjenzi wa nakala.

Njia ya clone() inahitaji darasa litekeleze kiolesura kinachoweza kulinganishwa (tazama miingiliano hapa chini). Ikiwa darasa litatumia kiolesura cha Cloneable, kwa chaguo-msingi clone() kunakili sehemu zote ( nakala ndogo) Ikiwa unataka kuiga sehemu badala ya kuzinakili (pamoja na sehemu zao, n.k.), unahitaji kubatilisha njia ya clone(). Kufafanua na kutumia njia ya clone() mara nyingi ni kazi isiyo ya kawaida.

Mkusanyiko wa takataka

Katika lugha ya Java, haiwezekani kuondoa kwa uwazi kitu kutoka kwa kumbukumbu - badala yake, ukusanyaji wa takataka unatekelezwa. Ujanja wa kitamaduni unaompa mkusanya takataka "dokezo" la kuhifadhi kumbukumbu ni kugawa kigezo cha thamani tupu null . Hii haimaanishi, hata hivyo, kwamba kitu kilichobadilishwa na null lazima kitafutwa mara moja. Mbinu hii huondoa tu kumbukumbu ya kitu, yaani, inafungua pointer kutoka kwa kitu kwenye kumbukumbu. Inapaswa kuzingatiwa kuwa kitu hakitafutwa na mtoza takataka kwa muda mrefu kama inaonyeshwa kwa angalau kumbukumbu moja kutoka kwa vigezo au vitu vilivyotumiwa. Pia kuna mbinu za kulazimisha ukusanyaji wa takataka, lakini hizi hazihakikishiwa kuitwa na wakati wa kukimbia na hazipendekezi kwa matumizi ya kawaida.

Madarasa na Kazi

Java sio lugha ya kitaratibu: kazi yoyote inaweza tu kuwepo ndani ya darasa. Hii inasisitizwa na istilahi ya lugha ya Java, ambapo hakuna dhana ya "kazi" au "kazi ya mwanachama". kazi ya mwanachama), lakini tu njia. Vitendaji vya kawaida pia vimegeuka kuwa mbinu. Kwa mfano, katika Java hakuna kazi ya sin(), lakini kuna njia Math.sin() ya darasa la Hisabati (ambayo, pamoja na sin(), ina mbinu cos(), exp(), sqrt() ), abs() na wengine wengi).

Mbinu na mashamba tuli

Ili kuzuia hitaji la kuunda kitu cha darasa la Hisabati (na darasa zingine zinazofanana) kila wakati unahitaji kupiga sin() (na kazi zingine zinazofanana), wazo hilo. mbinu tuli(Kiingereza) mbinu tuli; wakati mwingine kwa Kirusi huitwa tuli). Njia tuli (iliyowekwa alama na neno kuu la tuli katika maelezo yake) inaweza kuitwa bila kuunda kitu cha darasa lake. Kwa hivyo unaweza kuandika

Mara mbili x = Hesabu.sin(1);

Hisabati m = Hesabu mpya (); mara mbili x = m.dhambi(1);

Kizuizi cha mbinu tuli ni kwamba wanaweza tu kufikia sehemu na mbinu tuli katika kitu hiki.

Sehemu tuli zina maana sawa na katika C++: kila moja inapatikana katika nakala moja pekee.

Mwisho

Neno kuu la mwisho linamaanisha vitu tofauti wakati wa kutangaza kigezo, mbinu au darasa. Tofauti ya mwisho (inayoitwa mara kwa mara) imeanzishwa juu ya maelezo na haiwezi kubadilishwa zaidi. Njia ya mwisho haiwezi kupuuzwa na urithi. Darasa la mwisho haliwezi kuwa na warithi hata kidogo.

Muhtasari

Katika Java, njia ambazo hazijatangazwa wazi kuwa za mwisho au za kibinafsi ni za kweli katika istilahi za C++: kuita njia iliyofafanuliwa tofauti katika darasa la msingi na darasa ndogo hujumuisha ukaguzi wa wakati wa kukimbia.

Viungo

  • watengenezaji.sun.ru - lango la msanidi programu wa Kirusi kwa Kirusi kutoka kwa mifumo ya jua ya Sun
  • Vitabu vya Bure vya Kielektroniki vya Bruce Eckel (Kiingereza) - matoleo ya kielektroniki yaliyosambazwa bila malipo ya vitabu vya Bruce Eckel kwenye C++ na Java pamoja na msimbo wa chanzo
  • http://bruceeckel.by.ru - tafsiri katika Kirusi za baadhi ya vitabu vilivyosambazwa kwa uhuru na Bruce Eckel kwenye Java
  • Bidhaa za Akili za Kanada Java & Internet Glossary - elewa vipengele vya msingi vya teknolojia ya Java

Java ni lugha ya programu iliyotengenezwa na SunMicrosystems. Programu za Java kwa kawaida hutungwa kwa bytecode maalum ili ziweze kufanya kazi kwenye mashine yoyote ya mtandaoni ya Java (JVM), bila kujali usanifu wa kompyuta. Tarehe rasmi ya kutolewa: Mei 23, 1995. Leo, teknolojia ya Java hutoa zana za kugeuza kurasa za Wavuti zisizobadilika kuwa hati shirikishi, zenye nguvu na kuunda programu zilizosambazwa, zinazojitegemea kwa jukwaa.

Programu za Java hutafsiriwa kuwa bytecode, ambayo inatekelezwa na Java Virtual Machine (JVM), programu ambayo huchakata bytecode na kupitisha maagizo kwa maunzi kama mkalimani.

Faida ya njia hii ya utekelezaji wa programu ni uhuru kamili wa bytecode kutoka kwa mfumo wa uendeshaji na vifaa, ambayo inakuwezesha kuendesha programu za Java kwenye kifaa chochote ambacho kuna mashine inayofanana. Kipengele kingine muhimu cha teknolojia ya Java ni mfumo wake wa usalama unaobadilika kutokana na ukweli kwamba utekelezaji wa programu unadhibitiwa kabisa na mashine ya kawaida. Uendeshaji wowote unaozidi ruhusa zilizowekwa za programu (kwa mfano, jaribio la kufikia data bila kibali au kuunganisha kwenye kompyuta nyingine) husababisha kukatizwa mara moja.

Mara nyingi, hasara za dhana ya mashine ya kawaida ni pamoja na ukweli kwamba utekelezaji wa bytecode na mashine ya kawaida inaweza kupunguza utendaji wa mpango wa algorithms kutekelezwa katika lugha ya Java. Hivi majuzi, maboresho kadhaa yamefanywa ambayo yameongeza kasi ya utekelezaji wa programu za Java:

Utumiaji wa teknolojia ya kutafsiri bytecode kuwa msimbo wa mashine moja kwa moja wakati programu inaendeshwa (teknolojia ya JIT) yenye uwezo wa kuhifadhi matoleo ya darasa katika msimbo wa mashine,

Utumizi mkubwa wa msimbo unaoelekezwa kwenye jukwaa (msimbo asilia) katika maktaba za kawaida,

Maunzi ambayo hutoa uchakataji wa bytecode ulioharakishwa (kwa mfano, teknolojia ya Jazelle, inayoungwa mkono na vichakataji vingine vya ARM).



Vipengele muhimu vya lugha:

Usimamizi wa kumbukumbu otomatiki;

Uwezo uliopanuliwa wa kushughulikia hali za kipekee;

Seti tajiri ya zana za kuchuja za I/O;

Seti ya mikusanyiko ya kawaida, kama vile safu, orodha, rafu, n.k.;

Upatikanaji wa zana rahisi za kuunda programu za mtandao (ikiwa ni pamoja na kutumia itifaki ya RMI);

Upatikanaji wa madarasa ambayo hukuruhusu kufanya maombi ya HTTP na kushughulikia majibu;

Zana za lugha zilizojengwa kwa ajili ya kuunda programu zenye nyuzi nyingi;

Ufikiaji wa umoja wa hifadhidata:

Katika ngazi ya maswali ya SQL ya mtu binafsi - kulingana na JDBC, SQLJ;

Katika kiwango cha dhana ya vitu ambavyo vina uwezo wa kuhifadhiwa kwenye hifadhidata - kulingana na Vitu vya Data ya Java na API ya Kudumu ya Java;

Usaidizi wa kiolezo (kuanzia toleo la 1.5);

Utekelezaji sambamba wa programu.

1.4.3 C# lugha ya programu

Mnamo Juni 2000, ilijulikana kuhusu lugha mpya ya programu iliyozaliwa katika kina cha Microsoft. Ikawa sehemu ya teknolojia mpya ya Microsoft inayoitwa .NET (soma "Dot Net"). Teknolojia hii hutoa mazingira ya utekelezaji ya programu (Common Language Runtime, CLR) iliyoandikwa katika lugha tofauti za programu. Moja ya lugha hizi, kuu katika mazingira haya, ni C # (C #, soma "C mkali"). Jina la lugha, bila shaka, lilitaka kusisitiza uhusiano wake na C ++, kwa sababu # ni pluses mbili za intersecting. Lakini zaidi ya yote lugha mpya ni sawa na Java. Na hakuna shaka kwamba moja ya sababu za kuonekana kwake ilikuwa hamu ya Microsoft kujibu changamoto ya Sun.

Ingawa waandishi wa C# hawajatajwa rasmi, ukurasa wa kichwa wa mojawapo ya matoleo ya awali ya orodha ya marejeleo ya lugha unaorodhesha Anders Hejlsberg, muundaji wa Turbo Pascal na Delphi, waliohamia Microsoft mwaka 1996, na Scott Wiltamuth.

Mazingira ya pamoja ya utekelezaji wa programu yanategemea matumizi ya lugha ya kati IL (Lugha ya Kati), ambayo ina jukumu karibu sawa na bytecode ya mashine ya mtandaoni ya Java. Vikusanyaji vinavyotumika ndani ya teknolojia ya .NET kutoka lugha mbalimbali hutafsiri programu katika msimbo wa IL. Kama vile Java bytecode, msimbo wa IL unawakilisha maagizo kwenye kompyuta dhahania inayotegemea mrundikano. Lakini pia kuna tofauti katika muundo na matumizi ya IL.

Kwanza, tofauti na JVM, IL haijafungwa kwa lugha moja ya programu. Matoleo ya awali ya Microsoft.NET yanajumuisha vikusanyaji vya C++, C#, na Visual Basic. Watengenezaji wa kujitegemea wanaweza kuongeza lugha zingine kwa kuunda watunzi kutoka kwa lugha hizo hadi nambari ya IL.

Pili, IL haikusudiwa kutafsiri programu, lakini kwa mkusanyiko unaofuata katika nambari ya mashine. Hii hukuruhusu kufikia utendaji wa juu zaidi wa programu. Faili zilizo na msimbo wa IL zina habari ya kutosha kwa mkusanyaji wa uboreshaji kufanya kazi.

"C# ni lugha rahisi, ya kisasa, inayolenga kitu, lugha salama ya aina iliyoshuka kutoka C na C++. C # itakuwa rahisi na inayoeleweka kwa watengeneza programu wanaojua C na C++. C# inachanganya tija ya Visual Basic na nguvu ya C++." Maneno haya huanza maelezo ya C #.

Wacha tuangalie sifa za kiufundi za lugha:

Sehemu ya mkusanyiko ni faili (kama C, C ++, Java). Faili inaweza kuwa na maelezo moja au zaidi ya aina: madarasa (darasa), violesura (kiolesura), miundo (muundo), hesabu (enum), aina za mjumbe (mjumbe) na (au bila) kiashiria cha usambazaji wao kwenye nafasi za majina;

Nafasi za majina hudhibiti mwonekano wa vitu vya programu (kama katika C++). Nafasi za majina zinaweza kuwekwa. Inaruhusiwa kutumia vipengee vya programu bila kubainisha kwa uwazi nafasi ya majina ambayo kitu hiki kinamiliki. Kutajwa kwa jumla tu kwa utumiaji wa nafasi hii ya jina katika maagizo ya kutumia (kama vile Turbo Pascal) inatosha. Kuna lakabu za majina ya nafasi ya majina katika maagizo ya kutumia (kama katika lugha ya Oberon);

Aina za data za msingi: 8-bit (sbyte, byte), 16-bit (fupi, ushort), 32-bit (int, uint) na 64-bit (ndefu, ulong) nambari kamili zisizotiwa saini na ambazo hazijasainiwa, float ) na usahihi maradufu, Vibambo vya Unicode (char), aina ya Boolean (bool, haioani na nambari kamili), aina ya desimali inayotoa usahihi wa tarakimu 28 muhimu (desimali);

Aina zilizoundwa: madarasa na miingiliano (kama ilivyo kwa Java), safu za sura moja na za pande nyingi (tofauti na Java), kamba, miundo (karibu sawa na madarasa, lakini haijatengwa kwenye lundo na bila urithi), hesabu, ambazo haziendani na nambari ( kama Pascal);

Aina za mamlaka au "wajumbe" kwa urahisi (sawa na aina za utaratibu katika Modula-2 na Oberon, viashiria vya utendakazi katika C na C++);

Aina zimegawanywa katika aina za kumbukumbu (madarasa, miingiliano, safu, wajumbe) na aina za thamani (aina za msingi, hesabu, miundo). Vitu vya aina za kumbukumbu ziko katika kumbukumbu ya nguvu (lundo), na vigezo vya aina za kumbukumbu ni, kwa kweli, viashiria kwa vitu hivi. Na aina za thamani, vigeuzo sio viashiria, lakini maadili yenyewe. Ubadilishaji wa aina zisizo wazi unaruhusiwa tu wakati haujakiuka usalama wa aina au kusababisha upotezaji wa habari. Aina zote, ikiwa ni pamoja na aina za awali, zinapatana na aina ya kitu, ambayo ni darasa la msingi la aina nyingine zote. Kuna ubadilishaji kamili wa aina za thamani hadi aina ya kitu, kinachoitwa ndondi, na ubadilishaji wazi wa kinyume - unboxing;

Ukusanyaji wa takataka otomatiki (kama katika Oberon na Java);

Seti kubwa ya shughuli na viwango 14 vya kipaumbele. Kufafanua upya shughuli (kama katika ALGOL-68, Ada, C++). Waendeshaji walioangaliwa na ambao hawajachunguzwa wanaweza kutumika kudhibiti udhibiti wa kufurika wakati wa kufanya shughuli kwenye nambari kamili;

Njia zilizo na vigezo vya thamani, vigezo vya kumbukumbu (ref) na vigezo vya pato (nje). Maneno ref na nje lazima yaandikwe kabla ya parameter si tu katika maelezo ya njia, lakini pia wakati wa kupiga simu. Uwepo wa vigezo vya pato hukuwezesha kudhibiti utekelezaji wa kazi za kufafanua. Kulingana na kanuni za lugha, kigezo chochote lazima kihakikishwe kuwa na thamani kabla ya jaribio kufanywa kukitumia;

Taarifa za udhibiti: ikiwa, kubadili, wakati, kufanya, kwa, kuvunja, kuendelea (kama katika C, C ++ na Java). Taarifa ya mbele, ambayo hupitia kila kipengele cha "mkusanyiko," tofauti kadhaa za opereta wa goto;

Utunzaji wa ubaguzi (kama katika Java);

Sifa ni vipengele vya madarasa (vitu), ambavyo vinapatikana kwa njia sawa na nyanja (unaweza kugawa au kupata thamani), lakini hutekelezwa na utaratibu unaoitwa kupata na kuweka (kama ilivyo kwa Object Pascal, lugha ya ingizo ya Delphi. mfumo);

Vielelezo ni vipengele vya madarasa (vitu) vinavyokuwezesha kufikia vitu kwa njia sawa na safu (kwa kubainisha faharisi katika mabano ya mraba). Inatekelezwa na taratibu zinazoitwa get and set. Kwa mfano, herufi katika mfuatano zinaweza kufikiwa (kusomwa) kana kwamba ni vipengele vya safu kutokana na ukweli kwamba darasa la mfuatano wa kawaida lina kielezo kilichotekelezwa;

Matukio ni vipengele vya madarasa (uga au mali) ya aina ya kiutaratibu (wajumbe), ambayo, nje ya darasa ambapo yamefafanuliwa, ni shughuli += na -= pekee ndizo zinazotumika, kukuruhusu kuongeza au kuondoa mbinu za kidhibiti tukio kwa vitu vya darasa hili;

Msimbo usio salama unaotumia viashiria na hesabu ya anwani umejanibishwa katika sehemu za programu zilizo na kirekebishaji kisicho salama;

Kichakataji awali ambacho, tofauti na C na C++, hutoa zana za ujumuishaji za masharti pekee.

Kwa kweli, ubaya uliojadiliwa wa C # haunyimi lugha matarajio yake. Ni vyema kwa C++ katika mambo mengi. Kutoridhika kwa jumla na lugha ya C++, utambuzi ambao ni mwonekano wa lugha mpya, ni moja wapo ya sharti kuu la kufaulu kwa C #.

Kulinganisha C # na Java, unaweza kuona kufanana nyingi. Kweli, ikiwa mifumo ya Java ni majukwaa mengi, basi utekelezaji wa C # unapatikana tu kwa mfumo wa uendeshaji wa Windows na moja tu. Lakini, licha ya uzito huo, tunaweza kutarajia kwamba lugha itatekelezwa kwa mifumo mingine. Kwa kuongeza, jukwaa la Microsoft .NET lenyewe na mazingira ya utekelezaji wa programu ya umoja inaweza kupanuliwa kwa usanifu mbadala, hasa kwa mifumo ya UNIX.

C # inaonekana kuwa lugha ya kweli zaidi kuliko Java. Tofauti na Java, inajitosheleza. Hiyo ni, unaweza kuandika programu yoyote katika C # bila kutumia lugha zingine. Hii inawezekana kutokana na kuwepo kwa vitalu vya kanuni "zisizo salama" ambazo hutoa upatikanaji wa moja kwa moja kwenye vifaa. Katika Java, ufikiaji wa vipengele vya kiwango cha chini lazima utumie mbinu za asili, ambazo lazima ziwekwe katika lugha nyingine.

Na, kwa kweli, matarajio ya C # kimsingi yanahusiana na juhudi ambazo Microsoft, bila shaka, itafanya ili kuikuza.

Habari marafiki! Leo nataka nikuelezee kwa nini unahitaji java teknolojia kwenye kompyuta na kutoa mifano wazi ya matumizi yake na watengenezaji wa programu za wavuti, tutajifunza pia jinsi ya kufunga jukwaa la Java kwenye Windows 8, ikiwa hujui siri moja, basi hutaweka Java kwenye nane. Ili kukuweka wazi kile tunachozungumzia, ninachapisha barua hizi tatu zilizotujia kwa barua.

Kwa nini unahitaji Java?

Marafiki, bila shaka unahitaji teknolojia ya Java, lakini tu toleo la hivi karibuni na kupakuliwa kutoka kwenye tovuti rasmi www.java.com/ru. Kwa nini? Nitakuonyesha mfano rahisi na kuelezea kila kitu.

Je, teknolojia ya Java ni nini?

Java ni lugha ya programu inayolengwa na kitu Iliyoundwa na Sun Microsystems mnamo 1995. Idadi kubwa ya tovuti, michezo na programu mbalimbali zina vipengele mbalimbali vilivyotengenezwa kwa kutumia Java.

Kwa mfano, umeweka mfumo wa uendeshaji na umeamua kufunga dereva kwenye kadi yako ya video, ili kufanya hivyo, nenda kwenye tovuti ya kadi ya video, kwa mfano http://www.nvidia.ru, bofya. Madereva. Hatutaki kutafuta madereva wetu wenyewe na kuchagua

Chaguo 2: Pata viendeshi vya NVIDIA kiotomatiki na bonyeza kitufe Viendeshaji vya michoro

Na tunapata jibu hili:

NVIDIA Smart Scan inahitaji toleo jipya zaidi la programu ya Java.Bofya kwenye ikoni ya "Java" ili kusakinisha.

Ukibofya kitufe cha Java, utaelekezwa kwenye tovuti www.java.com/ru na kusakinisha jukwaa la Java unahitaji tu kubofya kitufe. Pakua Java bila malipo.

Hali kama hiyo inaweza kutokea kwa michezo mingi ya mtandaoni, ikiwa unataka kucheza mchezo huu wa mtandaoni,

Mchezo utakuelekeza mara moja kwenye ukurasa wa usakinishaji wa jukwaa la Java.

Hapa, marafiki, ni mfano rahisi wa matumizi. lugha ya programu inayolenga kitu Java kwenye tovuti ya kadi yako ya video na michezo ya mtandaoni, ikiwa hatutasakinisha jukwaa la Java kwenye mfumo wetu wa uendeshaji au kuwa na toleo la zamani la Java, hatutaweza kuchagua kiotomatiki viendesha kwa kadi ya video na hatutaweza kucheza. Kuna mifano mingi kama hii ambayo inaweza kutolewa. Nadhani nilijibu swali lako kwa nini unahitaji Java.

Ndiyo, waandishi wa hivi karibuni wa virusi walipata udhaifu katika sasisho kwenye jukwaa la Java na watumiaji wengi waliathiriwa; Kwa njia, hadithi kama hiyo inaweza kutokea na programu yoyote.

Jinsi ya kuangalia ikiwa toleo la hivi karibuni la jukwaa la Java limewekwa kwenye kompyuta yako

Nenda kwenye tovuti www.java.com/ru na ubofye kitufe Je, nina programu ya Java iliyosakinishwa kwenye kompyuta yangu??

Angalia toleo lako la Java.

Kwa ufasaha. Java haijasakinishwa hata kidogo.

Hebu tusakinishe Java. Rudi kwenye ukurasa kuu www.java.com/ru na ubofye