Maikling paglalarawan ng Java programming language. Java programming language. Programming mula sa simula. Kung saan magsisimula ang Java at Web coding

At ang paggawa ng website ay lalong nagiging popular at nakakaakit ng atensyon ng isang malaking bilang ng mga tao. Kahit na ang isang tao na walang espesyal na edukasyon ay maaaring magsimulang bumuo ng mga programa ang pangunahing bagay ay ang pagnanais at pagnanais na matuto ng bagong materyal at patuloy na pagsasanay.

Mga Pagpipilian sa Pag-aaral

Saan magsisimulang matuto ng programming mula sa simula Mayroong ilang mga paraan upang makabisado ang bagong materyal sa lugar na ito. Sasabihin sa iyo ng mga pribadong guro kung paano simulan ang pag-aaral ng programming mula sa simula at turuan ka mahahalagang aspeto code ng programa ng gusali. Gayunpaman ang pamamaraang ito medyo mahal, kaya ang mga sumusunod na pamamaraan ng pagtuturo ay pangunahing ginagamit:

  1. Mga espesyal na kurso. Ang kanilang gastos ay mas mababa kaysa sa mga aralin mula sa isang personal na tagapagturo. Kapansin-pansin na maraming mga employer ang positibong tumugon sa pagkakaroon ng iba't ibang mga sertipiko ng pagkumpleto ng pagsasanay sa mga akademya ng computer. Bigyang-pansin ang mga kurso ng mga sikat na kumpanya sa mundo na Microsoft at Cisco.
  2. Tinanggal mga libreng kurso. Ang Internet ay napaka malaking bilang mga serbisyo kung saan maaari mong tingnan ang mga kurso sa panayam mula sa Oxford, Harvard at iba pang sikat mga institusyong pang-edukasyon kapayapaan. Mayroon ding mga espesyal na platform para sa pagsasanay ng mga praktikal na kasanayan sa programming. Magbasa nang higit pa tungkol sa malayong pag-aaral at kapaki-pakinabang na mga serbisyo sa Internet sa artikulo.
  3. Pag-aaral sa sarili. Saan magsisimulang mag-aral ng programming mula sa simula kung wala kang planong mag-enroll sa mga kurso at gumastos ng pera? Sa kasong ito, ang pinakamadaling paraan ay upang turuan ang iyong sarili. Dapat mong simulan ang pag-aaral sa pamamagitan ng pagbabasa ng mga pangunahing kaalaman, huwag bungkalin ang teorya, agad na simulan ang pagsasanay, dahil sa proseso lamang ng paglikha ng isang programa ay makakakuha ka ng mga kinakailangang kasanayan.

Matapos piliin ang opsyon sa pagsasanay na nababagay sa iyo, dapat kang magpasya sa lugar ng paksa, dahil ang programming ay may medyo malawak na hanay ng iba't ibang mga sangay.

Paano pumili ng tamang direksyon?

Direktang nakadepende sa uri ng software na gagawin mo sa hinaharap:

Kung suweldo ang pinakamahalagang salik para sa iyo, ibaling mo ang iyong atensyon sa job market. Sa ngayon, ang pinaka-in demand ay ang mga developer na dalubhasa sa mga wikang Java, C#, ASP.NET, C++.

Mga wikang mababa at mataas na antas. Pagkakaiba at Aplikasyon

Ito ay pinaniniwalaan na ang lahat ng mga programming language ay nahahati sa mataas na antas at mababang antas. Code mababang antas mas madali para sa isang computer na iproseso, ngunit ang pagsusulat ay tumatagal ng mahabang panahon at nangangailangan ng karagdagang kaalaman lugar ng paksa. Ang ganitong mga wika (halimbawa, assembler) ay ginagamit upang magsulat ng software para sa digital chips at mga microcontroller. Ang mga ito ay hindi masyadong maginhawa para sa pag-aaral ng programming mula sa simula. Ang mga kapaki-pakinabang na serbisyo at literatura mula sa mga sikat na may-akda sa mundo na ibinigay sa susunod na artikulo ay magsasabi sa iyo kung saan magsisimulang magsulat ng iyong mga unang programa.

Ang mga high-level na wika ay mas madaling gamitin dahil gumagamit sila ng mga built-in na library upang pasimplehin at mailarawan ang code. Karamihan sa mga modernong software ay isinulat gamit ang mga wika mataas na antas.

Programming mula sa simula: saan magsisimula ng mga aplikasyon?

Ang proseso ng paglikha ng mga mobile program ay nagbibigay-daan sa mga programmer na magtrabaho gamit ang pinakabagong mga tool at, bilang resulta, kumita ng isang disenteng halaga ng pera sa pamamagitan ng monetization. Una kailangan mong piliin ang site kung saan ka magtatrabaho:

  1. Google Play. Application store para sa mga user ng Android operating system. Ang OS na ito ang may pinakamalaking bahagi ng mga user sa merkado. Ang mga wikang Java at C/C++ ay ginagamit upang bumuo ng mga application at laro. Ang pinakasikat ay ang mga messenger application at mga kliyente. mga social network, cloud storage, mga laro.
  2. Tindahan ng Windows Mobile. Itong tindahan ay mabilis na nakakakuha ng katanyagan kasama ng mga smartphone mula sa Microsoft. Sa mga bansang CIS, mas gusto ng karamihan sa mga user ang mga tablet na may Windows platform Telepono. Ang mga application sa programming para sa naturang tindahan ay nakakatulong sa iyo na kumita ng pera mas maraming pera sa monetization, dahil, hindi tulad ng Android, halos lahat ng mga programa sa Windows store ay ipinamamahagi sa isang bayad na batayan.
  3. App Store. Isa pang kumikitang platform para sa pag-unlad (wika - Layunin-C). Ang proseso ng paglikha ng mga programa para sa mga device Apple Nangangailangan ng pre-installed development environment na tinatawag na Xcode. Ang susunod na hakbang ay upang matutunan ang Objective-C programming mula sa simula. Sasabihin sa iyo ng aklat na “Learning C for Mac” ni David Mark kung saan magsisimulang magsulat ng code. Pangalawang edisyon."

wikang Java

Karamihan mga propesyonal na developer Inirerekomenda na simulan ang pag-aaral ng programming gamit ang wikang Java. Madali itong matutunan at kasabay nito ay hinihiling sa merkado. Gamitin ang mga tip sa ibaba kung magpasya kang matuto ng programming mula sa simula. Saan magsisimula sa pag-unlad ng Java?

Ang Java ay isang mataas na antas na object-oriented programming language na kailangan para sa pagbuo ng karamihan modernong mga web application at mga laro. Ang proseso ng pag-compile (pagpalit ng nakasulat na code sa isang wika na naiintindihan ng isang device) ay ginagawang pagkakasunod-sunod ng mga byte ang code, kaya madaling masuri ang programa sa anumang Java virtual machine.

Programming mula sa simula. Saan magsisimula sa Java at Web coding?

Ang wikang Java ay malawakang ginagamit sa pagbuo ng web. Bago mo simulan ang buong proseso ng programming, dapat mong pag-aralan ang Java, PHP, MySQL, HTML, CSS. Ang isang mas detalyadong paliwanag ng mga konseptong ito ay ibinigay sa ibaba:

  1. Java - ginagamit sa pagsulat ng mga kagamitan para sa mga website at pagsulat ng lohika ng paggana ng web page.
  2. PHP - ang wika para sa paglikha mga personal na pahina mga site. Mayroon itong istraktura ng script. Ang nangungunang wika sa paglikha ng mga dynamic na website na sikat ngayon. Kailangan ng PHP upang maunawaan ang scripting at programming mula sa simula. Saan magsisimula? Mula sa pagbabasa ng libro ni Josh Lockhat na "PHP: The Right Way".
  3. Ang MySQL ay isang sistema para sa pamamahala ng mga pangunahing kaalaman ng data. Malawakang ginagamit sa paggawa ng mga website na nangangailangan ng storage malalaking volume nakagrupong datos.
  4. Ang HTML ay hindi isang programming language. Ito ay isang markup language na ginagamit upang isulat ang base ng isang web page (building blocks, pamamahagi ng teksto at mga talata, at iba pa).
  5. CSS - Cascading Style Sheet. Ginagamit lamang kasabay ng HTML upang ibigay ang istilo at hitsura ng markup language.

