Računalniki Windows internet

Osnovna sintaksa Java. Glavne operacije jezika. Pogojna izjava if

Namen, značilnosti in prednosti Eclipse

Eclipse je razširljiv IDE (Integrirano razvojno okolje). IDE je priročno organiziran nabor orodij, potrebnih za delo na projektu programske opreme.

Eclipse je univerzalna platforma, ki se lahko uporablja za razvoj aplikacij v katerem koli programskem jeziku (na primer, lahko uporabite Python po namestitvi povezave Pydev (), vendar je Java domača za Eclipse (ki je, mimogrede, napisan v Eclipse) .

Temu služijo pogoji. Da bi to naredili, moramo opredeliti naš primer. Na koncu, torej z zapiranjem oklepaja zanke, nas prevajalnik popelje nazaj na začetek zanke. Če tega ne bi storili, ne bi nikoli vstopili vanj. To je v redu, saj pred vstopom v zanko preverimo pogoj! Zelo preprosto: z zanko!

Pozor, spremenljivko odziva bomo morali ponastaviti na. Tukaj je naš program kot celota. To kodo lahko preverite: videli boste, da če ne vnesete pravilne črke, vam bo program postavil vprašanje, kot je na naslednji sliki! Pazite, da pravilno zapišete svoje pogoje in preverite svoje spremenljivke med in v vseh vaših zankah na splošno. Poskusite zagnati prejšnji program brez ponastavitve odzivne spremenljivke in videli bi rezultat! Temu pravimo "neskončna zanka". Če zaženete ta program, boste videli astronomsko število "kukavic 1-krat!".

Najpomembnejše značilnosti Eclipse so:

  1. Navzkrižno platformo. Eclipse deluje na vseh običajnih platformah: Windows, Linux in MacOS X. Še pomembneje je, da je njegova funkcionalnost enaka na vsaki od teh platform.
  2. Vsestranskost in razširljivost. Eclipse ponuja možnost uporabe različnih orodij tretjih oseb.
  3. Odprtost in zastonj. Eclipse je projekt OpenSource (tj izvorne kode na voljo vsakomur in vsak se lahko pridruži razvoju tega orodja). Eclipse ima aktivno skupnost, ki si nenehno prizadeva za izboljšanje programa in razširitev njegovih zmogljivosti.

Delovni prostor Eclipse

Prva stvar, ki jo vidite, ko zaženete Eclipse, je pogovorno okno, ki vam omogoča, da izberete, kje bo delovni prostor nameščen. Delovni prostor je imenik, kamor bo vaše delo shranjeno.

To nam bo dalo naslednjo številko. Lahko uporabite tudi to sintakso. Treba je opozoriti, da obstaja ena zanka za zanko: no, pri tej sintaksi ima operator prirastka prednost pred operatorjem neenakosti, t.j. zanka poveča vrednost spremenljivke a in šele potem, ko je to storila, preveri pogoj!

Dejansko ti dve zanki nista bratranci, ampak sestri. Njihovo delo je v dveh delih enako. To pomeni, da se testna faza pogoja izvede na koncu, ker se pogoj pojavi po času. Ne pozabite, sicer program ne bo preveden. Razen teh dveh elementov ti tečaji delujejo na popolnoma enak način.

Ko izberete delovni prostor, se na zaslonu prikaže začetna stran s predlogi za ogled vadnic, primerov itd. Izberite Delovna miza in preusmerjeni boste v okno delovno okolje (Workbench), v katerem bo potekalo vaše nadaljnje delo.

Glavne komponente delovnega prostora so pogledi, urejevalniki in perspektive.

Ta cikel je nekoliko nenavaden, saj vzame vse svoje atribute v svojem stanju in deluje v skladu s tem. Z deklaracijo spremenljivke pred zanko, inicializacijo te spremenljivke in povečanjem v zanki. To daje naslednjo številko.

Verjetno ste opazili prisotnost; V stanju ločevanja polj. Ne pozabite jih, sicer program ne bo preveden.

Spremenimo lahko tudi vrednost zanke, se pravi, da bomo namesto od 0 do 10 začeli od 10, dokler ne bomo dosegli 0. Dobimo naslednjo številko.

Imamo začetno številko, pogoj, ki mora biti izpolnjen za ponovno izvedbo zanke, in navodilo.Upoštevajte, da nam nič ne preprečuje kopičenja deklaracij, pogojev in navodil s konca zanke. Zanke vam omogočajo izvajanje ponavljajočih se nalog. ... Podobno kot pri pogojih, če zanka vsebuje več kot eno vrstico kode za izvedbo, jo morate obdati s kodrastimi oklepaji, da jasno določite začetek in konec zanke.

Izvedba Je majhen del v delovnem prostoru, ki se uporablja za krmarjenje po določeni kategoriji predmetov (kot so viri ali paketi), odpiranje urejevalnikov in prikaz lastnosti aktivnih urejevalnikov. Pogled Navigatorja na primer prikazuje projekte in druge vire, medtem ko pogled Zaznamki prikazuje vse zaznamke v Delovni mizi, skupaj z imeni datotek, s katerimi so ti zaznamki povezani. Slika prikazuje zgornji desni kot delovnega prostora z aktivnim pogledom Oris.

Napaka: velikost predmeta lahko izmerite tako, da ga serializirate v bajtni tok in pogledate nastalo dolžino toka. Razlog, da to ne deluje, je, ker je serijska postavitev le oddaljeni odraz prave postavitve v pomnilniku.

Vendar si moramo na začetku vsega zastaviti osnovno vprašanje, kaj je bil cilj? Ta jezik se osredotoča predvsem na. Pod tem geslom je stalna koda minimizirana. To so inherentni člani razreda, ki ne prinašajo preveč kode, vendar so. Konec koncev jih je mogoče uporabiti splošno. Primer takega orodja bi bil Lombok. Preostali del prevajalnika se bo izvajal med fazo generiranja bajtne kode. Ker pa v praksi nič ni popolno, je tudi Lombok. Če se premaknemo dlje v konceptu jezika, pridemo do nočne more programerja, t.i.

Vse spremembe pogledov se takoj shranijo.

Druga vrsta vizualnih komponent Workbench - uredniki, ki se uporabljajo za ogled in urejanje nekaterih virov (na primer programske kode). Ko izberete vir, se prikaže ustrezen urejevalnik. Na primer, odprite kateri koli besedilni dokument (s pripono .txt) z ukazom Datoteka -> Odpri datoteko ... in videli boste vgrajen urejevalnik navadnega besedila. Če nekaj vnesete v ta urejevalnik, se na njegovem zavihku, kjer je zapisano ime datoteke, prikaže zvezdica. To pomeni, da urejevalnik vsebuje neshranjene spremembe. Shranjeni bodo, če pritisnete Ctrl + S ali izberete ukaz Datoteka -> Shrani.

Tukaj bo v resnici Javan rekel: "Imamo neobvezno." Ni nujno, da je prijaznejše od preverjanja ničle vsakič, vendar dolžina vrstice hitro raste, kar na žalost zmanjša berljivost kode. Trajnost in interoperabilnost. ... Toliko s trženjskimi prednostmi, pojdimo na slabosti in kako se to obnese v praksi.

Nova sintaksa vzbuja mešane občutke. Ko sem prvič pogledal kodo v bazenu, sem se počutil nekoliko neprijetno. Sintaksa, ki je bila prva od vsajčuden opomnik na malo vrnitve h koreninam. V primeru deklaracij je mogoče metode prebrati na jasen način. Problem nastane, ko uporabljamo t.i. Ni mogoče skriti, da je tudi možnost obvladovanja preverjenih izjem nenadzorovana, kar močno izboljša berljivost kode.

Obstaja veliko uporabnih pogledov, ki jih lahko dodate v okno delovnega prostora z ukazom Okno -> Prikaži pogled. Vendar je namesto, da bi jih dodajali enega za drugim, bolj priročno preklopiti perspektivo. Projekcija(oz perspektivo) Je zbirka pogledov in urednikov, posebej prilagojenih za izpolnitev naloge. Po zagonu v Eclipse se odpre perspektiva Java, ki je konfigurirana za dejansko pisanje programa. Projekcija za odpravljanje napak se pogosto uporablja za odpravljanje napak v programu. Z ukazom Okno -> Odpri perspektivo lahko preklopite projekcijo. Ime trenutne projekcije je prikazano v zgornjem desnem kotu delovnega okolja (glej sliko).

Deklarirani razredi in privzete spremenljivke so javni in končni. Težavo z vidnostjo lahko preglasi ustrezen modifikator, medtem ko je zadnji modifikator odprt z modifikatorjem. Pogojni stavek je projekt, ki vam omogoča, da določite pogoj za izvedbo določenega dela kode – kode, ki jo želite zagnati le, če so izpolnjeni določeni pogoji. Splošna oblika pogojni operater kot sledi.

Pogojni izraz vam omogoča tudi, da podate nadomestno kodo, to je kodo, ki se izvaja, ko pogoj ni resničen. Na primer, za tega vprašanja prikazana je naslednja metoda, ne glede na to, ali je pozitivno število. Upoštevajte, da je enak učinek mogoče doseči z izvajanjem zgornje metode na popolnoma drugačen način, npr.

Prvi program Java

Preden začnete s programiranjem, morate ustvariti projekt, v katerem bo Eclipse shranil vse vire, povezane z vašim programom.

Če želite ustvariti projekt, zaženite ukaz Datoteka -> Novo -> Projekt. V oknu, ki se prikaže, izberite projekt Java in kliknite Naprej. Navedite ime za svoj projekt. Upoštevajte, da bo mapa z imenom vašega projekta ustvarjena v imeniku, ki ste ga določili kot delovni prostor (če seveda ne spremenite nastavitev v tem oknu, česar ne bomo storili prvič). Kliknite gumb Dokončaj.

Seveda prva oblika. Ne samo, da je pisno jedrnat, je tudi potencialno hitrejši, saj je primerjav v povprečju manj. V tem primeru lahko izpustimo kodraste oklepaje, ki vključujejo pogojno kodo. Od tega predavanja začnemo preučevati objektno programiranje na primeru določenega programskega jezika. Vse te lastnosti upravičujejo izbiro jezika kot orodja za prikaz objektno usmerjenih mehanizmov. Vendar je treba poudariti, da to ni edina možnost.

Možnosti je veliko, ustvarjalci vsakega predavanja se morajo odločiti. Za predavatelje je pomembno, da ne spregledajo osnovnega dejstva: izbrani programski jezik je preprosto orodje za prikaz primerov objektno usmerjenega programiranja. Izbira jezika je, čeprav je potrebna, drugotnega pomena. To zadeva definicijo jezika in tudi opis standardnih knjižnic. Seveda v okviru našega predavanja ne bomo obravnavali vseh, ampak bomo preučili primere kompleksne in kompleksne razredne hierarhije.

Vaš projekt je zdaj prisoten v pogledu PackageExplorer na levi strani delovnega prostora. Kadarkoli ga lahko izbrišete s klikom na njegovo ime desni klik miško in izberite Izbriši. Po tem bo Eclipse vprašal, ali naj hkrati uniči mapo s projektnimi datotekami (če je potrebno, jo lahko tudi uničite).

Če projekta niste izbrisali, mu lahko dodate datoteke in mape z ukazi kontekstnega menija Novo -> Datoteka in Novo -> Mapa oz. Če je projekt velik, potrebuje ugnezdeno strukturo map. Toda v primeru projekta Java so stvari nekoliko drugačne. Bistvo je v tem, da so fragmenti javanskega programa združeni v skupine paketov in za vsak paket je ustvarjena ločena mapa. Paket se ustvari z ukazom Novo -> Paket. Za paket si morate izmisliti tudi ime. Posledično bo v mapi projekta ustvarjena nova mapa s tem imenom. Lahko preverite.

Za ustvarjanje grafike uporabniški vmesniki vzeli bomo na primer zbirke in tokove ter razrede. Po teh razlagah je čas za začetek! Druge oblikovalske predpostavke so bile o prenosljivosti programov. Učinek bo enak. V objektno usmerjenih jezikih se funkcije, definirane v razredih, imenujejo metode. Definicija razreda se začne z besedo razreda, pred katero so dodatni modifikatorji dostopa. Posvetili se bomo paketom. Ime te metode ni naključno. Parametri metode so v večini programskih jezikov zelo močni.

Morda boste lažje brskali po virih projekta s pogledom Navigator. Odprite ga z ukazom Okno -> Prikaži pogled. Videli boste, da je Eclipse poleg imenikov projektov in paketov ustvaril še dve pomožni datoteki, .classpath in .project. V urejevalniku jih je mogoče enostavno odpreti, vendar nas zdaj ne zanimajo posebej.

Program Java je vedno sestavljen iz enega ali več razredov... Razred lahko ustvarite z ukazom Novo -> Razred v kontekstni meni Pogledi navigatorja (ali Raziskovalec paketov, ni pomembno). Ko ustvarjate razred, morate izbrati paket, ki mu bo pripadal (izberite paket, ki ste ga pravkar ustvarili) in si omisliti ime zanj. Običajna praksa je, da se imena razredov začnejo z veliko črko. Če tega pravila dobre forme ne upoštevate, bo Eclipse izdal opozorilo, vendar se ne bo zgodilo nič slabega.

Podano je zaporedje deklaracij posameznih parametrov, posamezne deklaracije pa so ločene z ločilom. Vsaka deklaracija določa ime in vrsto parametra. Pred tipom metode so na voljo dodatni specifikaciji. Statična ključna beseda pomeni, da gre za metodo razreda, t.j. klic, ki ne potrebuje kopije predmeta tega razreda. Kot smo že omenili, razred ustreza tipu, vrednosti razreda - primerki tega tipa pa so objekti. Običajno kličemo metode za objekte, lahko pa tudi metode za razred.

To je še posebej pomembno v našem programu, kjer nismo ustvarili nobenega predmeta. Ta razred je zbral osnovne operacije in objekte, povezane s standardnim vhodom in izhodom, ter operacijski sistem, v katerem se program izvaja. Kjer je komponenta lahko atribut ali metoda. V slednjem primeru podamo seznam njegovih parametrov, ki so v oklepaju. Seveda se lahko dodatno sklicujemo na atribute atributa ali rezultat metode npr. s pisanjem.

Za naše namene je koristno potrditi polje pod "Katere metode želite ustvariti v svojem razredu?" nasprotna možnost public static void main (args niza)... Kot rezultat, bo glavna () metoda (funkcija) ustvarjena v telesu razreda. Java zahteva, da ima vsaj eden od programskih razredov metodo s takšno glavo. On je tisti, ki bo izveden na začetku programa.

Ista sintaksa se uporablja pri opisovanju atributov in metod razreda. Komentarji v eni vrstici se začnejo z dvema poševnicama naprej in končajo do konca vrstice. Seveda se lahko večvrstični komentar v celoti prilega eni vrstici, v eni vrstici pa je lahko celo več takih komentarjev.

Večvrstičnih komentarjev ni mogoče ugnezditi. Tukaj se ne bomo spuščali v podrobnosti, saj bomo več zainteresiranih bralcev poslali na jezikovno poročilo. Naj le povzamemo najpomembnejše leksikalne elemente. Vprašanje legitimnosti uporabe identifikatorjev, napisanih s nacionalni simboli, tj. ne v angleščini, povzroča veliko polemik. Avtor tega besedila ob ocenjevanju drugih argumentov, ki se nanašajo na denimo delo v mednarodnih ekipah, izraža veselje nad dejstvom, da lahko pri reševanju v Javi problem volka, koze in zelja imenujemo spremenljivi čoln namesto čoln ali čoln.

Kot rezultat naših dejanj bo v mapi paketa ustvarjena datoteka z imenom našega razreda in pripono .java. Eclipse bo odprl urejevalnik kode, ki prikaže vsebino te datoteke. To bo nekako takole (imena paketov in razredov se seveda lahko razlikujejo):

paket mainPack; javni razred MyClass (/ ** * @param args * / public static void main (String args) ())

Ukaze, ki sestavljajo telo funkcije, je mogoče zapisati namesto samodejno ustvarjenega komentarja // TODO Samodejno generirana škrbina metode... Napisali bomo samo en ukaz, ki bo na zaslon natisnil klasično vrstico "Hello, world!":

To pomeni, da ima vsaka spremenljivka, atribut ali parameter deklariran tip. Prevajalnik našteje vrste vseh izrazov v programu in preveri, ali so vsi operatorji in metode uporabljeni v skladu z njihovimi deklaracijami, torej argumenti ustreznih tipov. Primarni tipi, referenčni tipi. ... Primarni tipi so skupina osmih tipov, ki vsebujejo preproste vrednosti.

Vrste povezav spadajo v naslednje kategorije. Vrste razredov, vrste vmesnikov, vrste nizov. ... Referenčni tipi so sklici na objekt ali nič. Ker nima imena, ne morete niti deklarirati spremenljivke te vrste. To vrednost je mogoče dodeliti kateri koli referenčni vrsti, tako da si lahko predstavljate ničelne vrednosti kot vrednosti za vsak referenčni tip in ne skrbite za obstoj vrste. Spremenljivke se imenujejo vsebniki za posamezne vrednosti vrste, s katero so bile deklarirane.

System.out.println ("Pozdravljeni, svet!");

Ostaja še zagon programa. Če želite to narediti, izvedite ukaz Zaženi -> Zaženi in odprite pogovorno okno z netrivialnimi nastavitvami zagona. Na levi strani tega okna izberite Aplikacija Java ( aplikacija Java). Po kratkem premisleku bo Eclipse našel naš razred, ki vsebuje metodo main () in ponudil, da začnete izvajati program iz nje (na desni strani okna, na zavihku Main, naj se prikažejo imena našega projekta in našega razreda) . Poleg tega je programerju na voljo še nekaj zavihkov. Na primer, pri drugem od njih - Argumenti - se predlaga vnos parametrov ukazna vrstica(če je program zasnovan za klicanje iz ukazne vrstice s parametri). Za naš preprost program vam ni treba navesti ničesar drugega. Samo kliknite gumb Zaženi.

Obstaja sedem vrst spremenljivk. Spremenljivke razreda, spremenljivke kopiranja, lokalne spremenljivke, elementi matrike, parametri metode, parametri konstruktorja, parametri za obdelavo izjem. Vsaka spremenljivka mora biti deklarirana. Vsaka spremenljivka je povezana s svojim tipom, deklariranim v deklaraciji spremenljivke. To vrsto uporablja prevajalnik za preverjanje operacij na spremenljivkah. Če prevajalnik zazna, da program uporablja spremenljivko, ki se ne ujema z njegovim tipom, bo program zavrnjen kot neveljaven.

Posledično so bile številne od številnih napak v programih odkrite že v fazi prevajanja. Seveda prevajalnik ne more zaznati logičnih napak. Za parametre je ohranitev te zahteve očitna. Za ostale štiri vrste spremenljivk je to težje.

Kot rezultat dela programa se podatki izpišejo v tako imenovano konzolo. V operacijski sistem Konzola MS DOS je bila celoten zaslon monitorja. Eclipse nam odpre pogled konzole, v katerem je (če je vse narejeno pravilno) vrstica "Hello, world!" je rezultat našega programa.

Zdaj, če želite program znova zagnati (če smo se na primer odločili, da ga spremenimo ali ga moramo pokazati učitelju), lahko greste na lažjo pot - izvedete ukaz Run -> Run Last Launched (zaženite prejšnjo aplikacijo) ali preprosto pritisnite Ctrl + F11.

Osnove sintakse Java

Definicije

Operand je vrednost, vključena v operacijo.

Metoda (funkcija) je del programa, ki ima svoje ime. To ime lahko uporabite kot ukaz v programu (takšen ukaz se imenuje klic metode). Ko se metoda pokliče, se izvedejo ukazi, iz katerih je sestavljena. Metoda, podobna operaciji, lahko vrne rezultatsko vrednost.

Izraz je zaporedje operacij in klicev metod, ki se izvajajo v določenem vrstnem redu (po prioriteti operacij, ob upoštevanju oklepajev), ki med izračunom daje določeno vrednost.

Spremenljivka je poimenovano območje računalniškega pomnilnika, v katerem lahko program shranjuje podatke določene vrste (t vrednost spremenljivke) in dostopajte do teh podatkov z imenom spremenljivke.

Koncepti programa in algoritma (ponavljanje)

Imenovanje poljubno računalniški program- pretvorba vhodnih podatkov v izhodne podatke. Algoritem programa določa, kako se vhodni podatki pretvorijo v izhodne podatke.


Vhodni podatki lahko prihajajo iz različnih virov. Pri izobraževalnih projektih se ti podatki najpogosteje vnašajo med delovanjem programa s tipkovnico in miško. V pravih programih jih je mogoče pridobiti tudi iz datotek, baz podatkov, omrežij, neposredno iz različnih senzorjev itd.

Izhodni podatki (rezultat dela programa) se najpogosteje prikažejo na zaslonu, lahko pa jih tudi shranimo v datoteko ali bazo podatkov, pošljemo v omrežje. Vdelani programi generirajo posebna ubežna zaporedja kot izhod, ki povzročijo, da naprava, s katero je program povezan, izvede neko dejanje.

Začetek pisanja programa MORA TAKOJ RAZUMETI:

  1. Čemu je ta program sploh namenjen (kaj na splošno počne)?
  2. Katere vhodne podatke ima ta program (in od kod prihaja)?
  3. Kakšen je rezultat tega programa (in kam ga poslati)?
  4. Kako naj se vhod pretvori v izhod (algoritem)? To je najtežji del programerjevega razmišljanja, a čeprav ni odgovora na tri prejšnja vprašanja, ga nima smisla začeti.

Ko pišete preprost program, morate:

  1. Pridobite vnos.
  2. Izvedite algoritem za pretvorbo vhodnih podatkov v izhodne.
  3. Iznesite rezultat dela programa (izhodne podatke): prikažite ga, pošljite po omrežju itd.

Pri delu s kompleksnimi projekti programske opreme je potrebno izvesti podrobno analizo zahtev za program (za katerega boste morda morali veliko komunicirati s stranko), izvesti zasnovo (določiti, iz katerih delov bo program sestavljen, kako ti deli bodo medsebojno delovali, prikazovali različne vidike strukture in obnašanja programa v obliki diagramov itd.). Toda v vsakem primeru začnite programirati, ne da bi razumeli vhodne in izhodne podatke in ne da bi na splošno razumeli bistvo algoritma nesmiselno... In pomislite vsaj na splošno o bistvu algoritma, ne da bi poznali vhodne in izhodne podatke nemogoče.

Zato vedno začnite svoje vaje z definiranjem vhodov in izhodov. Če imate pri tej zadevi kakršne koli težave, se obrnite na svojega učitelja.

Literatura na to temo:

Osnovne konstrukcije algoritma (ponavljanje)

Pozor! Na tej stopnji usposabljanja bi morali že imeti znanje o tej temi.Če jih ni in so materiali za ponavljanje nerazumljivi ali nezadostni, ne boste kos nalogam! Nujno si je treba ogledati literaturo na to temo.

Torej, algoritem je zaporedje dejanj za pretvorbo vhodnih podatkov v izhodne podatke.

Algoritem lahko zapišemo na tri glavne načine:

Posamezni koraki algoritma (ne glede na to, kako je napisan) so med seboj povezani s tremi standardnimi konstrukcijami, ki se izvajajo v absolutno vseh programskih jezikih:

    Zaporedna izvedba. Koraki se izvajajo drug za drugim.

    Razvejanje. Glede na izpolnjevanje določenega pogoja (v obravnavanem primeru je x> y?) se izvede ena ali druga veja programa.

    cikli. Zaporedje korakov programa se izvede večkrat. Pravzaprav zanka temelji na razvejanju (pogoj za izstop iz zanke je preverjen), če pa ta pogoj ni izpolnjen, se upravljanje prenese na začetek zanke (nazaj na korak, ki je že opravljen).

Razmislite o težavi: prikažite vsa soda števila, manjša od 10. Za to težavo lahko uporabite algoritem, ki temelji na zaporednih korakih, in algoritem, ki uporablja zanko. Diagrami za obe možnosti so prikazani na sliki:

Prvi diagram je videti bolj jasen, vendar v primeru, ko je treba prikazati ne 5 številk, ampak 100, se bo diagram (in program, ki ustreza temu algoritmu) povečal 20-krat, v programu, ki ustreza drugemu algoritmu, pa le eno mesto se bo spremenilo: 10 se bo spremenilo v 100. Zato so ponavljajoča se dejanja zasnovana v obliki ciklov, čeprav jih je v mnogih primerih mogoče opustiti.

Ne pozabite: algoritem naj bo zgrajen samo iz treh poimenovanih konstrukcij!

Literatura na to temo:

1. Šolski učbenik računalništva.

Osnove Osnove sintakse Java

  1. Jezik Java razlikuje med velikimi in malimi črkami. To pomeni, da morajo biti imena vseh funkcij in ključnih besed zapisana točno tako, kot so prikazana v primerih in referenčnih knjigah.
  2. Vsak ukaz (operator) v jeziku Java se mora končati s podpičjem.
  3. Program Java je sestavljen iz enega ali več razredov... Vanj je treba postaviti absolutno celoten funkcionalni del programa (tj. kaj počne). metode določene razrede. (Razred in metoda, kot koncept objektno usmerjenega programiranja, bosta obravnavana v lekciji 3. Zajeta bo tudi sintaksa razreda. V prvih vajah uporabite razrede, ki jih Eclipse privzeto generira.)
  4. Razredi so združeni v pakete.
  5. Vsaj eden od razredov mora imeti metodo main (), popolnoma enako kot v primeru, ki smo ga obravnavali. (Sprva ni treba razumeti ali si poskušati zapomniti pravilnega črkovanja te metode - Eclipse bo vse ustvaril sam, če potrdite potrebno polje.) Ta metoda se bo najprej izvršila.

V najpreprostejšem primeru je program lahko sestavljen iz enega (ali celo nobenega) paketa, enega razreda v paketu in ene metode main () znotraj razreda. Programski ukazi bodo zapisani med vrsticami

public static void main (String args) (

in zapiralni oklepaj), ki označuje konec telesa metode. Ta pristop je treba upoštevati pri izvajanju najpreprostejših vaj.

Komentarji (1)

Komentarji so pojasnjevalne oznake, ki jih programerji uporabljajo za izboljšanje razumljivosti kode. Pri prevajanju programa so komentarji prezrti, zato je vanje mogoče napisati karkoli. Glavna stvar je pokazati, da je ta napis komentar in ga ne smemo razlagati kot ukaze programa. V Javi se to naredi na enega od naslednjih načinov:

  1. Vstavljeni sta dve poševnici //. Od zdaj naprej do konca vrstice lahko pišete, kar želite - Java bo to obravnavala kot komentar.
  2. Na začetku komentarja so postavljeni znaki / *, na koncu pa - * /. V tem primeru lahko komentar obsega poljubno število vrstic.
  3. Poudarite pripombe za dokumentacijo ki so postavljeni med markerji / ** in * /. O njihovi uporabi bomo razpravljali kasneje.

Pravila dobesednega pisanja

o različnih oblikah pisanja literal

Cela števila (celoštevilska literala) v Javi lahko zapišemo na običajen način v decimalni obliki: 12345, +4, -11.

Poleg tega lahko pišete cela števila v osmiški obliki, začenši od nič (0777, -056) in v šestnajstiški obliki, začenši z nič in latinsko črko x (0xFFFF, 0x14, 0xA1BC).

Veljavni literali so zapisani v decimalni obliki, celo število je ločeno od decimalne vejice.

Lahko se zapiše pravo število plavajočo vejico, na primer: 5.4e19, 17E-11, -123e + 4. Del števila, ki je pred črko e, se imenuje mantisa, del, ki pride za črko e, pa se imenuje red. Oznaka pomeni naslednje: morate dvigniti 10 na potenco reda in pomnožiti z mantiso. Včasih je dejansko bolj priročno napisati 1e-9 kot 0,000000001.

Posamezni znaki so zapisani z apostrofi, na primer "a", "D", "@".

Obstaja nekaj posebnih in kontrolnih znakov, ki so napisani s posebnim ubežnim zaporedjem. Najpogostejši so navedeni v tabeli:

Ubežno zaporedje je tudi obdano z apostrofi.

Prva vrstica tabele pravi, da je mogoče kateri koli znak določiti z njegovo kodo (z decimalnim kodiranjem od 0 do 255) tako, da to kodo zapišemo v osmiškem številskem sistemu. Na primer, črka "g" v kodiranju CP1251 bo zapisana z ubežnim zaporedjem "\ 346"

Po potrebi lahko določite kodo katerega koli znaka v Kodiranje Unicode- za povratno poševnico in latinsko črko u - v štirih šestnajstiških znakih. Na primer, "\ u0055" je črka U.

Znakovni nizi so zaprti v narekovajih. Začetni in končni narekovaji morata biti v isti vrstici kode.

Za nize je definirana operacija povezovanja +, ki vam omogoča, da zberete več nizov v enega ("pripišete" jih drug drugemu).

Če je nizna konstanta predolga in slabo berljiva v programsko kodo ko ga pišete v eno vrstico, ga lahko zapišete v več vrsticah in jih povežete z operacijo povezovanja nizov. Na primer:

"To je zapisana konstanta zelo dolgega niza" + "na dveh izvornih vrsticah"

Kontrolni znaki in kode so zapisani znotraj niza na popolnoma enak način kot poševnica nazaj(vendar brez apostrofov).

Logični literali so resnični in napačni.

Identifikatorji

o pravilih dobrega sloga

Pri programiranju je nenehno treba pripraviti identifikatorje za poimenovanje objektov.

Identifikator je lahko sestavljen iz črk, številk, podčrtaja _ in znaka za dolar $ (slednji ni priporočljiv, Java ga uporablja za svoje potrebe). Identifikator se ne more začeti s številko. Ključne besede Java (niti literali pravilno napačno in nič).

Kot je navedeno zgoraj, jezik Java razlikuje med preprostimi in malimi črkami... To pomeni, da so myAge, myage in MyAge imena popolnoma različnih predmetov. Bodite previdni: napaka v registru je zelo pogost primer!

Imena razredov se začnejo z veliko črko; če je ime sestavljeno iz več besed, se vsaka beseda začne z veliko črko. Na primer: MyClass, Book.

Imena metod in spremenljivk se začnejo z malimi črkami (male črke); če ime vsebuje več besed, se vsaka naslednja beseda začne z veliko začetnico. Na primer, myVar, x, y, newBigCounter.

Konstantna imena so zapisana v celoti Velike črke; če ime vsebuje več besed, je med njimi podčrtaj. Na primer PI, COUNT_OF_MONTHS.

Uporaba teh smernic ima številne prednosti. Eden od njih je, da boste pri uporabi standarda natančno vedeli, kako postaviti velike in male črke knjižnice Java, katerega razvijalci so se držali priporočil.

Vrste podatkov

o vrstah podatkov Java

Tip int se najpogosteje uporablja za shranjevanje celih števil v Javi.

Na splošno obstajajo štiri vrste celih števil v jeziku Java: byte, short, int, long. Razlikujejo se po količini pomnilnika, ki bo dodeljen spremenljivki, in v skladu s tem v obsegu vrednosti, ki jih je mogoče shraniti v to spremenljivko. Najpogosteje uporabljen tip int zaseda 4 bajte v pomnilniku in je primeren za shranjevanje številk od -2147483648 do 2147483647. Tip bajta porabi najmanj pomnilnika in je primeren za delo z majhnimi številkami (od -128 do 127). Kratka in dolga tipa sta 2 oziroma 8 bajtov.

Dvojni tip je primeren za realna števila.

Realna (realna) števila (ali števila s plavajočo vejico) so predstavljena z dvema vrstama: s plavajočo in dvojno. Tip float zavzame 4 bajte pomnilnika in ne zagotavlja visoke stopnje natančnosti pri obravnavanju zelo velikih ali zelo majhnih številk. Priporočljivo je, da ga uporabite, ko je potreben delni del, vendar visoka natančnost ni potrebna (na primer za merjenje razdalj v metrih, vendar ob upoštevanju centimetrov in milimetrov ali merjenje cen v rubljih ob upoštevanju kopejk). Če so potrebni natančnejši izračuni, je priporočljivo delovati z vrednostmi dvojnega tipa (na primer, taka spremenljivka lahko shrani vrednost sinusa kota).

Java meni, da so veljavni literali, kot so 5.3, 8.0, 2e-3, dvojni. Če jih želite uporabiti kot plavajoče v programu, se morajo končati s črko f: 5.3f, 8.0f, 2e-3f.

Vrsta char se uporablja za shranjevanje posameznih znakov. Java meni, da je nekakšen celoštevilski tip (ker je vsak znak določen z lastno kodo Unicode), zato se vse operacije s celimi števili uporabljajo za char.

Logične vrednosti (bodisi resnične ali napačne) so predstavljene z logičnim tipom.

Tako Java definira osem preprostih tipov, katerih značilnosti so predstavljene v tabela:

Deklariranje spremenljivk

V Javi (kot v mnogih drugih jezikih) jo morate pred uporabo opisati. Opisati spremenljivko pomeni, da ji damo ime in definiramo njen tip.

Pri deklariranju spremenljivke se najprej navede tip (ki je lahko eden od enostavnih tipov, ime razreda ali vmesnika), nato pa ime spremenljivke. Če je potrebna spremenljivka inicializirati(dodeli začetno vrednost), je začetna vrednost določena za imenom z znakom enakosti. Več jih je mogoče razglasiti, ločenih z vejicami spremenljivke od iste vrste.

Primeri deklaracij spremenljivk:

int x; // Razglasimo celoštevilsko spremenljivko x dvojno a, b; // Deklaracija dveh realnih spremenljivk a in bčrka char = "Z"; // Razglasite črko spremenljivke znakov, inicializirano z začetno vrednostjo "Z" logično b1 = res, b2, b3 = napačno; // Razglasite tri logične spremenljivke, prva bo resnična, zadnja pa napačna

Osnovne jezikovne operacije

Spremenljivke in lahko sodelujejo (iz katerih je mogoče zgraditi kompleksne). Razmislimo o najpreprostejših operacijah jezik Java.

Matematične operacije

Pri primerjalnih operacijah je rezultat logična vrednost: true ali false

Logične operacije

o operacijah Java

&& in || razlikujejo po tem, da vrednost drugega ni nujno izračunana. Na primer, && oceni vrednost prvega operanda in, če je napačna, takoj vrne false, medtem ko || takoj vrne true, če vidi, da je prvi operand resničen. Java ima podobne operacije & in | , ocenijo vrednosti obeh operandov, preden izvedejo operacijo na njih.

Prestavne operacije

(delo z bitno predstavitvijo prvega operanda)

Bitne operacije

(delo z bitno predstavitvijo operandov)

Operacija?:

Operacija ?: ternarna, torej ima tri operande. Prvi operand je pogoj, logični izraz. Drugi in tretji operand sta izraza katere koli druge vrste. Operacija deluje na naslednji način: če je pogoj resničen, kot rezultat vrne svoj drugi operand, in če je napačen, potem tretji.

Na primer, izraz (5> 3)? 7 + 1: 2 * 2 bo imelo vrednost 8, toda izraz (5 == 3)? 7 + 1: 2 * 2 - vrednost 4. Ta zapis ni videti zelo opisen, vendar ga programerji pogosto uporabljajo za skrajšanje svoje kode. Torej, namesto zaporedja ukazov:

če je (x> 0) y = 45 + a * 2; // if stavek je obravnavan spodaj drugače y = 45 - b * 3;

lahko napišeš:

Y = 45 + ((x> 0)? A * 2: -b * 3);

Operater dodelitve

Ko je spremenljivka opisana, lahko z njo delate v programu. Zlasti se mu lahko dodeli vrednost ustrezne vrste. Potem bo v prihodnosti pri uporabi te spremenljivke v katerem koli izrazu ta trenutna vrednost samodejno nadomeščena.

Vrednost je povezana s spremenljivko z uporabo dodelitve. V jeziku Java je zapisano s preprostim znakom enakosti:

Spremenljivka = izraz;

Levo od operatorja dodelitve je vedno spremenljivka. na desni se mora ujemati s spremenljivko po vrsti. Lahko je preprosto (na primer številka ali simbol):

X = 7; // spremenljivki x je dodeljena vrednost 7črka = "Q"; // črka je nastavljena na "Q"

Na splošno je izraz nekaj, kar je mogoče izračunati (na primer rezultat matematične operacije ali rezultat, ki ga vrne neka metoda):

A = 7,5 + 2,4; // spremenljivka a je kot rezultat izračunov dodeljena 9.9

Poleg literalov lahko v izrazu sodelujejo tudi druge spremenljivke. Njihova trenutna vrednost se nadomesti z njimi. Kot rezultat ukaza:

B = a + 1;

spremenljivka b bo nastavljena na 10.9.

Torej, operater dodelitve deluje na naslednji način. Najprej se izračuna vrednost izraza na desni strani, nato pa se rezultat dodeli spremenljivki, določeni na levi strani. Možna je celo naslednja situacija:

X = x + 4;

Ta ukaz poveča trenutno vrednost cele spremenljivke x za 4.

In naslednji ukazi so napačno zapisani in ne bodo delovali:

5 = x + 7; // na levi mora biti spremenljivka x + 3 = 14; // na levi mora biti samo ena spremenljivka x = 4,5; // spremenljivka x lahko sprejme samo cele vrednosti

Eclipse bo poskušal nakazati napako v teh vrsticah pred izvedbo programa tako, da postavi opozorilne znake na rob urejevalnika kode. Lahko vidite, kako mu to uspe.

o vlivanju tipov

Ko je spremenljivki ene vrste dodeljena vrednost drugega tipa, se uporabi litje (pretvorba) vrst... Za številske tipe (byte, short, int, long, float, double, char) se to zgodi samodejno, če lahko tip spremenljivke, ki se spreminja, "pristane" na vrednost drugega tipa.

Na primer, če je spremenljivki tipa int dodeljena vrednost tipa byte, bo samodejno prišlo do pretvorbe iz tipa byte v tip int. Podobno se lahko float tip odda v dvojni tip itd.

Če poskusite dodeliti spremenljivko manj natančnega tipa (na primer bajt) vrednosti natančnejšega tipa (na primer int), bo prevajalnik ustvaril sporočilo o napaki.

Za tipsko litje lahko uporabite cast operater- pred izrazom, za katerega želimo izvesti pretvorbo tipa, se znotraj oklepajev postavijo oklepaji z vrsto, v katero se pretvorba izvaja. Pri prilivanju celega tipa z višjo natančnostjo v celoštevilski tip z nižjo natančnostjo se lahko deljenje po modulu izvede z dovoljenim obsegom tipa, na katerega se izvede prilivanje, in pri vlivanju dvojnega izraza v float izraz, bo natančnost izraza zmanjšati.

dolg j = (dolg) 1,0; // uporabimo operator kastinga za dolgo, j = 1 char ch = (char) 1001; // uporabimo operator kastinga za char, ch = "d" bajt b2 = (bajt) (100); // uporabimo operator pretvorbe tipa iz int v bajt, b2 = 100 bajt b3 = (bajt) (100 * 2); //Pozor! pride do delitve po modulu, b3 = -56

Napaka neusklajenosti tipa se pogosto pojavi pri veljavnih literalih. Na primer, ne morete izvesti naloge a = 7,5 + 2,4; če je spremenljivka a tipa float, saj se literala 7.5 in 2.4 štejeta za tipa double. Da bi se izognili napaki, je potrebno uporabiti pretvorbo tipov:

A = (plavajoči) (7,5 + 2,4);

ali označiti, da so literali tudi float:

A = 7,5f + 2,4f; // to je tudi veljaven ukaz

Skoraj vsaka binarna operacija ima svojo vrsto operatorja dodelitve. Na primer, za operacijo seštevanja + obstaja unarni operator dodelitve + =, ki poveča vrednost operanda za dano količino:

X + = 8; // enako kot x = x + 8 (x se poveča za 8)

Podobno za druge operacije: operatorji * =, - =, / =,% =, & = ^ = itd.

X * = 3; // enako kot x = x * 3 (x se poveča za 3-krat) b1 ^ = b2; // enako kot b1 = b1 ^ b2

vaja 1

Deklarirajte dve celoštevilski spremenljivki, dodelite jim poljubne vrednosti. Natisnite njihovo vsoto in produkt.

Poziv: lahko uporabite projekt, ki je že ustvarjen v Eclipse, tako da ga prilepite zahtevani ukazi po ukazu za izpis vrstice "Hello, world!" ali namesto tega.

Operatorji povečanja in zmanjšanja

o operaterjih inkrementa in dekrementa

Operatorja inkrementa in dekrementa ++ in –– povečata in zmanjšata vrednost operanda za eno. Veliko bolj priročno je uporabiti ukaz x ++; namesto ukaza x = x + 1;

Operatorja inkrementa in zmanjšanja prav tako vrneta vrednost. To pomeni, da je izvajanje ukaza zakonito

Y = 7 * x ++;

Posledično se bo spremenljivka x povečala za 1, spremenljivka y pa bo dobila vrednost, ki je sedemkrat večja od stare vrednosti x. Zaženete lahko tudi ta ukaz:

Y = 7 * ++ x;

Posledično se bo spremenljivka x povečala za 1, spremenljivka y pa bo dobila vrednost, ki je sedemkrat večja od nove vrednosti x.

Pogojna izjava if

Najenostavnejša oblika pisanja pogojnega operaterja je:

če (pogoj) ukaz

Pogoj v oklepaju je logičen izraz, t.j. je lahko resnična ali napačna. Če je pogoj resničen, bo ukaz izveden, sicer se ne bo zgodilo nič. Na primer:

if (x // če je vrednost spremenljivke x manjša od 17, dodelite x 17

Če je potrebno, da se v primeru, ko je pogoj napačen, izvede kakšen drug ukaz, uporabite razširjeno obliko stavka if:

če (pogoj) ukaz1 drugače ukaz2

o konstrukciji else if

V zgornjem primeru bi morda želeli spremenljivko x dodeliti 5, če je pogoj x se ne izvaja (zakaj ga potrebujemo, drugo vprašanje).

če (x drugače x = 5;

Če je treba uporabiti več medsebojno izključujočih pogojev, jih lahko zapišemo na naslednji način:

če (pogoj1) ukaz1 drugače če (pogoj2) ukaz2 drugače če (pogoj3) ukaz3 ... drugače ukazN

vaja 2

Deklarirajte dve celoštevilski spremenljivki, dodelite jim poljubne vrednosti. Uporabite stavek if, da poiščete in izpišete največ od njih.

Poziv: algoritem za iskanje maksimuma je bil upoštevan pri ponavljanju osnovnih konstrukcij algoritma.

Sestavljeni ukazi

Več ukazov jezika Java je mogoče združiti v en sestavljen ukaz z uporabo kodrastih oklepajev (). Na primer, lahko napišete:

(a = 12; črka = "D";)

Sestavljeni ukazi se lahko uporabljajo povsod, kjer so običajni ukazi. Na primer, v stavku if, če je treba izvesti več dejanj, ko je izpolnjen pogoj:

če (x "S";) drugače (x = 5;)

Imenuje se tudi konstrukcija zavitih oklepajev blok ukazov in kodrasti oklepaji so meje blokov.

Upoštevajte, da je zapis, uporabljen v primeru (ko so meje bloka postavljene v ločene vrstice in je vsebina bloka zapisana zamaknjeno od njegovih meja), neobvezna. To je samo slogovno pravilo, da olajšate razumevanje programov in da vas ne zmedejo kodrasti oklepaji, ki se pogosto uporabljajo v programu Java.

o izjavi za izbiro stikala

Izjava za izbiro preklopa

Pogosto je izbira ukaza za izvedbo odvisna od vrednosti neke spremenljivke (ali izraza). Uporabnik se na primer pozove, da vnese predznak operacije in glede na vneseni znak mora prikazati rezultat seštevanja, odštevanja itd. ali, če je vnesen napačen znak, sporočilo o napaki. V tem primeru je priročno uporabiti stavek za izbiro stikala, ki ima naslednji zapis:

stikalo (izraz) (vrednost primera1: prelom zaporedja ukazov 1; vrednost primera2: prelom zaporedja ukazov 2; ... privzeto: privzeto zaporedje ukazov)

Vrednost1, vrednost2 itd. so konstante ali izrazi, ki vključujejo samo konstante. Izraz v oklepaju po ključna beseda stikalo lahko vsebuje spremenljivke. Ta izraz se oceni, nato pa se rezultat ujema z eno od vrednosti za ključno besedo case. Če se najde takšno ujemanje, se izvede celotno zaporedje ukazov med dvopičjem in najbližjim prelomnim ukazom. Če ni ujemanja, se izvede privzeto zaporedje ukazov, ki sledijo privzeti ključni besedi. Na primer:

char oper; // Znak delovanja, izbral ga bo uporabnik ... // Predpostavimo, da je do tega trenutka uporabnik izbral znak stikalo (oper) (velika črka "+": System.out.println (a + b); prekinitev; velika črka "-": System.out.println (a - b); prelom; primer "*": System.out. println (a * b); prekinitev; privzeto: System.out.println ( "Neveljaven znak transakcije"); }

Privzeti razdelek lahko izpustite. V tem primeru, če ni ujemanja, se ne izvede noben ukaz.

Izjava zanke while

Zanka while ima naslednjo obliko:

medtem ko (pogoj) ukaz

Če je pogoj v oklepaju (ki je logični izraz) resničen, bo ukaz izveden - telo zanke(lahko je preprost ukaz ali zaporedje ukazov v zavitih oklepajih), po katerem se bo program znova vrnil k izvajanju tega stavka in bo to ponavljal, dokler pogoj ni napačen.

Zato, da program ne vstopi v neskončno zanko in ne visi, mora telo zanke predvideti možnost izhoda, to pomeni, da morajo na primer ukazi v telesu zanke nekako vplivati ​​na spremenljivke, vključene v pogoj.

Naslednji odrezek kode na primer natisne sode številke od 2 do 10:

int x = 2; medtem ko (x<= 10){ System.out.println(x); x += 2; }

približno while zanka s postpogojem

Obstaja še en način za pisanje zanke while:

naredi ukaz medtem (pogoj)

Pri uporabi te možnosti se najprej izvede ukaz, nato pa se preveri pogoj. Obe možnosti delujeta na enak način, v drugem primeru pa bo telo zanke (ukaz) izvedeno vsaj enkrat, tudi če je pogoj sprva napačen.

Vaja #3

Uporabite zanko while, da natisnete vsa liha števila od 1 do 10.

Poziv: nekoliko spremenite algoritem za izpis sodih številk.

Operator zanke za

Zanka for se običajno uporablja, če je vnaprej znano, kolikokrat je treba ponoviti izvedbo ukaza (ali zaporedja ukazov). Ima naslednjo obliko:

for (ukaz init; pogoj; ukaz za skok) telo zanke

Pred začetkom cikla se izvede ukaz za inicializacijo. Nato se preveri pogoj skoka (ki je logičen izraz). Če je ta pogoj resničen, se izvede ukaz (ali blok ukazov v zavitih oklepajih), ki sestavlja telo zanke. Nato se izvede ukaz za skok in vse se začne znova. Navodilo za skok običajno spremeni spremenljivko, ki vpliva na resničnost pogoja, in inicializacijski ukaz je opis te spremenljivke.

Običajno se zanka for uporablja takole:

za (int i = 1; i<= 10; i++) тело_цикла;

V tem primeru bo telo zanke izvedeno natanko 10-krat. V tem primeru bo pri vsaki ponovitvi na voljo spremenljivka i (imenovana je spremenljivka zanke), ki bo zaporedoma potekala skozi vrednosti od 1 do 10. Naslednji del programa izpiše sode številke od 2 do 10 (podobno kot pri Primer zanke while):

za (int i = 1; i<= 5; i++) System.out.println(i*2);

4. vaja

Uporabite zanko for, da natisnete vsa liha števila od 1 do 10.

Prekini in nadaljuj izjave

Ko je telo zanke (za ali while) sestavljeno iz več ukazov, se lahko pojavi situacija, da pri naslednji iteraciji ni treba izvesti vseh. V tem primeru sta uporabni stavki break in continue.

Stavek break konča izvajanje trenutne zanke, ne glede na to, ali je izpolnjen njen zaključni pogoj.

Stavek nadaljevanja konča izvajanje trenutne ponovitve zanke. To pomeni, da če se ta operater sreča v telesu zanke, se preostali naslednji ukazi preskočijo in začne se nova ponovitev (ponavljanje) zanke.

Zaključek

Kljub temu, da je gradivo prve lekcije precej obsežno, ne bi smelo povzročati težav učencem, ki že poznajo vsaj en programski jezik, saj so konstrukcije v vseh jezikih enake in jih je treba le obvladati pravila za njihovo pisanje (sintaksa). Če je poznavanje drugih programskih jezikov slabo, potrebujete več domače naloge pri priročniku in reševanje dodatnih nalog. Najboljša možnost v tem primeru je, da pred naslednjo lekcijo preberete priporočena poglavja iz predlagane literature.

dodatno literaturo

1. Vyazovik N.A. Java programiranje. (poglavja 1 - 4, 7, 10)

2. Khabibullin I.Sh. Java samovadnica 2. (1. poglavje)

Bodite posebno pozorni na podatkovne tipe Java in pravila predvajanja, ki v tej vadnici niso podrobno obravnavani. Profesionalni programer bi moral v svojih programih vedno nadzorovati možnost, da vrednost spremenljivke preseže obseg, ki je dovoljen za njen tip. Napake pri oblikovanju tipk so ena najpogostejših in jih je težko zaznati. Poglavji 4 in 7 prve knjige sta zelo priporočljiva za branje vsem študentom, ki se prijavljajo za odlično oceno.

Strani JSP imajo kombinirano sintakso: kombinacijo standardne skladnje, ki je skladna s specifikacijo HTML, in sintakse JSP, ki je definirana s specifikacijo strani strežnika Java. Sintaksa JSP določa pravila za pisanje strani JSP, ki so sestavljene iz standardnih oznak HTML in oznak JSP. Strani JSP poleg oznak HTML vsebujejo oznake JSP naslednjih kategorij:

direktive JSP

direktive zagotoviti globalne informacije v zvezi s posebnimi zahtevami JSP in zagotoviti informacije, potrebne v fazi prevajanja.

direktive so vedno postavljene na začetek strani JSP pred vsemi drugimi oznakami, tako da razčlenjevalnik(razčlenjevalnik) JSP je pri razčlenjevanju besedila na samem začetku poudaril globalna navodila. Tako motor JSP (izvajanje JSP) razčleni kodo in iz JSP ustvari strežniški programček. direktive so sporočila v vsebnik JSP. Sintaksa direktive JSP izgleda takole:

<%@ директива имяАтрибута="значение" %>Sintaksa naloge direktive v XML: direktivo lahko ima več atributov. V tem primeru direktivo se lahko ponovi za vsak atribut. Hkrati pa pari "Ime atributa = vrednost" lahko postavite pod eno direktivo s presledkom kot ločilom. Obstajajo tri vrste direktiv:

  • stran (stran)
  • taglib (knjižnica oznak)
  • vključiti (vključiti)

Direktiva o strani

direktivo stran definira lastnosti strani JSP, ki vplivajo na prevajalca. Vrstni red atributov v direktivi stran ni pomembno. Kršitev sintakse ali prisotnost neprepoznanih atributov povzroči napako pri prevodu. Primer direktive stran lahko služi naslednja koda:<%@ page buffer="none" isThreadSafe="yes" errorPage="/error.jsp" %>Ta direktiva izjavlja, da ta stran JSP ne uporablja medpomnilnika, da lahko več uporabnikov hkrati dostopa do te strani JSP in da stran z napako z imenom error.jsp.
direktivo stran lahko vsebuje informacije o strani:<%@ page info = "JSP Sample 1" %>Seznam možnih atributov direktive stran predstavljeno v tabeli.
Ime atributaPomen Opis
jezik vrstica Določa jezik, ki se uporablja v skriptletih datotek JSP, izrazih ali katerih koli vključenih datotekah, vključno s telesom prevedene kode. Privzeto je "java"
podaljša vrstica Določa nadrazred za ustvarjen strežniški programček. Ta atribut je treba uporabljati zelo previdno, saj je možno, da strežnik že uporablja nadrazred.
uvoz vrstica Opredelitev paketov za uvoz, na primer:
& lt% @ uvoz strani = "java.util. *%>
Seja pravilno ali napačno Pomen prav(privzeto) označuje, da je vnaprej določena spremenljivka seje(tip HttpSession) mora biti vezan na obstoječo sejo, če obstaja, sicer je ustvarjena nova seja in vezana nanjo. Pomen napačno določi, da seje ne bodo uporabljene, in poskuša dostopati do spremenljivke seje bo povzročilo napako pri prevajanju strani JSP v strežniški programček
Puffer nič ali velikost medpomnilnika v kB. Nastavi velikost medpomnilnika za izhod JspWriter. Privzeta vrednost je odvisna od nastavitev strežnika in ne sme presegati 8 kB. Če je vrednost nobenega izhod gre neposredno v objekt
samodejno izpiranje pravilno ali napačno Določa, ali naj se medpomnilnik samodejno izprazni, ko se prepolni ali pride do napake. Privzeta vrednost prav
jeThreadSafe pravilno ali napačno Pomen prav(privzeto) določa običajni način izvajanja strežniškega programčka, kjer se več zahtev hkrati obdeluje z uporabo enega samega primerka strežniškega programa, ob predpostavki, da ima avtor sinhroniziran dostop do spremenljivk tega primerka. Napačna vrednost signalizira, da mora strežniški programček podedovati SingleThreadModel(enonitni model), kjer zaporedne ali sočasne zahteve obravnavajo ločeni primerki strežniškega programčka
info vrstica Definira niz informacij o strani JSP, do katere se bo dostopala z uporabo metode Servlet.getServletInfo ()
errorPage vrstica Vrednost atributa je URL strani, ki naj se prikaže v primeru morebitnih napak, ki povzročajo izjeme
isErrorPage pravilno ali napačno Označuje, ali je to stran mogoče uporabiti za obravnavo napak za druge strani JSP. Privzeto je napačno
contentType vrstica Določa kodiranje za stran in odgovor JSP ter tip MIME odgovora JSP. Privzeta vrednost vrste vsebine je besedilo / html, kodiranja - ISO-8859-1. Na primer:
contentType = "besedilo / html; nabor znakov = ISO-8859-1"
kodiranje strani vrstica Določa kodiranje znakov strani JSP. Privzeto je nabor znakov iz atributa contentTypeče je tam definirano. Če je vrednost nabor znakov v atributu contentType nedefinirano, vrednost kodiranje strani je nastavljen enako ISO-8859-1

Taglib direktiva

direktivo taglib izjavi, da dana stran JSP uporablja knjižnico oznak, jo enolično identificira z URI-jem in preslika predpono oznake, s katero je mogoče delovati na knjižnico. Če vsebnik ne najde knjižnice oznak, pride do usodne napake pri prevodu. direktivo taglib ima naslednjo sintakso:<%@ taglib uri="URI vključene knjižnice oznak"predpona =" ime predpone"%> Predpona" ime predpone"se uporablja pri sklicevanju na knjižnico. Primer uporabe knjižnice oznak moje oznake: <%@ taglib uri="http://www.taglib/mytags" prefix="customs" %> . . . V tem primeru ima knjižnica oznak URI "http: //www.taglib/mytags", je niz dodeljen kot predpona carine ki se uporablja na strani JSP pri dostopu do elementov knjižnice oznak.

Vključi direktivo

direktivo vključujejo omogoča vstavljanje besedila ali kode med prevajanjem strani JSP v strežniški programček. Sintaksa direktive vključujejo izgleda takole:<%@ include file="Relativni URI strani, ki jo želite vključiti"%> direktiva vključujejo ima en atribut - mapa... Vključuje besedilo določenega vira v datoteki JSP. To direktivo lahko uporabite za namestitev standardne glave avtorskih pravic na vsako stran JSP:<%@ include file="copyright.html" %>Vsebnik JSP dostopa do vključene datoteke. Če se je vključena datoteka spremenila, lahko vsebnik znova prevede stran JSP. direktivo vključujejo obravnava vir, kot je stran JSP, kot statični objekt. Dani URI se običajno razlaga glede na JSP strani, na kateri se nahaja povezava, vendar kot pri vsakem drugem relativnem URI-ju lahko sistemu poveste položaj vira, ki vas zanima glede na domači imenik WEB strežnika, tako da s predpono URI z znakom "/". Vsebina vključitvene datoteke se obravnava kot navadno besedilo JSP in zato lahko vključuje elemente, kot so statični HTML, elementi skripta, direktive in dejanja. Številna spletna mesta uporabljajo majhno navigacijsko vrstico na vsaki strani. Zaradi težav pri uporabi okvirjev HTML se ta naloga pogosto rešuje tako, da se na vrh ali v levo polovico strani postavi majhna miza, katere koda HTML se večkrat ponovi za vsako stran spletnega mesta. direktivo vključujejo je najbolj naraven način za rešitev te težave, ki razvijalca reši nočne more rutinskega kopiranja HTML-ja v vsako ločeno datoteko. Od direktive vključujejo povezuje datoteke med prevajanjem strani, nato pa je po spremembah v navigacijski vrstici potreben ponovni prevod vseh strani JSP, ki ga uporabljajo. Če se priložene datoteke pogosto spreminjajo, lahko uporabite dejanje jsp: vključi ki povezuje datoteko pri dostopu do strani JSP.

izjave JSP

Izjave (izjave) so namenjeni definiranju spremenljivk in metod v skriptnem jeziku, ki se kasneje uporabljajo na strani JSP. Sintaksa izjave izgleda takole:<%! код Java %> oglasi se nahajajo v bloku deklaracij in se kličejo v bloku izrazov strani JSP. Koda v bloku deklaracij je običajno napisana v Javi, vendar lahko aplikacijski strežniki uporabljajo sintakso drugih skriptov. oglasi se včasih uporabljajo za dodajanje dodatne funkcionalnosti pri delu z dinamičnimi podatki, pridobljenimi iz lastnosti komponent JavaBeans. Primeri oglasi so predstavljeni v tabeli. Obvestilo lahko vsebuje več vrstic, na primer v spodnji kodi za izračun vrednosti funkcije dejstvo (int n), ki bi morala biti enaka 1, če je n manjši od 2 in n! s pozitivno vrednostjo n;<%! public static int fact (int n) { if (n oglasi ne proizvajajo nobenega izhoda na standardni izhod ven... Spremenljivke in metode, deklarirane v obvestila so inicializirani in na voljo skriptletom in drugim oglasi ko je stran JSP inicializirana.

JSP skripte

Skripte vključujejo različne dele kode, napisane v skriptnem jeziku, opredeljenem v direktivi jezik... Odrezki kode morajo biti skladni s skladenjskimi konstrukcijami jezika skriptleti, kar je običajno skladnja jezika Java. Skripte imajo naslednjo sintakso:<% текст скриптлета %>Ekvivalent skladnje skriptlet za XML je: besedilo skriptleta
Če v besedilu skriptlet je treba zaporedje znakov%> uporabiti natančno kot kombinacijo znakov in ne kot oznako - končni znak skriptlet, namesto zaporedja%> uporabite naslednjo kombinacijo znakov% \>.
Specifikacija JSP ponuja preprost in jasen primer skriptlet ki skozi dan dinamično spreminja vsebino strani JSP.<% if (Calendar.getInstance ().get (Calendar.AM_PM) == Calendar.AM) {%>Dobro jutro<% } else { %>Dober večer<% } %>Treba je opozoriti, da je koda znotraj skriptlet vstavljeno kot napisano in vse statično besedilo HTML (besedilo predloge) pred ali za njim skriptlet pretvorjeno s pomočjo operaterja natisniti... To pomeni, da skriptletom ni treba vsebovati dokončanih delov Java in da lahko kosi, ki ostanejo odprti, vplivajo na statični HTML zunaj skriptlet. Skripte imajo dostop do istih samodejno definiranih spremenljivk kot izrazi. Zato, na primer, če je treba na strani prikazati kakršne koli informacije, morate uporabiti spremenljivko ven. <% String queryData = request.getQueryString (); out.println ("Дополнительные данные запроса: " + queryData); %>

JSP izrazi

Izraz na strani JSP je izvedljiv izraz, napisan v skriptnem jeziku, določenem v izjavi jezik(običajno Java). Rezultat izrazi JSP zahtevane vrste Vrvica, poslano na standardni izhod ven z uporabo trenutnega predmeta JspWriter... Če je rezultat izrazi ni mogoče oddati Vrvica, pride do napake pri prevajanju, če je bila težava zaznana v fazi prevajanja, ali pa se vrne izjema ClassCastExceptionče je bila neskladnost zaznana med izvedbo zahteve. Izraz ima naslednjo sintakso: & lt% = izraz besedilo%> alternativno sintakso za izrazi JSP pri uporabi XML: izrazno besediloNalog za izvršitev izrazi na strani JSP od leve proti desni. Če izražanje se pojavi v več kot enem izvajalnem atributu, nato pa teče od leve proti desni v tej oznaki. Izraz mora biti popoln izraz v določenem skriptu (običajno Java). Izrazi se izvajajo, medtem ko se izvaja protokol HTTP. Vrednost izraza se pretvori v niz in vključi na ustrezno mesto v datoteki JSP. Izrazi se običajno uporabljajo za izračun in prikaz nizovne predstavitve spremenljivk in metod, definiranih v bloku deklaracij strani JSP ali izpeljanih iz JavaBeans, ki so dostopni iz JSP. Naslednja koda izrazi služi za prikaz datuma in ure zahteve za to stran: Trenutni čas: & lt% = nov java.util.Date ()%> Za poenostavitev izrazi obstaja več vnaprej določenih spremenljivk, ki jih lahko uporabite. Najpogosteje uporabljene spremenljivke so:
  • zahteva, HttpServletRequest;
  • odgovor, HttpServletResponse;
  • seja, HttpSession - povezana z zahtevo, če obstaja;
  • ven, PrintWriter - medpomnilna različica tipa JspWriter za pošiljanje podatkov odjemalcu.