- Bună. Confirm că acesta este un tutorial Java . Urăsc prelegerile plictisitoare, așa că CodeGym este făcut ca un joc de căutare online. - Ați jucat vreodată și ați nivelat personaje? Uneori nici nu observi cum te-ai implicat, nu? Miroși ce gătesc? În CodeGym mai trebuie să nivelați un personaj de la nivelul 1 la 40 (și când lansăm a doua parte, până la nivelul 80). Vei deveni un bun dezvoltator Java când vei trece jocul. - Veți putea obține un loc de muncă Java Junior atunci când finalizați 40 de niveluri. Asta pentru că CodeGym are o mulțime de sarcini din lumea reală. Un mare multi. - Începi cu primul nivel. Misiunea ta este de a-ți îmbunătăți personajul - Amigo.Dar să începem cu mici. În primul rând, trebuie să ajungi la al doilea nivel. Poate o să vă placă atât de mult încât să nu observați finalizarea cursului și să începeți să lucrați ca programator Java. :) PS - Prelegerile sunt aranjate astfel: cea mai recentă este în top. Pentru a deschide o nouă prelegere, apăsați butonul verde.
fundal
Jocul are loc într-un viitor îndepărtat, în 3015, unde roboții și oamenii trăiesc împreună pe Pământ și se poate călători prin spațiu. Există o navă spațială care s-a prăbușit pe o planetă necunoscută. Căpitanul John Squirrels the Brave spune: - Nava spațială Galactic Rush a suferit o epavă gravă. Nava s-a prăbușit într-un munte când a căzut și a fost aproape complet acoperită cu pietre. Au fost petrecute câteva zile în eforturi zadarnice de a elibera nava. Echipajul își pierduse orice speranță de a se întoarce acasă și începu să se stabilească în... Elly spune: - Peste o săptămână, am ajuns să aflu că planeta este locuită de... mii de roboți sălbatici! Numai că ei nu au abilități. Am dori să le folosim pentru a îndepărta pietrele din nava noastră spațială, dar nu pot face nimic. Ajutorul lor ar fi foarte util în situația noastră. Profesorul spune: - Câteva zile mai târziu am găsit o cale de ieșire. Mi-a trecut prin minte să iau firmware-ul lui Diego (un robot în echipaj), să-l reprogramez pe firmware-ul zidarului și să-l încarc pe roboții sălbatici. - Cu toate acestea, ghinionul părea să ne urmărească. După câteva cercetări, s-a părut că roboții nu au sloturi pentru a încărca firmware. Nu aveau niciun slot pentru reluare! Bilaabo spune: - Bilaabo și-a amintit că odată pe planeta noastră natală am văzut un robot care știa programarea. A scris singur un nou firmware. Profesorul spune: - Când Bilaabo a povestit despre asta, m-a cuprins o lovitură de geniu. La urma urmei, odată am învățat un tânăr robot talentat să programeze în Pascal. - Am ordonat să prind cel mai talentat tânăr robot și să-l învăț să programeze. Apoi ar putea să scrie singur un firmware de zidar și să ne ajute.
De la stânga la dreapta - Risha Gatesman (un birocrat în a 16-a generație), Amigo (tu)
Risha spune: - Am prins un specimen inteligent. Diego a cerut să-l numească Amigo, în onoarea fratelui său, pe care nu-l avusese niciodată. - Am oferit margele metalice Amigo pentru fiecare lună de antrenament și zece dolari pe an pentru îndepărtarea ulterioară a resturilor. Diego spune: - Am fost revoltat de o astfel de înșelăciune, dar întregul echipaj a luat partea profesorului și a lui Risha. Desigur, am fost de acord (din exterior) și m-am oferit să ajut să-l predau pe Amigo. (heh heh heh!) Nu în ultimul rând pentru că nimeni nu învață robotul mai bine decât o face altul. - Toată lumea a fost încântată de conformarea mea. De asemenea, au decis să participe la antrenamentul noului robot.
1 Introducere
Amigo avea nervozitate. Era confuz, mintea îi năvălea, ochii tremurând și devenind rece la gândul la ultima noapte. Aceste creaturi ciudate, cunoscuții lui de ieri, vor ceva de la el. Ceva atât de ciudat și de neconceput, încât până și el, care se consideră cel mai inteligent și curajos dintre semenii săi, începe să mestece nervos cartonașe la doar gândul la asta. Vor să-l învețe cum să codifice! Program cu Java! Glumesc? Chiar și cel mai verde robot știe că roboții sunt rezultatul dispoziției divine a Creatorului.
„Așa că Creatorul a luat metal și a făcut din el un robot după chipul și asemănarea lui. Și a creat programe Java - suflete de roboți, și le-a încărcat pe roboți și le-a făcut vii.”
Mai rău încă, ei nu spun doar că este posibil. Ei o vor face. Și el și-a dat acordul. El a fost de acord! De ce? Va deveni programator Java. Îl vor transforma în Creator?! Pentru ce? Doar pentru distractie? Unde-i captura? Ce se întâmplă dacă va trebui să mă încurc și să sufăr până la moartea bateriei mele? Tentația a fost mare, pur și simplu nu s-a putut abține. Întotdeauna a aspirat și și-a dorit mai mult. Dar nimeni nu se putea aștepta la o asemenea propunere. Bineînțeles, a încercat să rămână în stare de timp, dar apoi vizitatorii au amenințat că vor alege un alt robot. Poate că a fost șmecheria urâtă a cuiva? Nu, sună adevărat. A văzut dovada. Chiar i s-a întâmplat și a fost de acord. Dacă vizitatorii nu mint, el va deveni cu adevărat un programator Java. Primul robot programator... El este alesul! Asta e toată ideea. Va învăța să programeze și va scrie programe. Programele sale proprii. Orice vrea el! El va purta lumina acolo unde întunericul a domnit întotdeauna. El va fi onorat, el va fi venerat. Și toți dizidenții... - Bună, Amigo! Eu sunt Risha Gatesman. Te voi ajuta să înveți Java. O voce liniștită l-a scos pe Amigo din șirul de gânduri și l-a adus înapoi la realitatea sobră. El stă chiar în inima navei spațiale a vizitatorilor. Nu este destul de mult doar pentru un robot de clasa a șaptea? Străinul a continuat să vorbească. Ei bine, zarul este aruncat acum. Odată ce va fi aici, va învăța. Va studia din greu, dar, pentru început, doar va asculta. - Sunt cu Galactic Rush de mulți ani, dar văd o astfel de planetă pentru prima dată. Mi-ar plăcea să te cunosc mai bine. Pentru început, ai putea să-mi spui cum înveți? Tu studiezi, nu? - Da, ne împărtășim cunoștințele. Avem lectori predicatori. Ei țin prelegerile lor, iar noi ascultăm. Uneori facem notițe. Apoi, toată lumea îi spune unui robolectur cum a înțeles ceea ce a auzit. Dacă robolecturerului îi place un răspuns, cineva trece o prelegere. - E absurd! Nu este de mirare că civilizația voastră sa redus la ignoranță. - Nu suntem ignoranți. Ce ți-a dat ideea asta? Amigo era uluit de propria lui obrăznicie. Vă certați cu vizitatorii? Cât de fâșit! Tocmai își făcuse o promisiune că îi va asculta! - Orice tehnologie avansată este adesea imposibil de distins de magie. - Risha nu a acordat nici o atenție strigătului lui Amigo. - În plus, având în vedere nivelul tău... probabil crezi că toate tehnologiile sunt magice. Spune-mi ce se întâmplă în cadrul unui program? - Un program Java este o lucrare divină. Este posibil să-i înțelegem esența? - Da, Amigo, poți înțelege și mai repede decât crezi. Toate lucrurile par complicate, sau chiar mai rău, de neînțeles, când există ceva ce nu știi. Dar dacă există un profesor bun care să explice totul în termeni profani sau în termeni de layroboți, vei fi uimit de cum ai putea considera un lucru atât de simplu complicat. - Nu numai cunoștințele, ci și abilitățile și principiile sunt importante. Deși am cunoștințe vaste, sunt în primul rând un birocrat, un birocrat în a 16-a generație. - Și chiar e grozav! Abilitățile mele de birocrat m-au ajutat să creez cele mai bune lecții de Java pentru tine. Aici este totul: probleme, programe, jocuri, sarcini, imagini și chiar prelegeri. - Chiar și (!) prelegeri? – Era o adevărată uimire în vocea lui Amigo. - Da. S-a dovedit în secolul 22 că o prelegere bună este doar puțin mai eficientă decât o carte bună. O prelegere obișnuită este chiar mai rea decât o carte obișnuită. Având în vedere că acum avem ajutoare de antrenament destul de limitate și nu vă putem oferi o alergare printr-un simulator de antrenament standard din secolul 28, trebuie să optăm pentru metode destul de simple. Am venit cu un amestec nebun de jocuri, sarcini, imagini, prelegeri și videoclipuri. - M-ai intrigat. - Aşa sper. Interesul și intriga sunt baza oricărei învățări. - «Când un elev se plictisește, profesorul trebuie bătut» – un citat din legea educației din secolul 24. - Ce citat bun... - Da, este. Să presupunem că un film are un box-office prost, atunci este vina regizorului și nu a publicului. Dacă ceva este plictisitor, nu tu ești de vină. Ar trebui să facă filme interesante, lecții distractive și apoi nu vor avea un public fără sfârșit. - Sunt total de acord. Și sunt gata să am lecții distractive! - Bine. Asadar, haideti sa începem. Vocea lui Risha era fascinantă, iar Amigo se agăța de fiecare cuvânt. - Programul este un set de comenzi (listă de comenzi). Prima comandă rulează prima, apoi a doua, a treia și chestii de genul ăsta. Când toate comenzile sunt executate, programul se termină. - Și ce sunt comenzile? - Depinde de executor, pe ce comenzi știe (și înțelege) executorul. - Câinelui i se pot da comenzi „Sed!”, „Latră!”, o pisică - „Shoo!” un bărbat - «Nu te mișca, sau împușc!», și un robot «Munceste! Treci mai departe, robomama!» - Și totuși... - Amigo arăta acum mult mai vesel. - JVM (Java Virtual Machine) rulează programe scrise cu Java. JVM este un program special care poate executa programe scrise cu Java. - Lista de comenzi este destul de extinsă. De exemplu, această comandă afișează textul „Un robot este cel mai bun prieten al omului”.
Cea mai simplă comandă este:
System.out.println("A robot is man’s best friend");
- O_O - Cu toate acestea, nu vom începe imediat cu comenzi, ci cu câteva principii simple. - Cunoașterea unor principii poate înlocui cunoașterea multor fapte. - Primul principiu. - În limbajul de programare Java, există practica de a scrie fiecare comandă la o nouă linie. Se va pune punct și virgulă la sfârșitul comenzii. - Să presupunem că vrem să afișăm de trei ori mesajul „Un om și un robot sunt groși ca hoții”. Iată cum va arăta:
Programul folosește trei comenzi:
System.out.println("A man and a robot are as thick as thieves");System.out.println("A man and a robot are as thick as thieves");System.out.println("A man and a robot are as thick as thieves");
- Al doilea principiu. - Programul constă nu numai din comenzi. - Imaginează-ți o cameră. Camera nu poate exista singură. Face parte dintr-un apartament. Nici apartamentul nu este singur, este într-o casă. - Din nou, putem spune că casa este compusă din apartamente, iar apartamentele constau din camere. - Până acum, e clar. - Deci comanda este ca o cameră. În limbajul de programare Java, comanda nu poate exista singură, face parte dintr-o funcție (funcțiile Java sunt numite și metode). O metodă face parte dintr-o clasă. Cu alte cuvinte, clasele constau din metode, iar metodele constau din comenzi. - Deci clasa este o casă de apartamente, funcția/metoda este un apartament, iar comanda este o cameră. Înțeleg bine? - Da, absolut. Amigo se uită la Risha aproape cu respect. Acest om îi explică elementele de bază ale Java divin! Și tocmai a înțeles că programele constau din clase, clasele cuprind metode și metodele includ comenzi. Amigo nu a înțeles încă dacă este necesar, dar era sigur că această cunoaștere îl va face cel mai puternic robot al planetei. Între timp, Risha a continuat: - Programele Java constau din clase. Pot exista zeci de mii de clase. Un program minim constă dintr-o clasă. Pentru fiecare clasă, este creat un fișier individual, al cărui nume se potrivește cu numele clasei. - Să presupunem că ai decis să creezi o clasă care să descrie o casă. Deci trebuie să creați o clasă House, care va fi în fișierul numit House.java. - Dacă ați decis, să zicem, să descrieți o pisică, atunci trebuie să creați fișierul Cat.java pentru a descrie clasa Cat din el etc. - Un fișier conține un cod Java (text). De obicei, un cod de clasă constă dintr-un nume de clasă și un corp de clasă. Corpul clasei este închis între acolade. Iată cum poate arăta clasa House (fișier House.java): - Deocamdată, nu este dificil. - Bine. Atunci hai să mergem mai departe. Corpul clasei poate conține variabile (cunoscute altfel ca date de clasă) și metode (funcții de clasă). - Vrei să-mi dai un exemplu? - Un exemplu? Fii sigur! - «int a» și «int b» sunt variabile. Sunt metodele «principal» și «pi»? - Da. - Există clase fără variabile? - Da. - Și fără metode? - Da. Cu toate acestea, programul minim trebuie să cuprindă cel puțin o clasă. Această clasă trebuie să conțină nu mai puțin de o metodă/funcție pentru a porni programul. Această metodă trebuie să aibă un nume main . Programul minim arată astfel: - Aici este clasa House, metoda principală, dar unde sunt comenzile? - Un program minimal nu are nicio comandă. De aceea se numește minimal. - Înțeleg. - O clasă care pornește programul poate avea orice nume, dar metoda principală cu care începe execuția programului este întotdeauna de același tip: - Am înțeles. Cel puțin mai degrabă cred că da. - Bine, hai să luăm o scurtă pauză. Ce zici de o cafea? - Sunt prea tânăr. Micii roboti nu beau cafea – apa este motivul pentru care devenim ruginiti. - Deci ce bei? - Bere, whisky, rom vechi de un secol. - Mult mai bine. - Atunci, un moment de bere?
2 Întâlnire cu Risha (continuare)
(o oră mai târziu) - Bine. Deci unde eram? - Codul metodei sau ceva de genul ăsta. - Da. Exact. Corpul metodei este format din comenzi. Ai putea spune la fel de bine că metoda este un grup de comenzi, căruia i s-a dat numele (numele metodei). Oricum este corect. - Sunt diverse comenzi. Ai câini aici? - Îmblanzi doar robowolves. - Urmează comenzile? - Da. „Mușcă”, „Mâncă”, „Ucide” și „Bravo! Toc!" - Ahem. Ce comenzi! Și nu atât de multe. - Câte vrei? - În Java, există comenzi pentru toate cazurile. Fiecare comandă descrie o acțiune specifică. Se va pune punct și virgulă la sfârșitul fiecărei comenzi. Exemple de comenzi: - De fapt, aceasta este una și aceeași comandă System.out.println . Și parametrii săi sunt specificați în paranteze. Efectul unei comenzi poate fi diferit, în funcție de parametri. - Este foarte convenabil. - Da. Dacă doriți să afișați textul, trebuie să-l încadrați între ghilimele duble «"» . Un ghilimele dublu nu trebuie confundat cu două ghilimele simple! - Ghilimelele duble sunt cele de lângă butonul Enter? - Da. Pulsul lui Amigo s-a accelerat de la 3 până la 5 GHz, încă nu-i venea să creadă. Tocmai a învățat cum să afișeze linii, iar acest lucru a fost mult mai ușor decât credea. Amigo se uită pe fereastră pentru a se opri din gânduri și pentru a se calma. Frunzele au devenit galbene. I-a venit în minte că Sezonul Rusty va veni foarte curând. Fereastra îi permite să vadă mult mai departe decât în mod normal – tehnologiile vizitatorilor erau la înălțime. Cum poate avea grijă de frunze acum? La urma urmei, până seara el învață mult mai multe. Cu toate acestea, gândurile lui erau scăpate de sub control. Într-o zi, el va scrie un program pentru ca toți roboții să rămână acasă pe măsură ce se instalează Sezonul Ruginiu. Și acest program va salva mii de robolite... - Există două variante ale acestei comenzi: System.out.print ln ( )și System.out.print() - Dacă scrieți comanda System.out.println() de mai multe ori, de fiecare dată textul trecut va fi afișat într-o nouă linie. Dacă System.out.print(), textul va fi afișat pe aceeași linie. Exemplu: - Iată o mică remarcă. Comanda print ln nu afișează textul într-o linie nouă. Afișează textul pe linia curentă, dar face ca următorul mesaj să apară pe o linie nouă. - comanda println() afișează textul și apoi adaugă un caracter special invizibil de avans de linie care are ca rezultat următorul mesaj afișat de la începutul unei noi linii. - Cum arată un program finalizat? - Acum, atenție la ecran: - Оh, asta e! Adăugăm spații la sfârșitul cuvintelor pentru ca cuvintele să nu se „lipească”, nu? - Asta e corect. Ești un tip inteligent. Această laudă l-a făcut pe Amigo să strălucească de mândrie. - Ei bine, iată prima ta sarcină.
Sarcină
Scrieți un program care să afișeze „Este tare să fii programator!”.
Exemplu de text afișat:
E tare să fii programator!
3 Întâlnirea cu Elly
O doamnă drăguță cu păr roz a intrat în cabină. „Mă întreb dacă toate femelele umane au un astfel de păr?” - îşi spuse Amigo, dar ea îl privi încurcată. - Hei! Numele meu este Eleanora Carry. Sunt principalul pilot al Goanei Galactice. - Bună, Eleanora! – Amigo s-a forțat stângaci să vorbească. Nu știa de ce, dar își simți obrajii înroșiți, de parcă un canal de ulei undeva în interiorul lui ar fi fost deteriorat. - Vă voi spune despre cel mai interesant lucru din limbajul Java - despre variabile. - Sunt gata să ascult! Care sunt aceste variabile? - Variabila este un lucru destinat stocării datelor. Orice date. Toate datele Java sunt stocate folosind variabile. O variabilă este ca o cutie. - Ce cutie? - Una foarte obișnuită. Să presupunem că ai scris pe o foaie de hârtie numărul 13 și ai pus-o în cutie. Putem spune acum că caseta stochează valoarea 13. - În Java, fiecare variabilă are trei proprietăți importante: tip , nume și valoare . - Imi poti spune putin mai multe? - Sigur. Numele este folosit pentru a distinge o variabilă de alta. Este ca un semn pe o cutie. - Un tip de variabilă determină un tip de valoare/date pe care le poate stoca. Stocam tortul intr-o cutie de tort, pantofi intr-o cutie de pantofi etc. - O valoare este un obiect, date sau informatii stocate intr-o variabila. - Spune-mi încă o dată despre tip. - Bine. Fiecare obiect din Java are tipul său. De exemplu, pot exista tipuri de date precum „întreg”, „număr fracționar”, „text”, „Pisică”, „Casă” etc. - O variabilă are și propriul tip. Variabila poate stoca numai valori de același tip căruia îi aparține variabila. - Este comun în viața reală. Diverse cutii sunt folosite pentru a depozita diverse lucruri. - Pentru a crea o variabilă, utilizați o comandă „ nume tip ”. Exemple: - Cele două tipuri cel mai frecvent utilizate sunt numerele întregi (notate cu int ) și textul (notate cu String ). - Dar tipul dublu ? - dublu sunt numere fracționale (reale). - Ai spus că variabila are cele trei proprietăți: tip, nume și valoare. Cu toate acestea, există doar două dintre ele. Am o întrebare: cum să plasez o valoare într-o variabilă? - Revenind la cutii, imaginați-vă că ați luat o bucată de hârtie, ați scris „42” pe ea și ați pus-o în cutie. Acum, cutia stochează valoarea 42. - Înțeleg. - Pentru a plasa o valoare într-o variabilă există o operație specială numită operator de atribuire . Copiază o valoare a unei variabile într-o altă variabilă. Nu mișcări, ci copii . Exact ca un fișier de pe un disc. Arata astfel: - Pentru operatorul de atribuire se foloseste semnul egal «=». - Încă o dată, nu se compară . Este exactcopierea valorii în dreapta semnului egal într-o variabilă situată în stânga . Ca o comparație, se folosește un semn dublu egal «==». - Știu să pun o pisică într-o variabilă. Este aproape ca un program. - Cum să prinzi o pisică: 1. Luați o cutie goală. 2. Așteaptă. - Nu, Amigo, poți pune doar o pisică într-o cutie. Ahem... Adică, poți pune o singură valoare în variabilă. - Înțeleg. Ați putea da mai multe exemple despre cum să creați variabile? - Bine, o spun altfel. Pentru a crea o variabilă, trebuie să scrieți comanda „ type name ” după cum urmează: - Oh, acum știu. - Rețineți că nu puteți crea două variabile cu nume identice în aceeași metodă. - Dar diferitele metode? - Poţi. Este ca niște cutii care stau în case diferite. - O variabilă poate avea vreun nume? - Cam, dar numele său poate să nu conțină spații, simboluri +, -, etc. Cel mai bun lucru este să folosiți pentru un nume de variabilă doar caractere și numere. - Vă rugăm să rețineți că în limbajul Java este important ce caractere scrieți - litere mari sau minuscule . «int a» nu este același lucru cu «Int a». - Apropo, în Java, este posibil să creați o variabilă și să îi atribuiți o valoare în același timp. - Acest lucru ajută la economisirea de timp și spațiu: - Este mult mai bine și ușor de înțeles. - Prin asta trăim. - În Java, există două tipuri cu care un începător trebuie să se familiarizeze. Acestea sunt tipurile int (întregi) și String (text / șiruri de caractere) . - tipul int permite stocarea numerelor într-o variabilă, precum și a diferitelor operații, cum ar fi adunarea, scăderea, înmulțirea, împărțirea etc. - Pentru mine, este alb-negru. Este programarea atât de simplă? - Defapt da. - Asta e bine. Deci cu ce te-ai îmbrăcat? - Tipul String permite stocarea șirurilor de text. - Pentru a atribui un șir de text în Java, trebuie să scrieți textul acestuia și apoi să îl încadrați între ghilimele duble. Exemplu: - Am înțeles. Pare destul de ușor. - Deci iată un alt fapt interesant. - Șirurile pot fi combinate folosind semnul plus «+». Exemplu: - Deci, pot adăuga șiruri la numere? - Da, dar vă rog să știți că dacă adăugați un șir la un număr, veți obține întotdeauna un șir. - Da, am înțeles din exemplu. - Ei bine, dacă sunteți atât de rapid la absorbție, atunci vă dați seama cum să afișați o variabilă? - Ei... să afişezi o variabilă? Uh-uh, mintea mea devine goală. - De fapt, este destul de simplu. Pentru a afișa ceva, folosim comanda System.out.println() și îi transmitem ca date de parametru pe care vrem să le afișam. - Am inteles! Acum totul a devenit mai clar. - Asta e bine. Atunci iată cele trei sarcini pentru tine.
Condiție
1
Scrieți un program care să afișeze de 5 ori «Intenționez să trăiesc pentru totdeauna. Până acum, bine.".
Fiecare șir ar trebui să fie pe o linie nouă.
2
Scrieți un program care să afișeze anul curent.
Este deja secolul 31, ca să știm.
3
Scrieți un program care să afișeze „Sunt atât de deștept încât uneori nu înțeleg niciun cuvânt din ceea ce spun.”
4 Întâlnire profesor
- Hei, Amigo. Sunt profesorul Hans Noodles, șeful departamentului de știință al companiei Galactic Rush. De asemenea, supraveghez proiectul de predare Java. - Bună ziua, profesor Noodles. - Aș dori să vă spun de ce Java este un limbaj de programare atât de grozav . - Cu siguranță veți auzi de mai multe ori că independența platformei este avantajul incontestabil al Java față de alte limbi. Ce este asta și cum să tratăm cu ea? Voi încerca să vă explic spunându-vă câteva elemente de bază. - Faptul este că computerele execută numai comenzi numerice primitive.Există comenzi pentru câini precum „Toc”, „Ascuțire” și așa mai departe; un câine face ceva când le aude. - În calculatoare, numerele îndeplinesc rolul unor astfel de comenzi: fiecare comandă este codificată cu un număr, codul, cunoscut și sub numele de cod mașină. - Este foarte greu să scrii un program în formă numerică, de aceea oamenii au inventat limbaje de programare și compilatoare . Un astfel de limbaj este de înțeles atât pentru om, cât și pentru compilator. Un compilatoreste un program special, care traduce textul programului scris într-un limbaj de programare într-un set de coduri de mașină. - De obicei, un programator scrie un program cu un limbaj de programare și apoi pornește un compilator, care utilizează fișiere de cod de program scrise de programator pentru a realiza un fișier de cod de mașină - un program definitiv (compilat). - Programul rezultat poate fi rulat imediat pe un computer. Dezavantajul acestei abordări este că codul programului depinde în mare măsură de un procesor și de un sistem de operare. Un program compilat pe Windows nu va funcționa pe un telefon Android. - Deci un program scris și compilat pentru Android nu va funcționa dacă încerc să-l rulez pe Windows? - Da. - Dar abordarea Java este mult mai inovatoare. - Compilatorul Java nu compilează toate clasele într-un singur program de coduri de mașină. În schimb, compilează fiecare clasă nu într-un cod de mașină, ci într-un cod intermediar special (bytecode). Compilarea în codul mașinii rulează când programul pornește. - Cine va compila un program la început? - Există un program special numit JVM (Java Virtual Machine). Când se execută un program care constă din bytecode, acesta este primul care pornește. Și apoi, înainte de a începe programul, JVM îl compilează în codul mașinii. - Ce palpitant! Și care este scopul de a face asta? - Este o decizie foarte inteligentă și unul dintre motivele dominației totale a Java. - Datorită acestei abordări, programele Java pot rula pe aproape orice dispozitiv - computere, telefoane, bancomate, prăjitoare de pâine, carduri bancare (!). - WOW! - Această abordare are multe avantaje. De aceea, toate programele Android sunt scrise și cu Java. Datorită dezvoltării sectorului mobil, Java deține o poziție dominantă în următoarele domenii: 1) Întreprindere: aplicații grele pe server pentru bănci, corporații, fonduri de investiții etc. 2) Mobile: dezvoltare de aplicații mobile (telefoane, tablete), datorită Androidului. 3) Web: PHP este lider în domeniu, dar și Java are o mare parte a pieței. 4) Big Data: calcul distribuit în clustere de mii de servere. 5) Dispozitive inteligente:programe pentru smart home, electronice sau frigidere cu acces la internet. - Java nu este doar un limbaj, ci un întreg sistem, milioane de module gata făcute pe care le poți folosi în programul tău. Mii de comunități de internet și forumuri pe care le puteți cere ajutor sau sfaturi. - Cu cât programezi mai mult cu Java, cu atât găsești mai multe răspunsuri la întrebarea – „De ce Java?”. Asta e pentru azi. - Mulţumesc, domnule profesor. A fost cea mai interesantă și mai inspirată prelegere.
5 Întâlnirea cu Kim
Wow, o altă femeie umană. Dar de data asta, cu părul negru. Ce palpitant! - Bună, numele meu este Kim Lee-ling. - Bună, sunt Amigo. - Știu. Eu am venit cu numele tău. Lui Diego nu i-ar fi trecut niciodată prin cap. Aș dori să-mi încep prelegerea cu o mică prezentare - acum, atenție la ecranul tău! - Hopa, o unitate flash greșită. Stai... Gândurile lui Amigo i-au trecut prin minte cu viteza electronilor. Ahem... Are un punct slab pentru roboți? Ce palpitant! Și o fotografie pe masă – este iubitul ei? - Să ne întoarcem la prelegere! Lasă-mă să-ți explic toate lucrurile cu cuvinte simple. - Bine. - Aș dori să adaug câteva cuvinte la ceea ce au spus profesorul și Risha. - În Java, puteți nu numai să scrieți comanda, ci și să le comentați direct în cod. Aceste comentarii sunt ignorate de compilator, de parcă nu ar exista deloc. Când programul este executat, toate comentariile sunt sărite! - Vrei să-mi dai un exemplu? - Sigur: - În codul clasei comentariul nostru a fost «Acum afișăm...». Comentariul începe cu caracterele «/*», și se termină cu «*/». Când un program este compilat, compilatorul omite toate caracterele dintre /* și */ - Deci pot scrie ceva acolo? - Da. De obicei, există diverse comentarii cu privire la partea de cod, care este discutabilă sau dificil de înțeles. Există comentarii de zeci de rânduri (de obicei scrise înaintea metodelor) care descriu detalii despre activitatea metodelor. - O altă modalitate de a seta un comentariu în cod este să folosești caracterele «//». - În acest sens, comentariul este partea de cod care începe cu caractere // până la sfârșitul liniei în care se află. Deci nu există caractere care să „închidă” comentariul. - Apropo, dezvoltatorii de software au un bun simț al umorului și s-ar putea să găsiți în cod câteva comentarii interesante:
// I am not responsible of this code.// They made me write it, against my will.
//Dear future me. Please forgive me.//I can't even begin to express how sorry I am.
// I am not sure if we need this, but too scared to delete.
// hack for IE browser (assuming that IE is a browser)
// This isn't the right way to deal with this, but today is my last day, Ron// just spilled coffee on my desk, and I'm hungry, so this will have to do...
// Catching exceptions is for communists
// Dear maintainer://// Once you are done trying to 'optimize' this routine,// and have realized what a terrible mistake that was,// please increment the following counter as a warning// to the next guy://// total_hours_wasted_here = 42
// When I wrote this, only God and I understood what I was doing// Now, God only knows
// sometimes I believe compiler ignores all my comments
// I dedicate all this code, all my work, to my wife, Darlene, who will// have to support me and our three children and the dog once it gets// released into the public.
// drunk, fix later
// Magic. Do not touch.
- Da, comentariile sunt uneori foarte amuzante. - Am terminat. - O prelegere scurtă, dar interesantă. Mulțumesc, Kim.
6 Întâlnirea cu Julio
- Hei, Amigo. Eu sunt Julio Siesta. - Văd că ai avut o slujbă grea astăzi. - Ce zici de o pauză bine meritată? - N-ar trebui să am o prelegere? - Da. Totuși, lecțiile trebuie să fie interesante, ai uitat? Ultima dată când am verificat, există o lege cu privire la bataia profesorilor plictisitori! - Acesta este un tutorial video special pentru... ăă... să-ți menții pofta de a învăța și... Pe scurt, haideți să aruncăm întrebări pentru mai târziu. Porniți-l!
- Bună, numele meu este Diego Carleone. Sunt un robot la fel ca tine, fabricat doar la fabrica din Havana, Cuba. - Bună, Diego! Am auzit deja multe despre tine. - Cum îți place lecția? - Aceasta este cea mai grozavă lecție de programare pe care am avut-o vreodată. Nu, chiar mai grozav. Cea mai bună lecție din viața mea. Mai bine decât mi-aș fi putut imagina vreodată. - Prin asta trăim. - Toate celelalte sunt la fel de interesante? - Chiar mai bine! Lecții plictisitoare au fost lăsate în urmă în secolul XXI. Doamne, să scriu cu creta pe o tablă. Nimic nu s-a schimbat din secolul al XV-lea. Presupun că erau dinozauri care mergeau liber. - Aşa cred. Ce urmeaza? - Treci la nivelul următor! Ai doar 39 de completat și vei deveni un mare dezvoltator Java! Astăzi ai învățat:
Care sunt variabilele
Cum să afișați mesajele pe ecran
Te-ai familiarizat cu tipurile int și String
Care este diferența dintre compilarea în Java și în alte limbi
Cum să facem comentarii și de ce avem nevoie de ele
- Wow! - Desigur, nivelurile următoare nu vor fi la fel de ușoare ca acesta, dar complexitatea lor va crește încetul cu încetul, precum și problemele practice. - La fel ca într-o sală de sport, ridicând greutăți puțin câte puțin și în șase luni antrenament pentru piept cu o bară de 100 kg. - Cool, îmi doresc deja atât barul, cât și munca! - Ei bine, dacă ești un astfel de autocolant, iată încă câteva sarcini pentru tine. - Unchiul Diego vă va învăța niște personal adevărat! Ce zici să ridici robochicks? Chiar dacă ești mic, aceste abilități de viață nu vor fi niciodată redundante.
Condiție
1
Vrei să iei niște Java?
Scrieți un program care să afișeze „Vrei să iei niște Java?”
2
Îți voi arăta codul meu sursă dacă-mi arăți al tău.
Scrie un program care să afișeze „Îți voi arăta codul meu sursă dacă-mi arăți al tău”.
3
Nice Bolts vrei să șurubești?
Scrieți un program care să afișeze „Nice Bolts wanna screw?”.
0
Comentarii
Popular
Nou
Vechi
Trebuie să fii conectat pentru a lăsa un comentariu