Sa pamamagitan lamang ng pag-aaral ng mga pangunahing konsepto ng mga milestone ng mga teknolohiyang ito maaari kang magsimulang lumikha ng mga propesyonal na dynamic na website na may malaking pangangailangan ngayon.

Web programming. Kaugnayan at mga tampok

Ang paksa ng Web programming ay partikular na nauugnay ngayon. Tulad ng nakasaad sa itaas, upang simulan ang pagbuo ng mga elemento ng web kailangan mong magkaroon ng medyo malaking halaga ng kaalaman tungkol sa mga markup language, paglikha ng mga script, lohika at mga istilo.

Sa ngayon, hindi mo na sorpresahin ang sinuman sa mga site na ginawa lamang gamit gamit ang HTML at CSS, kaya ang mga web developer na kayang gawing maganda sa paningin ang isang website, gayundin ang punan ito ng lahat ng functionality na kinakailangan para sa mga user, ay naging in demand.

Ang ganitong uri ng pag-unlad ay nangangailangan ng paglikha ng dalawang uri ng parehong programa: mga bahagi ng server at kliyente. Dapat na maunawaan ng programmer ang prinsipyo ng pagpapatakbo ng tinatawag na mga socket - mga packet ng data na nagpapahintulot sa mga kinakailangang daloy ng impormasyon na maipadala sa network sa pagitan ng server at ng kliyente.

Paglikha ng mga application para sa Windows operating system

Upang bumuo ng mga naturang programa, kakailanganin mo ng kaalaman sa wikang C#. Libreng serbisyo mula sa Microsoft na tinatawag na Virtual Academy ay magbibigay-daan sa iyo na matutunan ang lahat ng mga tampok ng wikang ito at magsanay sa pagsusulat ng mga simpleng application.

Ayon sa bagong patakaran ng Microsoft, ang lahat ng application ay ina-upload sa software store, para magkaroon ka ng access para pagkakitaan ang iyong proyekto.

Ang C pamilya ng mga wika (C, C++, C#). Mga kakaiba

Programming mula sa simula - saan magsisimulang pumili ng isang wika? Ang sagot sa tanong na ito ay maaaring makuha sa pamamagitan ng pag-detalye sa mas detalyado sa mga uri ng mga teknolohiya sa paglikha ng application. Dapat ding isaalang-alang ang kaugnayan ng isang partikular na wika.

Ang mga wikang C, C++, C# ay may isa karaniwang tampok- pagkakaroon ng OOP (object-oriented programming) function. Ang teknolohiyang ito ay nagpapahintulot sa iyo na makabuluhang pasimplehin ang proseso ng pagsulat ng code ng programa. Ang bawat software object ay inilalarawan sa isang partikular na klase at may sariling mga parameter, pamamaraan at katangian. Kaya, ang programmer ay hindi kailangang magsulat ng malalaking piraso ng code sa bawat oras kung ang parehong bagay ay kailangang gamitin nang maraming beses.

Mga kapaki-pakinabang na serbisyo sa Internet para sa pag-aaral ng mga pangunahing prinsipyo ng programming at ang istraktura ng code ng anumang aplikasyon

Sa unang yugto ng pagsasanay, halos anumang serbisyo sa web ay mag-aalok sa iyo na subukan ang mga kakayahan nito gamit ang Pascal, ang pinakasimpleng wika sa mataas na antas. Ginagamit ito para sa mga layuning pang-edukasyon at itinuturo sa mga paaralan at teknikal na kolehiyo upang maunawaan ng mga mag-aaral ang programming mula sa simula. Saan magsisimula sa Pascal coding? Una sa lahat, kailangan mong i-download ang development environment sa iyong PC. Ito ay isang maliit na executable file kung saan isusulat ang program code. Gumamit ng TurboPascal, ito ang pinaka sikat na daluyan pag-aaral ng programming language na ito.

Ang HourOfCode ay isang serbisyo sa web mula sa Microsoft. Ito ay inilaan upang malinaw na ipakita sa mga mag-aaral kung ano ang isang cycle, variable, klase, at mga kondisyon. Ang proseso ng pagkatuto ay parang isang laro.

Ang CodeAcademy ay isang mahusay na mapagkukunan para sa pag-aaral ng halos anumang teknolohiya ng coding. Sa paglalaan lamang ng isang oras sa isang araw, hindi mo na mapapansin kung paano ka matututong magprograma at gumawa ng sarili mong mga proyekto.

Ang Udacity ay isang serbisyong nagbibigay ng mga user nito libreng pag-access sa mga lektura ng mga kilalang propesor at developer.

Pagkuha ng paunang karanasan. Freelancing

Pagkatapos matutunan ang mga pangunahing prinsipyo ng iyong piniling wika, ligtas mong masisimulan ang iyong mga unang proyekto. Simulan ang freelancing, dahil ito ay kung paano mo pupunan ang iyong portfolio at magkakaroon ng karanasan sa pakikipag-usap sa mga customer. Ang ganitong mga kasanayan ay magiging kapaki-pakinabang sa hinaharap kung gusto mong makakuha ng trabaho sa isang kumpanya bilang isang opisyal na developer ng software.

Bottom line

Programming mula sa simula: saan magsisimula? Para sa mga dummies, ipinapayo ng mga propesor mula sa mga sikat na unibersidad sa mundo na magsanay kasama mga pangunahing istruktura, na bumubuo sa batayan ng anumang programming language. Mag-enroll sa mga espesyal na kurso o self-study sa pamamagitan ng pakikinig sa mga lecture online.

Ano ang Java o mga tampok ng wika


Kung tatanungin mo kung ano ang Java, maaari mong sabihin ang tungkol sa Java bilang isang pangkalahatang layunin, object-oriented na wika na halos kapareho sa C at C++, ngunit mas madaling gamitin at nagbibigay-daan sa iyong lumikha ng mas maaasahang mga programa. Sa kasamaang palad, ang kahulugan na ito ay hindi magbibigay sa iyo ng kumpletong pag-unawa sa Java. Higit pa detalyadong kahulugan ibinigay ng Sun Microsystems at may kaugnayan din, bagama't inihayag ito noong 2000:

Ang Java ay isang simple, object-oriented, web-enabled, interpreted, maaasahan, secure, architecture-neutral, portable, high-performance, multi-threaded, dynamic na programming language.
Tingnan natin ang bawat isa sa mga kahulugang ito nang paisa-isa:

Ang Java ay isang simpleng wika. Ang Java ay orihinal na na-modelo pagkatapos ng C at C++, na may ilang potensyal na nakalilitong elemento na inalis. Mga signpost, maramihang mana mga pagpapatupad pati na rin ang overloading ng operator - ang ilang tampok na C/C++ na ito ay hindi bahagi ng Java. Ang function ay opsyonal sa C/C++ ngunit kinakailangan sa Java - ito ay isang garbage collector na awtomatikong nagpapalaya ng mga bagay at array.

Ang Java ay isang object oriented na wika. Ang object-oriented focus ng Java ay nagbibigay-daan sa mga developer na magtrabaho sa pag-adapt ng Java upang malutas ang isang problema, sa halip na pilitin kaming manipulahin ang problema upang matugunan ang mga hadlang sa wika. Ito ay kung paano ito naiiba mula sa balangkas na wika, tulad ng C. Halimbawa, habang pinapayagan ka ng Java na tumuon sa mga bagay sa savings account, hinihiling sa iyo ng C na mag-isip nang hiwalay tungkol sa estado ng pag-save ng account (tulad ng balanse) at mga pag-uugali (tulad ng mga deposito at pag-withdraw).

Pinapayagan ka ng Java na magtrabaho kasama ang network. Pinapadali ng malawak na networking library ng Java na makitungo sa Internet Protocol (TCP/IP) pati na rin mga protocol ng network, tulad ng HTTP ( Hypertext Transfer Protocol) at FTP (File Transfer Protocol). Sa tulong ng mga aklatan, ang gawain ng paglikha ng mga koneksyon sa network ay pinasimple. Bukod pa rito, maaaring ma-access ng mga Java program ang mga bagay sa mga TCP/IP network gamit ang mga unipormeng pointer mapagkukunan ng impormasyon(URL) na may parehong kadalian sa pag-access ng mga file na matatagpuan sa iyong lokal na computer.

Ang Java ay isang binibigyang kahulugan na wika. Sa panahon ng pagpapatupad ng isang Java program, ito ay hindi direktang isinasagawa sa pinagbabatayan na platform (tulad ng Windows o Linux) sa pamamagitan ng isang virtual machine (na isang software na representasyon ng isang hypothetical na platform) at ang nauugnay na runtime na kapaligiran nito. Ang virtual machine ay nagsasalin ng bytecode sa mga tagubiling Java (mga tagubilin at nauugnay na data) na partikular sa platform gamit ang interpretasyon. Isinasagawa ng virtual machine ang mga tagubiling ito sa isang partikular na platform. Pinapadali ng interpretasyon ang pag-debug ng mga sirang Java program dahil mas maraming impormasyon ang available sa oras ng pag-compile.

Ang Java ay isang maaasahang wika. Ang mga programa ng Java ay dapat na maaasahan dahil ginagamit ang mga ito sa mga consumer at kritikal na aplikasyon. mahahalagang aplikasyon mula sa mga Blu-ray player o air control system sa mga sasakyan. Ang mga kliyente at server ng bangko ay nakasulat sa wikang ito. Ang mga feature ng wika na tumutulong na gawing matatag ang Java ay kinabibilangan ng mga deklarasyon, duplicative type checking sa compile at runtime (upang maiwasan ang mga problema sa hindi pagkakatugma ng bersyon), mga arrays na may awtomatikong pagsusuri mga hangganan, kakulangan ng mga palatandaan.

Ang isa pang aspeto ng pagiging maaasahan ng Java ay ang mga loop ay dapat na kontrolin ng mga boolean na expression sa halip na mga integer na expression kung saan ang 0 ay false at ang isang non-zero na halaga ay totoo. Halimbawa, hindi pinapayagan ng Java ang isang C-type na loop gaya ng habang (x) x++; dahil maaaring hindi matapos ang loop gaya ng inaasahan. Sa halip ay dapat mong tahasang magbigay lohikal na pagpapahayag, halimbawa, sa habang (x != 10) x++; (Na nangangahulugan na ang loop ay tatakbo hanggang ang x ay katumbas ng 10).

Ang Java ay isang ligtas na wika. Ginagamit ang mga Java program sa network/distributed environment. Dahil ang mga Java program ay maaaring lumipat at tumakbo iba't ibang mga platform, ito ay mahalaga upang maprotektahan ang mga platform na ito mula sa malisyosong code na maaaring kumalat ng mga virus: magnakaw ng impormasyon tungkol sa credit card o gumanap sa iba malisyosong pagkilos. Ang mga feature sa wikang Java na sumusuporta sa pagiging maaasahan (tulad ng pagpasa ng pointer) ay gumagana sa mga tampok na panseguridad gaya ng mga modelo ng seguridad ng sandbox Mga kapaligiran sa Java at pag-encrypt gamit ang pampublikong susi. Sama-sama, pinipigilan ng mga tampok na proteksyon na ito laban sa mga virus at iba pang malisyosong code ang kaguluhan na magdulot ng kalituhan sa isang platform na hindi pinaghihinalaan.

Sa teorya, ang Java ay ligtas. Sa pagsasagawa, iba't ibang mga kahinaan ang natuklasan at pinagsamantalahan. Bilang resulta, ang Sun Microsystems at Oracle ay patuloy na naglalabas ng mga update sa seguridad sa ngayon.

Ang Java ay isang arkitektura-neutral na wika(isa pang pangalan ay platform independent). Ang network ay nag-uugnay sa mga platform na may iba't ibang mga arkitektura batay sa iba't ibang microprocessors at operating system. Ang Java ay bumubuo ng platform-independent na mga bytecode ng pagtuturo na binibigyang-kahulugan para sa bawat platform (gamit ang virtual Mga makina ng Java).

Ang Java ay isang portable na wika. Ang arkitektura ng neutralidad ay nagtataguyod ng kadaliang kumilos. Ang mga aklatan ng Java ay nagtataguyod din ng kakayahang magamit. Kapag kinakailangan, nagbibigay sila ng mga uri na nagkokonekta ng Java code sa mga kakayahan na partikular sa platform sa pinakamadalas na paraan na posible.

Ang Java ay isang wika mataas na pagganap . Ang interpretasyon ay nagbibigay ng antas ng pagganap na karaniwang higit pa sa sapat. Ang mga nagsusulat ng mga pasadyang programa sa C++ ay maaaring magtaltalan dito, ngunit sa katunayan, pinapataas ng Java ang pagiging produktibo nito sa bawat bersyon.

Ang Java ay isang multi-threaded na wika. Upang mapabuti ang kahusayan ng mga program na kailangang magsagawa ng maraming gawain nang sabay-sabay, sinusuportahan ng Java ang konsepto ng mga thread. Halimbawa, isang program na namamahala ng graphical user interface (GUI) habang naghihintay ng input mula sa koneksyon sa network gumagamit ng isa pang thread upang gawin ang paghihintay sa halip na gamitin ang default na thread ng GUI para sa parehong mga gawain. Nagbibigay-daan ito sa iyo na magtrabaho kasama ang graphical na interface nang hindi ito nagiging sanhi ng pag-freeze. Ang pag-synchronize ng thread sa Java ay nagbibigay-daan sa mga thread na ligtas na makipag-usap sa isa't isa nang hindi sinisira ang mga ito.

Ang Java ay isang dynamic na wika. Dahil dynamic na nangyayari ang komunikasyon sa pagitan ng program code at mga library sa runtime, hindi na kailangang i-link ang mga ito nang tahasan. Bilang resulta, kapag nag-evolve ang isang program o isa sa mga library nito (halimbawa, para ayusin ang isang bug o pagbutihin ang performance), kailangan lang ipamahagi ng developer na-update na programa o aklatan. Bagama't ang mga resulta ng dynamic na gawi ay nangangailangan ng mas kaunting code kapag naganap ang pagbabago ng bersyon, ang patakaran sa pamamahagi na ito ay maaari ding humantong sa mga salungatan sa bersyon. Halimbawa, ang isang developer ay nag-aalis ng isang uri ng klase mula sa isang library, o pinapalitan ang pangalan nito. Kapag namahagi ang isang kumpanya ng na-update na library, maaaring hindi na gumana ang mga kasalukuyang program na nakadepende sa uri ng klase. Upang malutas ang problemang ito, sinusuportahan ng Java ang isang uri ng interface, na parang isang kontrata sa pagitan ng dalawang partido.

Kaya, napagmasdan namin ang mga tampok ng wikang Java. Kung kailangan mong magsulat ng isang programa sa wikang ito, gawin gawaing kurso o isang diploma, pagkatapos ay maaari mo akong kontakin - [email protected]- Talagang tutulungan kita.

Nagsusulat ang programming source code mga programa sa isa sa mga programming language. Mayroong maraming iba't ibang mga programming language, salamat sa kung saan ang lahat ng mga uri ng mga programa ay nilikha na malutas ang isang tiyak na hanay ng mga problema. Ang isang programming language ay isang set nakalaan na salita, sa tulong kung saan isinulat ang source code ng programa. Ang mga computer system ay hindi (pa) nauunawaan wika ng tao at higit pa rito, ang lohika ng tao (lalo na ang lohika ng babae), kaya naman ang lahat ng mga programa ay nakasulat sa mga programming language, na pagkatapos ay isinalin sa wika ng computer o machine code. Napakasalimuot ng mga system na nagsasalin ng source code ng program sa machine code at, bilang panuntunan, nilikha ang mga ito sa loob ng dose-dosenang buwan at dose-dosenang programmer. Ang ganitong mga sistema ay tinatawag na pinagsama-samang mga kapaligiran sa pagprograma ng aplikasyon o mga tool.

Ang isang programming system ay isang malaking, pinag-isipang mabuti na visual na kapaligiran kung saan maaari mong isulat ang source code ng isang programa, isalin ito sa machine code, pagsubok, debug, at marami pang iba. Bukod pa rito, may mga program na nagbibigay-daan sa iyo upang maisagawa ang mga aksyon sa itaas gamit ang command line.

Marahil ay narinig mo na ang terminong "isinulat ang isang programa para sa Windows o Linux o Unix" nang higit sa isang beses. Ang katotohanan ay ang mga programming environment kapag nagsasalin ng programming language sa machine code ay maaaring may dalawang uri - mga compiler at interpreter. Ang pag-compile o pagbibigay-kahulugan sa isang programa ay tumutukoy kung paano patuloy na isasagawa ang programa sa device. Palaging gumagana ang mga program na nakasulat sa Java batay sa interpretasyon, habang ang mga program na nakasulat sa C/C++ ay pinagsama-sama. Ano ang pagkakaiba sa pagitan ng dalawang pamamaraang ito?

Ang compiler, pagkatapos isulat ang source code sa oras ng compilation, binabasa ang buong source code ng program nang sabay-sabay at isinasalin ito sa machine code. Pagkatapos kung saan ang programa ay umiiral bilang isang solong kabuuan at maaari lamang isagawa sa operating system kung saan ito isinulat. Samakatuwid, ang mga program na isinulat para sa Windows ay hindi maaaring gumana kapaligiran ng Linux at vice versa. Isinasagawa ng interpreter ang programa nang sunud-sunod o linya sa bawat linya sa tuwing ito ay isasagawa. Sa panahon ng interpretasyon, hindi executable code ang nilikha, ngunit virtual code, na kasunod na isinasagawa virtual java sa pamamagitan ng kotse. Samakatuwid, sa anumang platform - Windows o Linux, ang mga programa ng Java ay maaaring maisakatuparan nang pantay-pantay kung mayroong isang virtual na Java machine sa system, na tinatawag ding Runtime System.

Object-oriented na programming

Ang Object-oriented na programming ay binuo batay sa mga bagay, na medyo katulad ng ating mundo. Kung titingnan mo ang iyong paligid, tiyak na makakahanap ka ng isang bagay na makakatulong sa iyo na mas malinaw na maunawaan ang modelo ng naturang programming. Halimbawa, nakaupo ako ngayon sa aking desk at tina-type ang kabanatang ito sa isang computer, na binubuo ng isang monitor, unit ng system, keyboard, mouse, mga speaker, at iba pa. Ang lahat ng mga bahaging ito ay ang mga bagay na bumubuo sa isang computer. Alam ito, napakadaling bumalangkas ng ilang uri ng pangkalahatang modelo ng pagpapatakbo ng buong computer. Kung hindi mo naiintindihan ang mga intricacies ng software at hardware na mga katangian ng isang computer, maaari naming sabihin na ang System Unit object ay gumaganap ng ilang mga aksyon na ipinapakita ng Monitor object. Sa turn, ang Keyboard object ay maaaring mag-adjust o magtakda ng mga aksyon para sa System Unit object, na nakakaapekto sa pagpapatakbo ng Monitor object. Ang ipinakita na proseso ay napakahusay na nagpapakilala sa buong object-oriented programming system.

Isipin ang ilang makapangyarihang produkto ng software na naglalaman ng daan-daang libong linya ng code. Ang buong programa ay isinasagawa linya sa linya, linya sa linya, at sa prinsipyo bawat isa sa mga kasunod na linya ng code ay kinakailangang konektado sa nakaraang linya ng code. Kung hindi ka gumagamit ng object-oriented programming, at kapag kailangan mong baguhin ang program code na ito, sabihin nating, kung kailangan mong pagbutihin ang ilang elemento, kailangan mong gumawa ng maraming trabaho sa buong source code ng program na ito.

Sa object-oriented programming ang lahat ay mas simple, bumalik tayo sa halimbawa ng isang computer system. Sabihin nating hindi ka na nasisiyahan sa isang labing pitong pulgadang monitor. Maaari mong ligtas na ipagpalit ito para sa isang dalawampu't pulgadang monitor, siyempre, kung mayroon kang tiyak materyal na mapagkukunan. Ang proseso ng palitan mismo ay hindi magkakaroon ng malalaking problema, maliban kung kailangan mong baguhin ang driver, punasan ang alikabok mula sa ilalim ng lumang monitor at iyon na. Ang Object-oriented na programming ay nakabatay nang humigit-kumulang sa prinsipyong ito ng pagpapatakbo, kung saan ang isang partikular na bahagi ng code ay maaaring kumatawan sa isang klase ng mga homogenous na bagay na madaling ma-upgrade o mapalitan.

Napakadali at malinaw na sinasalamin ng Object-oriented na programming ang kakanyahan ng problemang niresolba at, higit sa lahat, ginagawang posible na alisin ang mga hindi kinakailangang bagay nang hindi nasisira ang buong programa, pinapalitan ang mga bagay na ito ng mga bago. Alinsunod dito, ang pangkalahatang pagiging madaling mabasa ng source code ng buong programa ay nagiging mas madali. Mahalaga rin na ang parehong code ay maaaring gamitin sa ganap na magkakaibang mga programa.

Mga klase

Ang core ng lahat ng Java program ay mga klase, kung saan nakabatay ang object-oriented programming. Talagang alam mo na kung ano ang mga klase, ngunit hindi mo pa ito napagtanto. Sa nakaraang seksyon napag-usapan natin ang tungkol sa mga bagay, gamit ang istraktura ng isang buong computer bilang isang halimbawa. Ang bawat bagay kung saan binuo ang isang computer ay isang kinatawan ng klase nito. Halimbawa, pinagsasama ng klase ng Monitor ang lahat ng monitor, anuman ang kanilang mga uri, laki at kakayahan, at ang isang partikular na monitor na nakatayo sa iyong desk ay isang bagay ng klase ng monitor.

Pinapadali ng diskarteng ito na gawing modelo ang lahat ng uri ng mga proseso ng programming, na ginagawang mas madali ang paglutas ng mga problema. Halimbawa, may apat na object ng apat na magkakaibang klase: monitor, system unit, keyboard at speaker. Para mag-play ng sound file kailangan mong gamitin ang keyboard para magbigay ng command yunit ng sistema, mapapansin mo ang mismong pagkilos ng pagbibigay ng command nang biswal sa monitor at, bilang resulta, ang mga speaker ay magpaparami ng sound file. Ibig sabihin, ang anumang bagay ay bahagi ng isang partikular na klase at naglalaman ng lahat ng mga tool at kakayahan na magagamit sa klase na ito. Maaaring mayroong maraming mga bagay ng isang klase hangga't kinakailangan upang malutas ang problema.

Pamamaraan

Kapag ang isang halimbawa ng pag-play ng isang sound file ay ibinigay, ito ay nabanggit na ang isang utos o mensahe ay ibinigay, sa batayan kung saan ang ilang mga aksyon ay ginanap. Ang gawain ng pagsasagawa ng mga aksyon ay nalutas gamit ang mga pamamaraan na mayroon ang bawat bagay. Ang mga pamamaraan ay isang hanay ng mga utos na maaaring magamit upang magsagawa ng ilang mga aksyon sa isang bagay.

Ang bawat bagay ay may sariling layunin at idinisenyo upang malutas ang isang tiyak na hanay ng mga problema gamit ang mga pamamaraan. Ano ang silbi ng isang bagay sa Keyboard, halimbawa, kung hindi mo mapindot ang mga key at makakapag-isyu ka pa rin ng mga utos? Ang bagay na Keyboard ay may isang tiyak na bilang ng mga key kung saan nagkakaroon ng kontrol ang user sa input device at maaaring mag-isyu ng mga kinakailangang command. Ang ganitong mga utos ay pinoproseso gamit ang mga pamamaraan.

Halimbawa, pinindot mo ang Esc key upang kanselahin ang anumang mga aksyon at sa gayon ay magbibigay ng utos sa paraan na itinalaga sa key na ito, na lumulutas sa gawaing ito sa antas ng programa. Ang tanong ay agad na lumitaw tungkol sa bilang ng mga pamamaraan ng bagay na Keyboard, ngunit maaaring magkaroon ng ibang pagpapatupad - mula sa pagtukoy ng mga pamamaraan para sa bawat isa sa mga susi (na, sa pangkalahatan, ay hindi matalino), at sa paglikha ng isang solong pamamaraan na susubaybayan ang pangkalahatang estado ng keyboard. Iyon ay, sinusubaybayan ng pamamaraang ito kung pinindot ang isang susi, at pagkatapos, depende sa kung aling susi ang isinaaktibo, magpapasya kung ano ang gagawin.

Simple

"Nais naming lumikha ng isang sistema na madaling i-program, hindi nangangailangan ng karagdagang pagsasanay at isinasaalang-alang ang mga itinatag na kasanayan at pamantayan sa programming. Samakatuwid, kahit na itinuring namin na hindi angkop ang C++ para sa mga layuning ito, ang Java ay idinisenyo upang maging katulad hangga't maaari upang gawing mas madaling ma-access ang system. Ang Java ay kulang ng marami sa mga hindi gaanong ginagamit, nakakubli, at nakakubli na mga tampok ng C++ na pinaniniwalaan naming mas nakakapinsala kaysa sa kabutihan. Ang Java syntax ay mahalagang isang dalisay na bersyon ng C++ syntax. Ang wikang ito ay walang mga file ng header, pointer arithmetic (at mga pointer mismo), mga istruktura, unyon, overloading ng operator, virtual base class, atbp.

Gayunpaman, hindi nagsikap ang mga developer na itama ang lahat ng mga pagkukulang ng wikang C++. Halimbawa, ang syntax ng switch statement sa Java ay nananatiling hindi nagbabago. Ang pag-alam sa wikang C++, magiging madali itong lumipat sa Java syntax. Ang isa sa mga layunin ng wikang Java ay upang paganahin ang pagbuo ng mga programa na maaaring ganap na patakbuhin nang nakapag-iisa sa maliliit na makina. Ang laki ng pangunahing interpreter at suporta sa klase ay humigit-kumulang 40 KB; karaniwang mga aklatan at suporta sa threading (lalo na ang auto-

Ang self-contained microkernel) ay tumatagal ng isa pang 175 KB. Ito ay isang malaking tagumpay. Tandaan, gayunpaman, na ang mga library ng suporta ng GUI ay mas malaki.

Object-oriented

"Sa madaling salita, ang object-oriented programming ay isang programming method na nakatutok sa data (i.e., object) at ang paraan para ma-access ang mga ito."

Ang mga object-oriented na katangian ng Java at C++ na mga wika ay mahalagang pareho. Napatunayan na ng orientation ng object ang halaga nito sa nakalipas na 30 taon, at imposibleng isipin ang isang modernong programming language kung wala ito. Sa katunayan, ang mga tampok na object-oriented ng wikang Java ay maihahambing sa wikang C++. Ang pangunahing pagkakaiba sa pagitan nila ay ang multiple inheritance mechanism, kung saan mayroon ang Java language pinakamahusay na solusyon, pati na rin sa metaclass na modelo ng wikang Java. Ang mga mekanismo para sa pagmuni-muni at serialization ng mga bagay ay nagpapahintulot sa iyo na ipatupad napapanatiling mga bagay at mga tool para sa paglikha ng mga graphical na interface ng gumagamit batay sa mga handa na bahagi.

Naipamahagi

“Ang wikang Java ay may malaking library ng mga programa para sa paglilipat ng data batay sa TCP/IP (Transmission Control Protocol/Internet Protocol) na mga protocol tulad ng http (Hypertext TransjerProtocol) o FTP (File Transfer Protocol) - file transfer protocol). Ang mga application na nakasulat sa Java ay maaaring magbukas at mag-access ng mga bagay sa network gamit ang URLrodpecoe (Uniform Resource Location) na kasingdali ng sa isang lokal na network.

Ang wikang Java ay nagbibigay ng makapangyarihan at maginhawang mga tool para sa networking. Ang sinumang sumubok na magsulat ng mga programa para sa Internet sa ibang mga wika ay malugod na mabigla sa kung gaano kadali ang pinakamahirap na gawain, halimbawa, pagbubukas ng mga koneksyon sa network (mga socket), ay malulutas sa Java. Ang isang eleganteng mekanismo na binubuo ng tinatawag na mga servlet ay gumagawa ng trabaho sa server na napakahusay. Ang mga Servlet ay sinusuportahan ng maraming sikat na Web server. Ang komunikasyon sa pagitan ng mga ipinamahagi na bagay sa wikang Java ay ibinibigay ng mekanismo para sa paggamit ng mga malalayong pamamaraan (ang paksang ito ay saklaw din sa Volume 2).

Maaasahan

"Ang wikang Java ay idinisenyo upang lumikha ng mga programa na dapat gumana nang mapagkakatiwalaan sa anumang sitwasyon. Ang pangunahing pokus ng Java ay sa maagang pagtuklas ng mga posibleng error, dynamic na pagsusuri (sa panahon ng pagpapatupad ng programa), at pag-aalis ng mga sitwasyong madaling kapitan ng error... Ang tanging makabuluhang pagkakaiba sa pagitan ng Java at C++ ay ang modelo ng pointer na pinagtibay sa Java, na nag-aalis ng posibilidad ng pag-overwrite ng isang seksyon ng memorya at pagkasira ng data."

Ang ari-arian na ito ay lubhang kapaki-pakinabang din. Ang Java language compiler ay nakakakita ng mga error na sa ibang mga wika ay nakikita lamang sa panahon ng pagpapatupad ng programa. Bilang karagdagan, ang mga programmer na gumugol ng maraming oras sa paghahanap para sa isang bug na nagdulot ng pagkasira ng memorya dahil sa isang di-wastong pointer ay magiging napakasaya na malaman na ang mga naturang problema ay hindi maaaring lumitaw sa prinsipyo sa wikang Java.

Kung dati kang nakaprograma sa mga wika Visual Basic o COBOL, na hindi tahasang gumagamit ng mga payo, maaaring hindi mo maintindihan kung bakit ito napakahalaga. Ang mga programmer ng C ay hindi gaanong pinalad. Kailangan nila ng mga pointer para ma-access ang mga string, array, object, at kahit na mga file. Kapag nagprograma sa Visual Basic, wala sa mga ito ang kinakailangan, at ang programmer ay hindi kailangang mag-alala tungkol sa paglalaan ng memorya para sa mga entity na ito. Sa kabilang banda, maraming mga istruktura ng data ang napakahirap ipatupad sa isang wika na walang mga pointer. Para sa mga regular na istruktura tulad ng mga string at array, hindi kailangan ang mga pointer. Ang buong kapangyarihan ng mga pointer ay naglalaro lamang kapag hindi mo magagawa nang wala ang mga ito, halimbawa, kapag gumagawa ng mga naka-link na listahan. Ang isang Java programmer ay walang hanggan mula sa masasamang pointer, masamang alokasyon, at memory leaks.

Ligtas

“Ang wikang Java ay idinisenyo para sa paggamit sa isang naka-network, distributed na kapaligiran. Dahil dito malaking atensyon inuna ang kaligtasan. Pinapayagan ka ng wikang Java na lumikha ng mga system na protektado mula sa mga virus at panghihimasok sa labas."

Ipinahayag ng pangkat ng wikang Java na wala itong pagpapaubaya para sa anumang mga bug sa seguridad at agad na sinimulan ang pag-aayos ng anumang mga problemang makikita sa mekanismo ng seguridad ng applet. Sa partikular, sa pamamagitan ng pag-publish ng mga panloob na detalye ng interpreter ng wikang Java, pinadali ng Sun ang paghahanap ng mga nakatagong bug sa seguridad at nakaakit ng mga independiyenteng eksperto na hanapin ang mga ito. Pinataas nito ang posibilidad na ang anumang mga error sa sistema ng seguridad ay matutuklasan sa lalong madaling panahon. Sa anumang kaso, napakahirap talunin ang sistema ng seguridad ng wikang Java. Ang mga bug na natuklasan sa ngayon ay halos banayad, at ang kanilang bilang ay (medyo) maliit.

Ang lahat ng mga hakbang sa kaligtasan na ito ay angkop at karaniwang gumagana nang walang kamali-mali, ngunit hindi kailanman masakit na maging maingat. Kahit na ang mga bug na natuklasan sa ngayon ay malayo sa walang kabuluhan, at ang mga detalye ng kanilang pagtuklas ay madalas na pinananatiling lihim, dapat itong kilalanin na malamang na imposible pa ring patunayan ang seguridad ng wikang Java. Sa paglipas ng panahon, ang mga bagong proteksyon ay idinagdag sa wika. Simula sa bersyon 1.1, ipinakilala ng Java language ang konsepto ng digitally signed classes. Sa pamamagitan ng paggamit ng digitally signed class, makakasiguro ka sa may-akda nito. Kung pinagkakatiwalaan mo ito, maaari mong ibigay sa klase ang lahat ng mga pribilehiyong magagamit sa iyong makina.

Independyente ang arkitektura

"Ang compiler ay bumubuo ng isang object file, ang format na hindi nakasalalay sa arkitektura ng computer ang pinagsama-samang programa ay maaaring isagawa sa anumang processor sa ilalim ng kontrol ng Java program execution system. Upang gawin ito, ang Java language compiler ay bumubuo ng mga bytecode command na independiyente sa partikular na arkitektura ng computer. Ang bytecode ay idinisenyo sa paraang madali itong ma-interpret sa anumang makina o maisalin sa machine code on the fly."

Ito ay hindi isang bagong ideya. Mahigit 20 taon na ang nakalilipas, ang sistema ng pagpapatupad ng wikang Pascal na binuo ni Niclaus Wirth at ang sistema ng UCSD Pascal ay gumamit ng parehong teknolohiya. Ang paggamit ng mga bytecode ay nagbibigay ng isang malaking pakinabang sa pagpapatupad ng programa (bagaman ang kasabay na compilation sa maraming mga kaso ay nagbabayad para dito). Ang mga nag-develop ng wikang Java ay nakagawa ng isang mahusay na trabaho sa pagbuo ng isang set ng mga tagubilin sa bytecode na gumagana nang perpekto sa karamihan sa mga modernong computer,

madaling isinalin sa totoong mga utos ng makina.

Independiyenteng makina

"Hindi tulad ng C at C++, ang pagtutukoy ng Java ay walang mga aspetong partikular sa pagpapatupad. Parehong eksaktong tinukoy ang laki ng mga pangunahing uri ng data at ang mga pagpapatakbo ng aritmetika sa mga ito. Halimbawa, ang uri ng int sa Java ay palaging nangangahulugang isang 32-bit na integer. Sa C at C++, ang uri ng int ay maaaring mangahulugan ng alinman sa 16-bit o 32-bit na integer, o isang integer ng anumang laki sa pagpapasya ng taga-disenyo ng compiler. Ang tanging limitasyon ay ang "ang laki ng isang int na uri ay hindi maaaring mas mababa sa laki ng isang shortint na uri at mas malaki kaysa sa laki ng isang uri

Iniiwasan ng nakapirming laki ng mga uri ng numero ang marami sa mga abala na nauugnay sa pagpapatakbo ng mga program sa iba't ibang mga computer. Ang binary data ay iniimbak at ipinapadala sa isang nakapirming format, na iniiwasan din ang mga hindi pagkakaunawaan na nauugnay sa iba't ibang byte order sa iba't ibang mga platform ("big endian/little endian" conflict). Ang mga string ay nai-save sa karaniwang Unicode na format.

Interpretable

"Ang interpreter ng wikang Java ay maaaring ipadala sa anumang makina at direktang magsagawa ng bytecode dito. Dahil ang pag-edit ng mga link ay isang mas madaling proseso, ang pagbuo ng programa ay maaaring maging mas mabilis at mas mahusay."

Maaaring ito ay isang kalamangan kapag bumubuo ng mga application, ngunit ang quote sa itaas ay isang malinaw na pagmamalabis. Sa anumang kaso, ang Java compiler na kasama sa JSDK (Java Software Development Kit) ay medyo mabagal. (Ang ilang mga third-class compiler, tulad ng mula sa IBM, ay mas mabilis.) Ang bilis ng recompilation ay isa lamang salik sa kahusayan ng isang programming environment. Kapag inihambing mo ang bilis ng Java at Visual Basic programming environment, maaari kang mabigo.

Mataas na pagganap

“Bagama't ang mga bytecode na binibigyang-kahulugan sa pangkalahatan ay may higit sa sapat na pagganap, may mga sitwasyon kung saan kinakailangan ang higit na kahusayan. Maaaring isalin ang mga bytecode "on the fly" (sa panahon ng runtime) sa mga machine code para sa partikular na processor kung saan tumatakbo ang application."

Kung gumagamit ka ng interpreter upang magsagawa ng mga bytecode, hindi mo dapat gamitin ang pariralang "mataas na pagganap." Gayunpaman, sa maraming platform ay posible ang isa pang uri ng compilation, na ibinigay ng just-in-time compiler (JIT). Isinasalin nila ang bytecode sa katutubong code, iniimbak ang resulta sa memorya, at pagkatapos ay tawagan ito kapag kinakailangan. Dahil isang beses lang ginagawa ang interpretasyon, pinapataas ng diskarteng ito ang bilis ng maraming beses. Bagama't mas mabagal pa rin ang mga synchronous compiler kaysa sa mga compiler na umaasa sa makina, sa anumang kaso ay mas mabilis ang mga ito kaysa sa mga interpreter, na nagbibigay ng 10 at kahit 20 beses na speedup para sa ilang mga programa. Ang teknolohiyang ito ay patuloy na bumubuti at sa kalaunan ay maaaring maabot ang mga bilis na hindi malalampasan ng mga tradisyunal na compiler. Halimbawa, maaaring matukoy ng isang kasabay na compiler kung aling piraso ng code ang mas madalas na isinasagawa at i-optimize ito para sa bilis ng pagpapatupad.

Multithreaded

"Ang multithreading ay nagbibigay ng mas mahusay na interaktibidad at pagpapatupad ng programa." Kung sinubukan mong ipatupad ang multithreaded computing sa anumang iba pang programming language, ikatutuwa mong magugulat kung gaano kadali gawin ito sa Java. Maaaring samantalahin ng mga thread sa Java ang mga multiprocessor system kung pinapayagan ito ng operating system. Sa kasamaang palad, ang mga pagpapatupad ng thread sa karamihan ng mga platform ay nag-iiba-iba, at ang mga taga-disenyo ng wikang Java ay hindi nagtatangkang makamit ang pagkakapareho. Tanging ang code para sa pagtawag sa mga thread ay nananatiling pareho para sa lahat ng mga makina; Ipinapaliban ng wikang Java ang pagpapatupad ng multithreading sa pinagbabatayan na operating system o threading library. (Ang mga thread ay sakop sa Volume 2.) Sa kabila nito, ito ay ang kadalian ng multi-threaded computing na ginagawang kaakit-akit ang Java para sa pagbuo ng software ng server.

Dynamic

"Sa maraming paraan, ang Java ay mas dynamic kaysa sa C o C++. Ito ay idinisenyo upang madaling umangkop sa isang pabago-bagong kapaligiran. Ang mga bagong pamamaraan at bagay ay maaaring malayang idagdag sa mga aklatan nang hindi nagdudulot ng anumang pinsala. Pinapadali ng wikang Java ang pagkuha ng impormasyon tungkol sa progreso ng isang programa."

Napakahalaga nito sa mga kaso kung saan kailangan mong magdagdag ng code sa isang program na tumatakbo na. Isang kapansin-pansing halimbawa Ito ay code na na-download mula sa Internet upang maisakatuparan ng browser. Sa Java 1.0, hindi madaling makakuha ng impormasyon tungkol sa pag-unlad ng isang tumatakbong programa, ngunit ang kasalukuyang bersyon ng wikang Java ay nagpapakita sa programmer ng parehong istraktura at pag-uugali ng mga bagay ng tumatakbong programa. Napakahalaga nito para sa mga system na dapat mag-parse ng mga bagay sa panahon ng pagpapatupad ng programa. Kasama sa mga system na ito ang mga graphical na tool sa interface ng gumagamit, mga intelligent na debugger, mga bahagi ng plug-in, at mga database ng object.

Java - isang wika mula sa Sun microsystems. Ito ay orihinal na binuo bilang isang wika para sa pagprograma ng mga elektronikong aparato, ngunit kalaunan ay nagsimulang gamitin para sa pagsusulat ng mga aplikasyon ng software ng server. Ang mga programa ng Java ay cross-platform, ibig sabihin, maaari silang tumakbo sa alinman mga operating system.

Mga Pangunahing Kaalaman sa Java Programming

Ang Java, bilang isang object-oriented na wika, ay sumusunod sa mga pangunahing prinsipyo ng OOP:

  • mana;
  • polymorphism;
  • encapsulation.

Sa gitna ng Java, tulad ng sa iba pang mga OYA, ay isang bagay at isang klase na may mga konstruktor at mga katangian. Simulan ang pag-aaral ng wika Java programming Ito ay mas mahusay na hindi mula sa mga opisyal na mapagkukunan, ngunit mula sa mga manual para sa mga nagsisimula. Ang ganitong mga manual ay naglalarawan ng mga kakayahan nang detalyado at nagbibigay ng mga halimbawa ng code. Ang mga aklat tulad ng "The Java Programming Language for Beginners" ay nagpapaliwanag nang detalyado sa mga pangunahing prinsipyo at tampok ng pinangalanang wika.

Mga kakaiba

Ang Java programming language code ay isinalin sa bytecode at pagkatapos ay ipapatupad sa JVM. Ang conversion sa bytecode ay isinasagawa sa Javac, Jikes, Espresso, GCJ. May mga compiler na nagsasalin ng wikang C sa Java bytecode. Kaya, ang isang C application ay maaaring tumakbo sa anumang platform.

Ang Java syntax ay nailalarawan sa pamamagitan ng mga sumusunod:

  1. Ang mga pangalan ng klase ay dapat magsimula sa malaking titik. Kung ang pangalan ay binubuo ng ilang mga salita, ang pangalawa ay dapat magsimula sa malaking titik.
  2. Kung maraming salita ang ginamit upang makabuo ng isang paraan, ang pangalawa sa mga ito ay dapat magsimula sa malaking titik.
  3. Nagsisimula ang pagproseso sa pangunahing() na pamamaraan - bahagi ito ng bawat programa.

Mga uri

Ang Java programming language ay may 8 primitive na uri. Ang mga ito ay ipinakita sa ibaba.

  • Boolean - uri ng boolean, tumatagal lamang ng dalawang halaga na totoo at mali.
  • Byte - pinakamaliit uri ng integer 1 byte ang laki. Ginagamit ito kapag nagtatrabaho sa mga file o raw binary data. May saklaw mula -128 hanggang 127.
  • Ang short ay may saklaw mula -32768 hanggang 32767 at ginagamit upang kumatawan sa mga numero. Ang laki ng mga variable ng ganitong uri ay 2 bytes.
  • Ang Int ay kumakatawan din sa mga numero, ngunit ang laki nito ay 4 bytes. Ito ay kadalasang ginagamit upang gumana sa integer data, at ang byte at short ay minsang pino-promote sa int.
  • Mahaba ang ginagamit para sa malalaking integer. Ang mga posibleng halaga ay mula -9223372036854775808 hanggang 9223372036854775807.
  • Ang float at double ay ginagamit upang tukuyin ang mga fractional na halaga. Ang kanilang pagkakaiba ay ang float ay maginhawa kapag hindi kinakailangan mataas na katumpakan sa fractional na bahagi ng bilang.
  • Ang double ay nagpapakita ng lahat ng mga character pagkatapos ng "." Ang float ay nagpapakita lamang ng mga nauna.
  • Ang string ay ang pinakakaraniwang ginagamit na primitive na uri na ginagamit upang tukuyin ang mga string.

Mga klase at bagay

Ang mga klase at bagay ay may mahalagang papel sa Pag-aaral ng Java Programming Language para sa mga Nagsisimula.

Ang isang klase ay tumutukoy sa isang template para sa isang bagay; Upang gawin ito, gamitin ang keyword ng Class. Kung ito ay nilikha sa isang hiwalay na file, ang pangalan ng klase at ang file ay dapat na pareho. Ang pangalan mismo ay binubuo ng dalawang bahagi: ang pangalan at ang extension.Java.

Sa Java, maaari kang lumikha ng isang subclass na magmamana ng mga pamamaraan ng magulang. Ang salitang extends ay ginagamit para dito:

  • class class_name extends superclass_name ();

Ang isang constructor ay isang bahagi ng anumang klase, kahit na hindi ito tahasang tinukoy. Sa kasong ito, nilikha ito ng compiler nang nakapag-iisa:

  • pampubliko klase Klase( pampublikong Klase() ( ) pampublikong Klase(Pangalan ng String)( ))

Ang pangalan ng constructor ay pareho sa pangalan ng klase bilang default, mayroon lamang itong isang parameter:

  • pampublikong Puppy(String name)

Ang bagay ay nilikha mula sa isang klase gamit bago ang operator():

  • Punto p = bagong Punto()

Natatanggap nito ang lahat ng mga pamamaraan at katangian ng klase, sa tulong kung saan ito nakikipag-ugnayan sa iba pang mga bagay. Ang isang bagay ay maaaring gamitin nang maraming beses sa ilalim ng iba't ibang mga variable.

    Punto p = bagong Punto()

    klase TwoPoints (

    pampublikong static void main(String args) (

    Punto p1 = bagong Punto();

    Punto p2 = bagong Punto();

    Ang mga variable at object ng object ay ganap na magkakaibang entity. Ang mga variable na bagay ay mga sanggunian. Maaari silang tumuro sa anumang variable ng isang hindi primitive na uri. Hindi tulad ng C++, ang kanilang uri ng conversion ay mahigpit na kinokontrol.

    Mga Patlang at Paraan

    Ang mga patlang ay ang lahat ng mga variable na nauugnay sa isang klase o bagay. Bilang default, lokal ang mga ito at hindi magagamit sa ibang mga klase. Para ma-access ang mga field, gamitin ang operator:

    • classname.variable

    Maaari kang magtakda ng mga static na field gamit ang key mga salitang static. Ang mga nasabing field ay ang tanging paraan upang mag-imbak ng mga global variable. Ito ay dahil sa ang katunayan na ang Java ay walang mga pandaigdigang variable.

    Ipinatupad ang kakayahang mag-import ng mga variable upang makakuha ng access mula sa iba pang mga pakete:

    • mag-import ng static na classname;

    Ang pamamaraan ay isang subroutine para sa mga klase kung saan ito idineklara. Inilarawan sa parehong antas ng mga variable. Ito ay tinukoy bilang isang function at maaaring maging anumang uri, kabilang ang void:

    • class Point(int x, y;

      void init(int a, int b) (

    Sa halimbawa sa itaas, ang Point class ay may integer x at y, isang init() na pamamaraan. Ang mga pamamaraan, tulad ng mga variable, ay ina-access sa pamamagitan ng paggamit ng "."

    • Point.init();

    Ang init na ari-arian ay hindi nagbabalik ng anuman, kaya mayroon ito type void.

    Mga variable

    Sa Java programming language tutorial, ang mga variable ay sumasakop sa isang espesyal na lugar. Ang lahat ng mga variable ay may isang tiyak na uri, tinutukoy nito ang kinakailangang lokasyon para sa pag-iimbak ng mga halaga, ang hanay ng mga posibleng halaga, at ang listahan ng mga operasyon. Bago ang mga halaga ay maaaring manipulahin, ang mga variable ay ipinahayag.

    Maraming mga variable ang maaaring ipahayag nang sabay-sabay. Ginagamit ang kuwit upang ilista ang mga ito:

    • int a, b, c;

    Nagaganap ang pagsisimula pagkatapos o sa panahon ng deklarasyon:

    int a = 10, b = 10;

    Mayroong ilang mga uri:

    • mga lokal na variable (lokal);
    • mga variable ng halimbawa
    • mga static na variable (static).

    Ang mga lokal na variable ay idineklara sa mga pamamaraan at constructor ang mga ito ay nilikha kapag ang huli ay pinapatakbo at nawasak kapag nakumpleto. Para sa kanila, ipinagbabawal na tukuyin ang mga modifier ng pag-access at kontrolin ang antas ng kakayahang magamit. Hindi sila nakikita sa labas ng ipinahayag na bloke. Sa Java, ang mga variable ay walang paunang halaga, kaya kailangan itong italaga bago ang unang paggamit.

    Dapat ideklara ang mga variable ng instance sa loob ng klase. Ginagamit ang mga ito bilang mga pamamaraan, ngunit maaari lamang ma-access pagkatapos malikha ang bagay. Ang variable ay nawasak kapag ang bagay ay nawasak. Ang mga variable ng instance, hindi tulad ng mga lokal, ay may mga default na halaga:

    • mga numero - 0;
    • lohika - mali;
    • ang mga link ay null.

    Ang mga static na variable ay tinatawag na mga variable ng klase. Ang kanilang mga pangalan ay nagsisimula sa simbolo sa malaking titik, ay tinukoy ng static na modifier. Ginagamit ang mga ito bilang mga pare-pareho;

    • pangwakas;
    • pribado;
    • pampubliko

    Ang mga ito ay inilunsad sa simula ng programa at nawasak pagkatapos ihinto ang pagpapatupad. Tulad ng mga variable ng halimbawa, mayroon silang mga karaniwang halaga na itinalaga sa mga walang laman na variable. Ang mga numero ay may halaga na 0, ang mga boolean na variable ay may isang halaga ng false, at ang mga sanggunian sa bagay ay sa simula ay null. Ang mga static na variable ay tinatawag ang sumusunod na anyo:

    • ClassName.VariableName.

    Tagakolekta ng basura

    Sa tutorial na "The Java Programming Language for Beginners", ang seksyon sa awtomatikong pagkolekta ng basura ay ang pinaka-kawili-wili.

    Sa Java, hindi katulad ng wikang C, imposible manu-manong pagtanggal bagay mula sa memorya. Para sa layuning ito, ang isang paraan ng awtomatikong pag-alis ay ipinatupad - isang kolektor ng basura. Sa tradisyunal na pagtanggal sa pamamagitan ng null, ang reference lamang sa object ang aalisin, at ang object mismo ay tatanggalin. May mga paraan upang pilitin ang pagkolekta ng basura, bagama't hindi ito inirerekomenda para gamitin sa normal na trabaho.

    Gumagana ang module para sa awtomatikong pag-alis ng mga hindi nagamit na bagay background, tumatakbo kapag hindi aktibo ang program. Upang i-clear ang mga bagay mula sa memorya, ang programa ay huminto pagkatapos na palayain ang memorya, ang naantala na operasyon ay ipinagpatuloy.

    Mga modifier

    Makilala iba't ibang uri mga modifier. Bilang karagdagan sa mga tumutukoy sa paraan ng pag-access, mayroong mga modifier ng mga pamamaraan, variable, at klase. Ang mga pamamaraang ipinahayag na pribado ay magagamit lamang sa ipinahayag na klase. Ang mga naturang variable ay hindi maaaring gamitin sa ibang mga klase at function. Pinapayagan ng publiko ang access sa anumang klase. Kung kailangan mong kumuha ng Public class mula sa isa pang package, kailangan mo munang i-import ito.

    Ang protektadong modifier ay katulad ng epekto sa publiko - nagbubukas ito ng access sa mga field ng klase. Sa parehong mga kaso, ang mga variable ay maaaring gamitin sa iba pang mga klase. Ngunit ang pampublikong modifier ay magagamit sa ganap na lahat, at ang protektadong modifier ay magagamit lamang sa mga minanang klase.

    Ang modifier na ginagamit kapag gumagawa ng mga pamamaraan ay static. Nangangahulugan ito na ang nilikha na pamamaraan ay umiiral nang hiwalay sa mga pagkakataon ng klase. Hindi kinokontrol ng Final modifier ang pag-access, sa halip ay nagpapahiwatig ng imposibilidad ng karagdagang pagmamanipula ng mga halaga ng bagay. Ipinagbabawal nito ang pagbabago ng elemento kung saan ito tinukoy.

    Ang pangwakas para sa mga patlang ay ginagawang imposibleng baguhin ang unang halaga ng variable:

      pampublikong static void mthod(String args) (

      panghuling int Pangalan = 1;

      int Name = 2;// ay maghahagis ng error

    Ang mga variable na may panghuling modifier ay mga constant. Karaniwang isinusulat lamang ang mga ito sa malalaking titik. Ang CamelStyle at iba pang mga pamamaraan ay hindi gumagana.

    Ang pangwakas para sa mga pamamaraan ay nagpapahiwatig ng pagbabawal sa pagbabago ng isang pamamaraan sa isang minanang klase:

      huling void myMethod() (

      System.out.printIn("Hello world");

    Ang pangwakas para sa mga klase ay nangangahulugan na hindi ka makakagawa ng mga inapo ng klase:

      panghuling klase ng pampublikong klase (

    Abstract - modifier para sa paglikha ng mga abstract na klase. Ang anumang abstract na klase at abstract na mga pamamaraan ay nilayon na palawigin pa sa ibang mga klase at bloke. Modifier Ang lumilipas ay nagsasabi sa virtual machine na huwag iproseso ang ibinigay na variable. Sa kasong ito, hindi ito mai-save. Halimbawa, hindi mase-save ang transient int Name = 100, ngunit mase-save ang int b.

    Mga platform at bersyon

    Mga kasalukuyang pamilya ng Java programming language:

    • Standard Edition.
    • Enterprise Edition.
    • Micro Edition.
    • Card.

    1. SE - ay basic, malawakang ginagamit upang lumikha pasadyang mga application para sa indibidwal na paggamit.
    2. Ang EE ay isang hanay ng mga detalye para sa pagbuo ng software ng enterprise. Naglalaman mas maraming posibilidad kaysa sa SE, at samakatuwid ay ginagamit sa isang komersyal na sukat sa malaki at katamtamang laki ng mga negosyo.
    3. ME - idinisenyo para sa mga device na may limitadong kapangyarihan at memorya, kadalasan ay may maliit na laki ng display ang mga ito. Ang mga naturang device ay mga smartphone at PDA, mga receiver digital na telebisyon.
    4. Card - idinisenyo para sa mga device na may napakalimitadong mapagkukunan ng pag-compute, tulad ng mga smart card, SIM card, ATM. Para sa mga layuning ito, binago ang bytecode, mga kinakailangan sa platform, at mga bahagi ng library.

    Aplikasyon

    Ang mga program na nakasulat sa Java programming language ay may posibilidad na maging mas mabagal at kumukuha ng mas maraming RAM. Paghahambing na pagsusuri Ang mga wika ng Java at C ay nagpakita na ang C ay medyo mas produktibo. Pagkatapos ng maraming pagbabago at pag-optimize virtual machine Napabuti ng Java ang pagganap nito.

    Aktibong ginagamit para sa mga Android application. Ang programa ay pinagsama-sama sa hindi karaniwang bytecode at isinagawa sa ART virtual machine. Para sa compilation ito ay ginagamit Android Studio. Ang IDE na ito mula sa Google ay ang opisyal para sa pagpapaunlad ng Android.

    Binuo ng Microsoft sariling pagpapatupad Java virtual machine MSJVM. Nagkaroon ito ng mga pagkakaiba na sumira sa pangunahing konsepto ng cross-platform - walang suporta para sa ilang mga teknolohiya at pamamaraan, may mga hindi karaniwang extension na gumagana lamang sa Windows platform. Inilabas ng Microsoft ang wikang J#, ang syntax at pangkalahatang operasyon nito ay halos kapareho sa Java. Hindi ito umayon sa opisyal na detalye at kalaunan ay inalis mula sa karaniwang Microsoft Visual Studio Developer Toolkit.

    Java programming language at environment

    Ang pagbuo ng software ay isinasagawa sa mga sumusunod na IDE:

    1. NetBeans IDE.
    2. Eclipse IDE.
    3. IntelliJ IDEA.
    4. JDeveloper.
    5. Java para sa iOS.
    6. Geany.

    Ang JDK ay ipinamahagi ng Oracle bilang isang Java development kit. May kasamang compiler, karaniwang mga aklatan, mga kagamitan, at isang executive system. Ang mga modernong pinagsama-samang kapaligiran sa pag-unlad ay umaasa sa JDK.

    Maginhawang magsulat ng code sa Java programming language sa Netbeans at Eclipse IDE. Ito ay mga libreng integrated development environment, ang mga ito ay angkop para sa lahat ng Java platform. Ginagamit din para sa programming sa Python, PHP, JavaScript, C++.

    Ang IntelliJ IDE mula sa Jetbrains ay ipinamamahagi sa dalawang bersyon: libre at komersyal. Sinusuportahan ang pagsusulat ng code sa maraming mga programming language na may mga third-party na plugin mula sa mga developer na nagpapatupad ng higit pa higit pa YAP.

    JDeveloper - isa pang pag-unlad mula sa Oracle. Ganap na nakasulat sa Java, kaya gumagana ito sa lahat ng mga operating system.