Računala Windows Internet

Osnovna sintaksa Java. Glavne operacije jezika. Uvjetna if naredba

Svrha, značajke i prednosti Eclipsea

Eclipse je proširivo IDE (Integrirano razvojno okruženje). IDE je prikladno organiziran skup alata potrebnih za rad na softverskom projektu.

Eclipse je univerzalna platforma koja se može koristiti za razvoj aplikacija u bilo kojem programskom jeziku (na primjer, možete koristiti Python nakon instaliranja veze Pydev (), ali Java je izvorna za Eclipse (koji je, usput rečeno, napisan u Eclipse -u)) .

Tome služe uvjeti. Da bismo to učinili, moramo definirati naš primjer. Na kraju, odnosno zatvaranjem zagrade petlje, prevoditelj nas vraća na početak petlje. Da ovo nismo učinili, nikada u to ne bismo ušli. To je u redu jer provjeravamo stanje prije ulaska u petlju! Vrlo je jednostavno: s petljom!

Pažnja, morat ćemo resetirati varijablu odgovora na. Evo našeg programa u cjelini. Možete provjeriti ovaj kôd: vidjet ćete da će, ako ne unesete ispravno slovo, program postaviti pitanje kao na sljedećoj slici! Pazite da ispravno napišete svoje uvjete i provjerite svoje varijable tijekom i u svim petljama općenito. Pokušajte pokrenuti prethodni program bez poništavanja varijable odgovora i trebali biste vidjeti rezultat! To se naziva "beskonačna petlja". Ako pokrenete ovaj program, vidjet ćete astronomski broj "kukavice 1 put!".

Najvažnije značajke Eclipsea su:

  1. Cross-platforma. Eclipse radi na svim uobičajenim platformama: Windows, Linux i MacOS X. Što je još važnije, njegova je funkcionalnost ista na svakoj od ovih platformi.
  2. Svestranost i proširivost. Eclipse ima mogućnost korištenja različitih alata trećih strana.
  3. Otvorenost i neopravdanost. Eclipse je projekt OpenSource (tj izvorni kodovi dostupna svima i svatko se može pridružiti razvoju ovog alata). Eclipse ima aktivnu zajednicu koja stalno radi na poboljšanju programa i proširenju svojih mogućnosti.

Radni prostor Eclipse

Prvo što vidite kada pokrenete Eclipse je dijaloški okvir koji vam omogućuje da odaberete gdje će se radni prostor nalaziti. Radni prostor je direktorij u koji će vaš rad biti spremljen.

Time ćemo dobiti sljedeću sliku. Mogli biste koristiti i ovu sintaksu. Valja napomenuti da postoji jedna petlja za petlju: pa, s ovom sintaksom, operator prirasta ima prednost nad operatorom nejednakosti, tj. petlja povećava vrijednost varijable a, i tek nakon što to učini, provjerava stanje!

Doista, ove dvije petlje nisu rođake nego sestre. Njihov je rad identičan u dva dijela. Odnosno, ispitna faza uvjeta izvodi se na kraju, jer se stanje javlja nakon određenog vremena. Ne zaboravite, međutim, program se neće kompajlirati. Osim ova dva elementa, ove šarke rade na potpuno isti način.

Nakon odabira radnog prostora, na ekranu će se pojaviti početna stranica s prijedlozima za pregled vodiča, primjera itd. Odaberite Workbench i bit ćete preusmjereni na prozor radno okruženje (Workbench), u kojem će se odvijati vaš daljnji rad.

Glavne komponente radnog prostora su pogledi, urednici i perspektive.

Ovaj je ciklus pomalo osebujan jer uzima sve svoje atribute u svoje stanje i djeluje u skladu s tim. Deklariranjem varijable prije petlje, inicijalizacijom ove varijable, povećanjem u petlji. To daje sljedeću sliku.

Vjerojatno ste primijetili prisutnost; U uvjetu odvajanja polja. Ne zaboravite ih, inače se program neće kompajlirati.

Također možemo promijeniti vrijednost petlje, odnosno umjesto od 0 do 10 počet ćemo od 10 dok ne dosegnemo 0. Dobiva se sljedeća brojka.

Imamo početni broj, uvjet koji mora biti ispunjen za ponovno izvršavanje petlje i uputu. Imajte na umu da nas ništa ne sprječava da skupimo deklaracije, uvjete i upute s kraja petlje. Petlje vam omogućuju izvršavanje zadataka koji se ponavljaju. ... Slično kao i uvjeti, ako petlja sadrži više od jednog retka koda za izvršavanje, morate je okružiti kovrčavim zagradama kako biste jasno definirali početak i kraj petlje.

Izvođenje Je mali odjeljak unutar radnog prostora koji se koristi za navigaciju kroz određenu kategoriju objekata (poput resursa ili paketa), otvaranje uređivača i prikaz svojstava aktivnih uređivača. Na primjer, prikaz Navigator prikazuje projekte i druge resurse, dok prikaz Oznake prikazuje sve oznake na radnoj površini, zajedno s nazivima datoteka s kojima su te oznake povezane. Slika prikazuje gornji desni kut radnog prostora s aktivnim prikazom Outline.

Pogreška: veličinu objekta možete mjeriti tako što ćete ga serijalizirati u niz bajtova i pogledati rezultirajuću duljinu toka. Razlog zašto to ne radi je zato što je raspored serijalizacije samo udaljeni odraz pravog izgleda u memoriji.

Međutim, na početku svega moramo si postaviti osnovno pitanje, što je bio cilj? Ovaj se jezik uglavnom fokusira na. Pod ovom lozinkom, trajni kôd je minimiziran. To su inherentni članovi klase koji ne dohvaćaju previše koda, ali jesu. Uostalom, mogu se koristiti općenito. Primjer takvog alata bio bi Lombok. Ostatak prevoditelja će se izvoditi tijekom faze generiranja bajt koda. No, budući da u praksi ništa nije savršeno, tako je i Lombok. Krećući se dalje u konceptu jezika, dolazimo do noćne more programera, tzv.

Sve promjene prikaza se odmah spremaju.

Druga vrsta Workbench vizualnih komponenti - urednici, koji se koriste za pregled i uređivanje nekog resursa (na primjer, programskog koda). Kad odaberete resurs, pojavit će se odgovarajući uređivač. Na primjer, otvorite bilo koji tekstualni dokument (s nastavkom .txt) pomoću naredbe Datoteka -> Otvori datoteku ... i vidjet ćete ugrađeni uređivač običnog teksta. Ako upišete nešto u ovaj uređivač, na njegovoj će se kartici pojaviti zvjezdica na kojoj je napisan naziv datoteke. To znači da uređivač sadrži nespremljene promjene. Spremit će se ako pritisnete Ctrl + S ili odaberete naredbu Datoteka -> Spremi.

Ovdje će, istina, Javan reći: "Imamo izborni izbor." Nije nužno mnogo prijateljskiji od provjere nule svaki put, ali duljina retka raste velikom brzinom, što nažalost smanjuje čitljivost koda. Trajnost i interoperabilnost. ... Mnogi s marketinškim profesionalcima, prijeđimo na nedostatke i kako to funkcionira u praksi.

Nova sintaksa izaziva mješovite osjećaje. Gledajući kod prvi put u bazenu, osjećao sam se pomalo neugodno. Sintaksa, koja je isprva bila barem čudan podsjetnik na malo unatrag. U slučaju deklaracija, metode se mogu čitati na jasan način. Problem nastaje kada koristimo tzv. Ne može se sakriti da je mogućnost rukovanja provjerenim iznimkama na sličan način nekontrolirana, što uvelike poboljšava čitljivost koda.

Postoji mnogo korisnih prikaza koje možete dodati u prozor radnog prostora naredbom Window -> Show View. Međutim, umjesto da ih dodajete jedan po jedan, prikladnije je promijeniti perspektivu. Projekcija(ili perspektiva) Je zbirka prikaza i urednika posebno prilagođena za izvršavanje zadatka. Nakon pokretanja u Eclipseu, otvara se Java perspektiva, konfigurirana za stvarno pisanje programa. Debug projekcija često se koristi za ispravljanje pogrešaka u programu. Projekciju možete promijeniti pomoću naredbe Window -> Open Perspective. Naziv trenutne projekcije prikazan je u gornjem desnom kutu radnog okruženja (vidi sliku).

Deklarirane klase kao i zadane varijable su javne i konačne. Problem vidljivosti može se nadjačati odgovarajućim modifikatorom dok je posljednji modifikator otvoren s modifikatorom. Uvjetni izraz je projekt koji vam omogućuje da navedete uvjete za izvršavanje određenog dijela koda - koda koji želite pokrenuti samo ako su ispunjeni određeni uvjeti. Opći oblik uvjetni iskaz izgleda ovako.

Uvjetni izraz također vam omogućuje da navedete zamjenski kôd, odnosno kôd koji će se izvršiti kada uvjet nije istinit. Na primjer, za ovog broja prikazuje se sljedeća metoda, bez obzira radi li se o pozitivnom broju. Imajte na umu da se isti učinak može postići primjenom gore navedene metode na potpuno drugačiji način, npr.

Prvi Java program

Prije nego počnete programirati, morate stvoriti projekt u koji će Eclipse pohraniti sve resurse povezane s vašim programom.

Za izradu projekta pokrenite naredbu Datoteka -> Novo -> Projekt. U prozoru koji se pojavi odaberite Java Project i kliknite Dalje. Navedite naziv svog projekta. Imajte na umu da će se mapa s nazivom vašeg projekta stvoriti u direktoriju koji ste naveli kao radni prostor (osim ako, naravno, ne promijenite postavke u ovom prozoru, što nećemo učiniti prvi put). Pritisnite gumb Završi.

Naravno, prvi oblik. Ne samo da je sažet u pisanom obliku, već je i potencijalno brži jer je u prosjeku manje usporedbi. U ovom slučaju možemo izostaviti zavojite zagrade koje uključuju uvjetni kôd. Od ovog predavanja počinjemo proučavati objektno programiranje na primjeru određenog programskog jezika. Sve ove kvalitete opravdavaju odabir jezika kao oruđa za pokazivanje objektno orijentiranih mehanizama. Međutim, valja naglasiti da to nije jedina opcija.

Mogućnosti je mnogo, kreatori svakog predavanja moraju napraviti izbor. Predavačima je važno ne zanemariti osnovnu činjenicu: odabrani programski jezik jednostavno je alat za pokazivanje primjera objektno orijentiranog programiranja. Izbor jezika, iako je neophodan, sporedan je. To se tiče definicije jezika, kao i opisa standardnih knjižnica. Naravno, nećemo o svima njima govoriti u kontekstu našeg predavanja, već ćemo proučiti primjere složene i složene klasne hijerarhije.

Vaš je projekt sada prisutan u prikazu PackageExplorer s lijeve strane radnog prostora. Možete ga izbrisati u bilo kojem trenutku klikom na njegov naziv desni klik mišem i odabirom Izbriši. Nakon toga Eclipse će pitati treba li istodobno uništiti mapu s projektnim datotekama (ako je potrebno, možete je i uništiti).

Ako niste izbrisali projekt, možete mu dodati datoteke i mape pomoću naredbi kontekstnog izbornika Novo -> Datoteka i novo -> Mapa odnosno. Ako je projekt velik, tada mu je potrebna ugniježđena struktura mapa. No, u slučaju Java projekta, stvari su malo drugačije. Poanta je u tome da su fragmenti Java programa grupirani u paketi te se za svaki paket stvara posebna mapa. Paket se stvara naredbom New -> Package. Za paket također trebate smisliti naziv. Zbog toga će se u mapi projekta stvoriti nova mapa s ovim imenom. Mozes provjeriti.

Za izradu grafike korisnička sučelja uzet ćemo na primjer zbirke, streamove i klase. Nakon ovih objašnjenja, vrijeme je za početak! Druge pretpostavke dizajna odnosile su se na prenosivost programa. Učinak će biti isti. U objektno orijentiranim jezicima funkcije definirane u klasama nazivaju se metodama. Definicija klase počinje riječju klase, kojoj prethode dodatni modifikatori pristupa. Ići ćemo o paketima. Naziv ove metode nije slučajan. Parametri metode vrlo su jaki u većini programskih jezika.

Možda će vam biti lakše pregledavati resurse projekta pomoću prikaza Navigator. Otvorite ga naredbom Window -> Show View. Vidjet ćete da je osim direktorija projekata i paketa, Eclipse stvorio dvije pomoćne datoteke, .classpath i .project. Mogu se lako otvoriti u uredniku, ali nas sada ne zanimaju posebno.

Java program uvijek se sastoji od jednog ili više njih klase... Možete stvoriti klasu pomoću naredbe New -> Class u kontekstni izbornik Pogledi navigatora (ili Package Explorer, nije važno). Prilikom stvaranja klase morate odabrati paket kojemu će pripadati (odabrati paket koji ste upravo stvorili) i smisliti naziv za njega. Uobičajena je praksa da se nazivi klasa započinju velikim slovom. Ako ne slijedite ovo pravilo dobre forme, Eclipse će izdati upozorenje, ali ništa se loše neće dogoditi.

Dat je slijed pojedinačnih deklaracija parametara, a pojedinačne deklaracije odvojene su separatorom. Svaka deklaracija navodi naziv i vrstu parametra. Ispred vrste metode navedeni su dodatni specifikatori. Statična ključna riječ znači da je to metoda klase, tj. poziv za koji nije potrebna kopija objekta ove klase. Kao što je ranije spomenuto, klasa odgovara tipu, a vrijednosti klase - instance tog tipa su objekti. Obično zovemo metode na objektima, ali možete pozvati i metode na klasi.

To je posebno važno u našem programu, gdje nismo stvorili nijedan objekt. Ova klasa je prikupila osnovne operacije i objekte povezane sa standardnim ulazom i izlazom, te operacijski sustav u kojem se program izvodi. Gdje komponenta može biti atribut ili metoda. U potonjem slučaju donosimo popis njegovih parametara zatvorenih u zagradama. Naravno, možemo se dodatno, primjerice, uputiti na atribute atributa ili rezultat metode.

Za naše je svrhe korisno označiti okvir ispod "Koje metode želite stvoriti u svom razredu?" suprotna opcija javni statički void main (stringovi)... Kao rezultat toga, metoda (funkcija) main () bit će generirana u tijelu klase. Java zahtijeva da barem jedna od klasa programa ima metodu s takvim zaglavljem. On će biti pogubljen na početku programa.

Ista se sintaksa koristi pri opisivanju atributa i metoda klase. Komentari u jednom retku počinju s dvije kose crte i završavaju do kraja retka. Naravno, višecrtni komentar može u potpunosti stati u jedan redak, a čak može biti i nekoliko takvih komentara u jednom retku.

Komentari s više redaka ne mogu se ugnijezditi. Ovdje nećemo ulaziti u detalje, šaljući više zainteresiranih čitatelja na jezično izvješće. Sažmimo samo najvažnije leksičke elemente. Pitanje legitimnosti uporabe identifikatora ispisanih nacionalnim znakovima, t.j. nije na engleskom, izaziva mnogo kontroverzi. Autor ovog teksta, ocjenjujući druge argumente koji se tiču, na primjer, rada u međunarodnim timovima, izražava radost u vezi s činjenicom da se, rješavajući na Javi, problem vuka, koze i kupusa može nazvati promjenjivim brodom umjesto čamac ili čamac.

Kao rezultat naših radnji, u mapi paketa bit će stvorena datoteka s imenom naše klase i nastavkom .java. Eclipse će otvoriti uređivač koda koji prikazuje sadržaj ove datoteke. To će biti nešto poput sljedećeg (nazivi paketa i klasa, naravno, mogu se razlikovati):

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

Naredbe koje čine tijelo funkcije mogu se napisati umjesto automatski generiranog komentara // TODO Automatski generirana metoda stub... Napisat ćemo samo jednu naredbu koja će ispisati klasični "Hello, world!" Redak na zaslon:

To znači da svaka varijabla, atribut ili parametar ima deklariranu vrstu. Prevoditelj nabraja vrste svih izraza u programu i provjerava da li se svi operatori i metode koriste prema svojim deklaracijama, odnosno argumentima odgovarajućih tipova. Primarni tipovi, referentni tipovi. ... Primarni tipovi skupina su od osam tipova koji sadrže jednostavne vrijednosti.

Vrste veza spadaju u sljedeće kategorije. Vrste klasa, vrste sučelja, vrste nizova. ... Vrste referenci su reference objekata ili null. Budući da nema naziv, ne možete čak ni proglasiti varijablu ove vrste. Ova se vrijednost može dodijeliti bilo kojoj vrsti reference, tako da možete smatrati null vrijednosti kao vrijednosti za svaku vrstu reference i ne brinuti se o postojanju tipa. Varijable se nazivaju spremnicima za pojedinačne vrijednosti tipa s kojim su deklarirane.

System.out.println ("Zdravo, svijete!");

Ostaje pokrenuti program. Da biste to učinili, izvedite naredbu Pokreni -> Pokreni i dobijte dijaloški okvir s netrivijalnim postavkama pokretanja. Na lijevoj strani ovog prozora odaberite Java aplikaciju ( Java aplikacija). Nakon što je malo razmislio, Eclipse će pronaći našu klasu koja sadrži metodu main () i ponuditi da se iz nje pokrene program (na desnoj strani prozora, na kartici Main, trebali bi se pojaviti nazivi našeg projekta i našeg razreda). Uz ovo, programeru se nudi još nekoliko kartica. Na primjer, na drugom od njih - Argumenti - predlaže se unos parametara naredbeni redak(ako je program dizajniran za pozivanje iz naredbenog retka s parametrima). Za naš jednostavan program ne morate navesti ništa drugo. Samo kliknite gumb Pokreni.

Postoji sedam vrsta varijabli. Varijable klase, varijable kopiranja, lokalne varijable, elementi niza, parametri metode, parametri konstruktora, parametri za obradu izuzetaka. Svaka varijabla mora biti deklarirana. Svaka je varijabla pridružena svom tipu deklariranom u deklaraciji varijable. Ovaj tip prevoditelj koristi za provjeru operacija nad varijablama. Ako prevoditelj otkrije da program koristi varijablu koja ne odgovara njezinoj vrsti, program će biti odbijen kao nevažeći.

Zbog toga su mnoge od mnogih pogrešaka u programima već otkrivene u fazi sastavljanja. Naravno, prevoditelj ne može otkriti logičke pogreške. Za parametre, očuvanje ovog zahtjeva je očito. Za ostale četiri vrste varijabli to je teže.

Kao rezultat rada programa, podaci se ispisuju na takozvanu konzolu. V. operacijski sustav MS DOS konzola bila je cijeli zaslon monitora. Eclipse nam otvara prikaz konzole u kojem (ako je sve učinjeno ispravno) niz "Hello, world!" je izlaz našeg programa.

Sada, za ponovno pokretanje programa (na primjer, ako smo odlučili unijeti neke izmjene u njega ili ga moramo pokazati učitelju), možete ići lakšim putem -izvršite naredbu Pokreni -> Pokreni zadnji pokrenuti (pokrenite ponovno prethodnu aplikaciju) ili samo pritisnite Ctrl + F11.

Osnove Java sintakse

Definicije

Operand je vrijednost uključena u operaciju.

Metoda (funkcija) dio je programa koji ima svoj naziv. Ovaj se naziv može koristiti kao naredba u programu (takva naredba naziva se poziv metode). Prilikom pozivanja metode izvršavaju se naredbe od kojih se sastoji. Metoda, slična operaciji, može vratiti vrijednost rezultata.

Izraz je slijed operacija i poziva metoda koji se izvode određenim redoslijedom (prema prioritetu operacija, uzimajući u obzir zagrade), što daje određenu vrijednost tijekom izračuna.

Varijabla je imenovano područje memorije računala u koje program može pohraniti podatke određene vrste (tzv promjenjiva vrijednost) i pristupiti tim podacima pomoću naziva varijable.

Koncepti programa i algoritama (ponavljanje)

Termin bilo koji kompjuterski program- pretvaranje ulaznih podataka u izlazne podatke. Algoritam programa određuje kako se ulazni podaci pretvaraju u izlazne podatke.


Ulazni podaci mogu doći iz različitih izvora. U obrazovne projekte ti se podaci najčešće unose dok se program izvodi pomoću tipkovnice i miša. U stvarnim programima mogu se dobiti i iz datoteka, baza podataka, mreža, izravno s različitih senzora itd.

Izlazni podaci (rezultat rada programa) najčešće se prikazuju na ekranu, ali se također mogu spremiti u datoteku ili bazu podataka, poslati na mrežu. Ugrađeni programi generiraju posebne izlazne sekvence kao izlaz koji uzrokuju da uređaj s kojim je program povezan izvrši neku radnju.

Početak pisanja programa MORA ODMAH RAZUMIJEVATI:

  1. Čemu uopće služi ovaj program (čime se bavi, općenito)?
  2. Koje ulazne podatke ima ovaj program (i odakle dolaze)?
  3. Što je izlaz ovog programa (i gdje ga poslati)?
  4. Kako ulaz treba pretvoriti u izlaz (algoritam)? Ovo je najteži dio razmišljanja programera, ali iako nema odgovora na tri prethodna pitanja, nema smisla započinjati ga.

Prilikom pisanja jednostavnog programa morate:

  1. Dobijte ulaz.
  2. Implementirajte algoritam za pretvaranje ulaznih podataka u izlaze.
  3. Ispišite rezultat rada programa (izlazni podaci): prikažite ga, pošaljite putem mreže itd.

Prilikom rada sa složenim softverskim projektima potrebno je provesti detaljnu analizu zahtjeva za program (što može zahtijevati puno komunikacije s kupcem), izvesti dizajn (kako bi se utvrdilo iz kojih dijelova će se program sastojati, kako će ti dijelovi međusobno djelovati, prikazivati ​​različite aspekte strukture i ponašanja programa u obliku dijagrama itd.). No u svakom slučaju, počnite programirati bez razumijevanja ulaznih i izlaznih podataka i bez razumijevanja općenito suštine algoritma besmisleno... Razmislite barem općenito o biti algoritma, a da ne poznajete ulazne i izlazne podatke nemoguće.

Stoga uvijek započinjte svoje vježbe definiranjem ulaza i izlaza. Ako imate poteškoća po ovom pitanju, obratite se svom učitelju.

Literatura na tu temu:

Konstrukcije osnovnih algoritama (ponavljanje)

Pažnja! U ovoj fazi obuke već biste trebali imati znanje o ovoj temi. Ako ih nema, a materijali za ponavljanje su nerazumljivi ili nedostatni, nećete se nositi sa zadacima! Hitno je potražiti literaturu na tu temu.

Dakle, algoritam je slijed radnji za pretvaranje ulaznih podataka u izlazne podatke.

Algoritam se može napisati na tri glavna načina:

Pojedini koraci algoritma (bez obzira na to kako je napisan) međusobno su povezani pomoću tri standardne konstrukcije koje su implementirane u apsolutno svim programskim jezicima:

    Uzastopno izvršenje. Koraci se izvode jedan za drugim.

    Grananje. Ovisno o ispunjenosti određenog uvjeta (u razmatranom primjeru to je x> y?), Izvršava se jedna ili druga grana programa.

    Ciklusi. Slijed koraka programa izvodi se nekoliko puta. U stvari, petlja se temelji na grananju (provjerava se uvjet za izlaz iz petlje), ali ako ovaj uvjet nije ispunjen, kontrola se prenosi na početak petlje (natrag na već dovršeni korak).

Razmotrite problem: prikažite sve parne brojeve manje od 10. Za ovaj problem možete koristiti algoritam temeljen na uzastopnim koracima i algoritam koji koristi petlju. Dijagrami za obje opcije prikazani su na slici:

Prvi dijagram izgleda jasnije, ali u slučaju kada je potrebno prikazati ne 5 brojeva, već 100, dijagram (i program koji odgovara ovom algoritmu) će se povećati 20 puta, a u programu koji odgovara drugom algoritmu samo jedno mjesto će se promijeniti: 10 će se promijeniti u 100 Zbog toga su ponavljajuće akcije osmišljene u obliku ciklusa, iako se u mnogim slučajevima mogu zanemariti.

Upamtite: algoritam bi trebao biti izgrađen od samo tri imenovana konstrukta!

Literatura na tu temu:

1. Školski udžbenik informatike.

Osnove osnove Java sintakse

  1. Jezik Java razlikuje velika i mala slova. To znači da bi nazivi svih funkcija i ključnih riječi trebali biti napisani točno onako kako se pojavljuju u primjerima i priručnicima.
  2. Svaka naredba (operator) u Java jeziku mora završiti točkom -zarezom.
  3. Java program se sastoji od jednog ili više njih klase... Apsolutno bi trebao biti smješten cijeli funkcionalni dio programa (tj. Ono što radi) metodama određene klase. (Klasa i metoda, kao objektno orijentirani programski koncept, bit će obrađeni u lekciji 3. Sintaksa klase također će biti obrađena. U prvim vježbama koristite klase koje Eclipse generira prema zadanim postavkama.)
  4. Klase su grupirane u pakete.
  5. Najmanje jedna od klasa mora imati metodu main (), potpuno istu kao u primjeru koji smo razmotrili. (Isprva nije potrebno razumjeti ili pokušati zapamtiti ispravan pravopis ove metode - Eclipse će sam generirati sve ako označite potreban okvir.) Ova će se metoda prva izvršiti.

U najjednostavnijem slučaju, program se može sastojati od jednog (ili čak ni jednog) paketa, jedne klase unutar paketa i jedne metode main () unutar klase. Naredbe programa bit će ispisane između redaka

public static void main (Argumenti niza) (

i završnu kovrčavu zagradu) koja označava kraj tijela metode. Ovaj pristup treba slijediti pri izvođenju najjednostavnijih vježbi.

Komentari (1)

Komentari su oznake objašnjenja koje programeri koriste za poboljšanje razumljivosti koda. Prilikom sastavljanja programa komentari se zanemaruju pa se u njih može sve napisati. Glavna stvar je pokazati da je ovaj natpis komentar i da se ne smije tumačiti kao programske naredbe. U Javi se to radi na jedan od sljedećih načina:

  1. Ubacuju se dvije kose crte //. Od sada pa do kraja retka možete pisati što god želite - Java će to tretirati kao komentar.
  2. Na početku komentara stavljaju se znakovi / *, a na kraju - * /. U ovom slučaju komentar može obuhvatiti neograničen broj redaka.
  3. Istaknite komentari za dokumentaciju koji se postavljaju između oznaka / ** i * /. O njihovoj uporabi bit će riječi kasnije.

Doslovna pravila pisanja

o različitim oblicima pisanja literala

Cijeli brojevi (cijeli brojevi) u Javi mogu se napisati na uobičajen način u decimalnom obliku: 12345, +4, -11.

Osim toga, cijele brojeve možete pisati u oktalnom obliku, počevši od nule (0777, -056) i u heksadecimalnom obliku, počevši od nule i latiničnog slova x (0xFFFF, 0x14, 0xA1BC).

Važeći literali pišu se decimalnim zapisom, a cijeli broj je odvojen od decimalnog zareza.

Može se napisati pravi broj plutajuća točka, na primjer: 5.4e19, 17E -11, -123e + 4. Dio broja koji dolazi ispred slova e naziva se mantisa, a dio koji dolazi iza slova e naziva se red. Oznaka znači sljedeće: trebate podići 10 na snagu reda i pomnožiti s bogomoljkom. Ponekad je zapravo prikladnije napisati 1e-9 nego 0,000000001.

Pojedinačni znakovi ispisani su apostrofama, na primjer, "a", "D", "@".

Postoje neki posebni i kontrolni znakovi koji su napisani pomoću posebne sekvence za izbjegavanje. Najčešći su navedeni u tablici:

Niz bijega također je zatvoren u apostrofe.

Prvi redak tablice kaže da se bilo koji znak može specificirati pomoću njegovog koda (s decimalnim kodiranjem od 0 do 255) upisivanjem ovog koda u oktalni brojčani sustav. Na primjer, slovo "g" u kodiranju CP1251 bit će napisano s izlaznim nizom "\ 346"

Ako je potrebno, možete navesti kôd bilo kojeg znaka u Unicode kodiranje- nakon kose crte i latiničnog slova u - u četiri heksadecimalna znaka. Na primjer, "\ u0055" je slovo U.

Nizovi znakova zatvoreni su pod navodnicima. Navodni i završni navodnici moraju biti u istom retku koda.

Za nizove je definirana operacija spajanja +, koja vam omogućuje da skupite nekoliko nizova u jedan ("pripisujući" ih međusobno).

Ako je konstanta niza predugačka i slabo se percipira u programskom kodu kada je pišete u jednom retku, možete je zapisati u nekoliko redaka povezujući ih pomoću operacije povezivanja niza. Na primjer:

"Ovo je zapisana jako duga konstanta niza" + "na dvije linije izvora"

Kontrolni znakovi i kodovi zapisani su unutar niza na potpuno isti način kosa kosa crta(ali bez apostrofa).

Logičke vrijednosti su istinite i lažne.

Identifikatori

o pravilima dobrog stila

Prilikom programiranja postoji stalna potreba za pronalaženjem identifikatora za imenovanje objekata.

Identifikator se može sastojati od slova, brojeva, podvlake _ i znaka dolara $ (ovo drugo se ne preporučuje, Java ga koristi za svoje potrebe). Identifikator ne može započeti znamenkom. Java ključne riječi (niti literali točno netočno i null).

Kao što je gore navedeno, Java jezik razlikuje jednostavna i mala slova... To znači da su myAge, myage i MyAge nazivi potpuno različitih objekata. Budite oprezni: greška u registru vrlo je čest slučaj!

Nazivi razreda počinju velikim slovom; ako se naziv sastoji od više riječi, onda svaka riječ počinje velikim slovom. Na primjer: MyClass, Book.

Nazivi metoda i varijabli počinju malim slovima (mala slova); ako naziv sadrži nekoliko riječi, tada svaka sljedeća riječ počinje velikim slovom. Na primjer, myVar, x, y, newBigCounter.

Stalna imena ispisuju se u cijelosti velika slova; ako naziv sadrži nekoliko riječi, između njih se stavlja donja crta. Na primjer PI, COUNT_OF_MONTHS.

Korištenje ovih smjernica ima mnoge prednosti. Jedan od njih je da ćete znati točno postaviti velika i mala slova kada koristite standard Java knjižnicečiji su se programeri pridržavali preporuka.

Vrste podataka

o vrstama podataka Java

Vrsta int najčešće se koristi za spremanje cijelih brojeva u Javi.

Općenito, u Java jeziku postoje četiri vrste cijelih brojeva: byte, short, int, long. Oni se razlikuju po količini memorije koja će biti dodijeljena varijabli i, prema tome, po rasponu vrijednosti koje se mogu pohraniti u ovu varijablu. Najčešće korišteni tip int zauzima 4 bajta u memoriji i prikladan je za spremanje brojeva od -2147483648 do 2147483647. Tip bajta zauzima najmanje memorije i prikladan je za rad s malim brojevima (od -128 do 127). Kratki i dugi tipovi imaju 2 i 8 bajta.

Dvostruki tip pogodan je za stvarne brojeve.

Realni (stvarni) brojevi (ili brojevi s pomičnim zarezom) predstavljeni su s dvije vrste: float i double. Float tip zauzima 4 bajta memorije i ne daje visok stupanj preciznosti pri radu s vrlo velikim ili vrlo malim brojevima. Preporuča se koristiti ga kad je potreban razlomljeni dio, ali nije potrebna velika točnost (na primjer, za mjerenje udaljenosti u metrima, ali uzimajući u obzir centimetre i milimetre, ili mjerenje cijena u rubljima, uzimajući u obzir kopejke). Ako su potrebni precizniji izračuni, preporuča se operirati s vrijednostima dvostrukog tipa (na primjer, takva varijabla može pohraniti vrijednost sinusa kuta).

Valjane literale kao što su 5.3, 8.0, 2e-3 Java smatra dvostrukim. Ako se u programu koriste kao float-ovi, moraju završiti slovom f: 5.3f, 8.0f, 2e-3f.

Vrsta char koristi se za spremanje pojedinačnih znakova. Java smatra da je to vrsta cijelog broja (budući da je svaki znak specificiran vlastitim kodom Unicode), pa se sve operacije cijelog broja primjenjuju na char.

Logičke vrijednosti (istinite ili lažne) predstavljene su logičkim tipom.

Dakle, Java definira osam jednostavnih tipova čija su obilježja predstavljena u stol:

Deklariranje varijabli

U Javi (kao i u mnogim drugim jezicima) morate je opisati prije upotrebe. Opisati varijablu znači dati joj ime i definirati njezin tip.

Prilikom deklariranja varijable prvo se označava tip (koji može biti jedan od jednostavnih tipova, naziv klase ili sučelja), zatim naziv varijable. Ako je potrebna varijabla inicijalizirati(dodijelite početnu vrijednost), početna vrijednost je navedena iza imena kroz znak jednakosti. Još nekoliko varijabli istog tipa može se proglasiti odvojenim zarezima.

Primjeri deklaracija varijabli:

int x; // Deklarirati cjelobrojnu varijablu x dvostruko a, b; // Deklaracija dviju stvarnih varijabli a i b char slovo = "Z"; // Deklarira slovo varijable znaka, inicijalizirano početnom vrijednošću "Z" boolean b1 = true, b2, b3 = false; // Deklarirajte tri logičke varijable, prva od njih bit će točna, posljednja će biti lažna

Osnovne jezične operacije

Varijable i mogu sudjelovati (od kojih se, pak, mogu graditi složene). Razmotrimo najjednostavnije operacije Java jezik.

Matematičke operacije

Usporedne operacije, rezultat je logička vrijednost: true ili false

Logičke operacije

o Java operacijama

&& i || razlikuju se po tome što vrijednost drugog nije nužno izračunata. Na primjer, && procjenjuje vrijednost prvog operanda i, ako je netočno, odmah vraća false, dok || odmah vraća true ako vidi da je prvi operand istinit. Java ima slične operacije & i | , procjenjuju vrijednosti oba operanda prije nego što izvrše operaciju na njima.

Operacije smjene

(rad s bitnim prikazom prvog operanda)

Bitovne operacije

(rad s bitnim prikazom operanda)

Operacija ?:

Operacija?: Ternarna, odnosno ima tri operanda. Prvi operand je uvjet, logički izraz. Drugi i treći operand izrazi su bilo koje druge vrste. Operacija funkcionira na sljedeći način: ako je uvjet istinit, kao rezultat vraća svoj drugi operand, a ako je netočan, onda treći.

Na primjer, izraz (5> 3)? 7 + 1: 2 * 2 imat će vrijednost 8, ali izraz (5 == 3)? 7 + 1: 2 * 2 - vrijednost 4. Ova oznaka ne izgleda baš opisno, ali je programeri često koriste za skraćivanje koda. Dakle, umjesto niza naredbi:

ako je (x> 0) y = 45 + a * 2; // ako se dolje govori o izjavi inače y = 45 - b * 3;

možete napisati:

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

Operator dodjeljivanja

Nakon što je varijabla opisana, možete raditi s njom u programu. Konkretno, može mu se dodijeliti vrijednost odgovarajuće vrste. Zatim će se ubuduće, kada se koristi ova varijabla u bilo kojem izrazu, ova trenutna vrijednost automatski zamijeniti njome.

Vrijednost je pridružena varijabli pomoću dodjele. U Javi je napisano jednostavnim znakom jednakosti:

Varijabla = izraz;

Varijabla je uvijek navedena lijevo od operatora dodjeljivanja. s desne strane mora odgovarati varijabli prema vrsti. To može biti jednostavno (na primjer, broj ili simbol):

X = 7; // varijabli x dodjeljuje se vrijednost 7 slovo = "Q"; // slovo je postavljeno na "Q"

Općenito, izraz je nešto što se može izračunati (na primjer, rezultat matematičke operacije ili rezultat vraćen nekom metodom):

A = 7,5 + 2,4; // varijabli a dodjeljuje se 9.9 kao rezultat izračuna

Osim literala, u izrazu mogu sudjelovati i druge varijable. Zamjenjuje ih njihova trenutna vrijednost. Kao rezultat naredbe:

B = a + 1;

varijabla b bit će postavljena na 10.9.

Dakle, operator dodjeljivanja radi na sljedeći način. Prvo se izračuna vrijednost izraza na desnoj strani, a zatim se rezultat dodijeli varijabli navedenoj na lijevoj strani. Moguća je čak i sljedeća situacija:

X = x + 4;

Ova naredba povećava trenutnu vrijednost cjelobrojne varijable x za 4.

I sljedeće naredbe napisane su pogrešno i neće raditi:

5 = x + 7; // s lijeve strane treba postojati varijabla x + 3 = 14; // s lijeve strane trebala bi biti samo jedna varijabla x = 4,5; // varijabla x može poprimiti samo cijele vrijednosti

Eclipse će pokušati prikazati pogrešku u ovim redovima prije izvođenja programa postavljanjem znakova upozorenja na marginu uređivača koda. Možete vidjeti kako mu to uspijeva.

o lijevanju tipa

Kada se varijabli jedne vrste dodijeli vrijednost druge vrste, ona se koristi lijevanje (pretvaranje) vrsta... Za numeričke tipove (byte, short, int, long, float, double, char) to se događa automatski ako tip promjenjive varijable može "prilagoditi" vrijednost druge vrste.

Na primjer, ako se varijabli tipa int dodijeli vrijednost tipa bajta, automatski će se dogoditi pretvorba iz tipa bajta u tip int. Slično, tip plovka može se prebaciti na dvostruki tip itd.

Ako pokušate dodijeliti varijablu manje preciznog tipa (na primjer, bajt) vrijednosti preciznijeg tipa (na primjer, int), prevoditelj će generirati poruku o pogrešci.

Za lijevanje vrsta možete koristiti cast operator- prije izraza za koji želimo izvršiti pretvorbu tipa, unutar zagrada se stavljaju zagrade s vrstom u koju se vrši pretvorba. Prilikom lijevanja cjelovitog tipa veće preciznosti na cijeli broj niže preciznosti, modularna podjela može se izvesti prema dopuštenom rasponu tipa na koji se izvodi lijevanje, a pri lijevanju dvostrukog izraza u float izraz, preciznost izraza će biti smanjen.

dugo j = (dugo) 1,0; // koristiti operator casting za long, j = 1 char ch = (char) 1001; // koristiti operator casting za char, ch = "d" bajt b2 = (bajt) (100); // koristimo operator bacanja od int do bajta, b2 = 100 bajt b3 = (bajt) (100 * 2); //Pažnja! dolazi do podjele po modulu, b3 = -56

Pogreška neusklađenosti tipa često se javlja kod valjanih literala. Na primjer, ne možete izvršiti dodjelu a = 7,5 + 2,4; ako je varijabla a tipa float, budući da se literali 7.5 i 2.4 smatraju tipom double. Da biste izbjegli pogrešku, potrebno je koristiti typecasting:

A = (plutajući) (7,5 + 2,4);

ili da označite da su i literali plutajući:

A = 7,5f + 2,4f; // ovo je također valjana naredba

Gotovo svaka binarna operacija ima svoju vrstu operatora dodjeljivanja. Na primjer, za operator zbrajanja +, postoji operator unarnog dodjeljivanja + =, koji povećava vrijednost operanda za zadani iznos:

X + = 8; // isto kao x = x + 8 (x se povećava za 8)

Slično za ostale operacije: operatori * =, - =, / =,% =, & = ^ = itd:

X * = 3; // isto kao x = x * 3 (x se povećava 3 puta) b1 ^ = b2; // isto što i b1 = b1 ^ b2

Vježba 1

Deklarirajte dvije cjelobrojne varijable, dodijelite im bilo koje vrijednosti. Ispišite njihov zbroj i proizvod.

Potaknuti: možete koristiti već stvoreni projekt u Eclipseu lijepljenjem potrebne naredbe nakon naredbe za izlaz reda "Hello, world!" ili umjesto njega.

Operatori povećanja i smanjivanja

o operaterima prirasta i smanjivanja

Operatori povećanja i umanjivanja ++ i –– povećavaju i umanjuju vrijednost operanda za jedan. Mnogo je prikladnije koristiti naredbu x ++; umjesto naredbe x = x + 1;

Operatori povećanja i smanjivanja također vraćaju vrijednost. To znači da je izvršavanje naredbe legalno

Y = 7 * x ++;

Kao rezultat toga, varijabla x će se povećati za 1, a varijabla y će poprimiti vrijednost sedam puta staru vrijednost x. Također možete pokrenuti ovu naredbu:

Y = 7 * ++ x;

Kao rezultat toga, varijabla x će se povećati za 1, a varijabla y će poprimiti vrijednost sedam puta veću od nove vrijednosti x.

Uvjetna if naredba

Najjednostavniji oblik pisanja uvjetnog operatora je:

naredba if (uvjet)

Uvjet u zagradama je logički izraz, tj. može biti istinito ili lažno. Ako je uvjet istinit, naredba će se izvršiti, u protivnom se ništa neće dogoditi. Na primjer:

if (x // ako je vrijednost varijable x manja od 17, dodijelite x 17

Ako je potrebno da se u slučaju kada je uvjet netočan izvrši neka druga naredba, upotrijebite prošireni oblik naredbe if:

if (uvjet) command1 else naredba2

o else if konstrukciji

U gornjem primjeru bismo varijablu x mogli dodijeliti 5 ako je uvjet x se ne izvršava (zašto nam treba, drugo pitanje).

ako (x inače x = 5;

Ako je potrebno koristiti nekoliko međusobno isključujućih uvjeta, oni se mogu napisati na sljedeći način:

if (condition1) command1 else if (condition2) command2 else if (uvjet3) naredba3 ... else naredbaN

Vježba 2

Deklarirajte dvije cjelobrojne varijable, dodijelite im bilo koje vrijednosti. Koristite if naredbu za pronalaženje i ispis maksimalnog broja njih.

Potaknuti: razmotren je algoritam za pronalaženje maksimuma pri ponavljanju osnovnih konstrukcija algoritma.

Složene naredbe

Više naredbi na Java jeziku može se kombinirati u jednu složenu naredbu pomoću kovrčavih zagrada (). Na primjer, možete napisati:

(a = 12; slovo = "D";)

Složene naredbe mogu se koristiti gdje god se nalaze redovne naredbe. Na primjer, u if naredbi, ako je potrebno ispuniti nekoliko radnji kada se ispuni uvjet:

if (x "S";) else (x = 5;)

Konstrukcija kovrčavih podupirača također se naziva blok naredbi a kovrčavi aparatići su blokirati granice.

Imajte na umu da je oznaka korištena u primjeru (kada su granice bloka postavljene u zasebne retke, a sadržaj bloka napisan uvučen od njegovih granica) nije obvezna. Ovo je samo pravilo stila kako bi programe učinili lakšim za razumijevanje i da vas ne zbune kovrčave zagrade koje se često koriste u Java programu.

o izjavi o izboru prekidača

Promijeni izjavu o odabiru

Često izbor naredbe koja će se izvršiti ovisi o vrijednosti neke varijable (ili izraza). Na primjer, od korisnika se traži da unese znak operacije, a ovisno o unesenom znaku, potrebno je prikazati rezultat zbrajanja, oduzimanja itd. ili, ako je unesen pogrešan znak, poruka o pogrešci. U ovom je slučaju prikladno koristiti izjavu o odabiru prekidača koja ima sljedeću oznaku:

switch (izraz) (case value1: naredbeni niz 1 break; case value2: naredbeni niz 2 break; ... zadano: zadani naredbeni slijed)

Vrijednost 1, vrijednost 2 itd. su konstante ili izrazi koji uključuju samo konstante. Izraz u zagradama iza ključna riječ prekidač može sadržavati varijable. Ovaj izraz se procjenjuje, a zatim se rezultat podudara s jednom od vrijednosti iza ključne riječi case. Ako se pronađe takvo podudaranje, izvršava se cijeli niz naredbi koje se nalaze između dvotočke i najbliže naredbe break. Ako se ne pronađe podudaranje, izvršava se zadani slijed naredbi koje slijede zadanu ključnu riječ. Na primjer:

char oper; // Znak operacije, korisnik će ga izabrati ... // Pretpostavimo da je do ovog trenutka korisnik odabrao znak switch (oper) (case " +": System.out.println (a + b); break; case " -": System.out.println (a - b); break; case "*": System.out. println (a * b); break; zadano: System.out.println ( "Nevažeći znak transakcije"); }

Zadani odjeljak možete izostaviti. U tom slučaju, ako se ne pronađe podudaranje, neće se izvršiti niti jedna naredba.

Izjava while petlje

Dok petlja ima sljedeći oblik:

dok naredba (uvjet)

Ako je uvjet u zagradama (koji je logički izraz) istinit, naredba će se izvršiti - tijelo petlje(to može biti jednostavna naredba ili slijed naredbi u zagradama), nakon čega će se program ponovno vratiti na izvršavanje ove naredbe i ponavljat će to sve dok se uvjet ne pokaže lažnim.

Stoga, kako program ne bi ušao u beskonačnu petlju i ne visio, tijelo petlje mora osigurati izlaznu opciju, odnosno, na primjer, naredbe u tijelu petlje moraju na neki način utjecati na varijable uključene u uvjet.

Na primjer, sljedeći isječak koda ispisuje parne brojeve od 2 do 10:

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

oko while petlje s postuslovom

Postoji još jedan način da napišete while petlju:

do naredba while (uvjet)

Prilikom korištenja ove opcije prvo se izvršava naredba, a zatim se provjerava stanje. Obje opcije rade na isti način, ali u drugom slučaju tijelo petlje (naredba) će se izvršiti barem jednom, čak i ako je uvjet u početku netočan.

Vježba # 3

Koristite while petlju za ispis svih neparnih brojeva od 1 do 10.

Potaknuti: malo promijeniti algoritam za ispisivanje parnih brojeva.

Za operator petlje

For petlja se obično koristi kada se unaprijed zna koliko puta treba ponoviti izvršavanje naredbe (ili slijed naredbi). Ima sljedeći oblik:

for (naredba init; uvjet; naredba skoka) loop-body

Prije početka ciklusa izvršava se naredba inicijalizacije. Zatim se provjerava uvjet skoka (koji je logički izraz). Ako je ovaj uvjet istinit, izvršava se naredba (ili blok naredbi u uvijenim zagradama) koja čini tijelo petlje. Zatim se izvršava naredba jump i sve počinje ispočetka. Uputa za preskakanje obično mijenja varijablu koja utječe na istinitost uvjeta, a instrukcija za inicijalizaciju je opis ove varijable.

Obično se for petlja koristi ovako:

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

U ovom primjeru, loop_body će se izvesti točno 10 puta. U tom slučaju, pri svakoj iteraciji bit će dostupna varijabla i (naziva se varijabla petlje), koja se sekvencijalno provlači kroz vrijednosti od 1 do 10. Sljedeći fragment programa daje parne brojeve od 2 do 10 (slično kao primjer petlje):

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

Vježba 4

Pomoću petlje for ispišite sve neparne brojeve od 1 do 10.

Prekini i nastavi izjave

Kad se tijelo petlje (za ili dok) sastoji od nekoliko naredbi, može doći do situacije da nema potrebe za izvršavanjem svih njih na sljedećoj iteraciji. U ovom slučaju izjave break i continue su korisne.

Naredba break prekida izvršavanje trenutne petlje, bez obzira na to je li ispunjen njezin uvjet prekida.

Naredba continue završava izvršavanje trenutne iteracije petlje. Odnosno, ako se ovaj operator nađe u tijelu petlje, tada se preskaču ostatak sljedećih naredbi i započinje nova iteracija (ponavljanje) petlje.

Zaključak

Unatoč činjenici da je materijal prve lekcije prilično opsežan, ne bi trebao uzrokovati poteškoće učenicima koji su već upoznati s barem jednim programskim jezikom, budući da su konstrukcije na svim jezicima iste i samo trebate savladati pravila za njihovo pisanje (sintaksa). Ako je poznavanje drugih programskih jezika bilo loše, potrebno je naporno raditi na priručniku i riješiti dodatne probleme. Najbolja opcija u ovom slučaju je da prije sljedeće lekcije pročitate preporučena poglavlja iz predložene literature.

dodatnu literaturu

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

2. Khabibullin I.Š. Java Self Tutorial 2. (Poglavlje 1)

Obratite posebnu pozornost na Java tipove podataka i pravila lijevanja koja nisu detaljno obrađena u ovom vodiču. Profesionalni programer trebao bi u svojim programima uvijek kontrolirati mogućnost varijabilne vrijednosti koja prelazi raspon dopušten za njezin tip. Pogreške u tipkanju jedna su od najčešćih i teško ih je otkriti. Poglavlja 4 i 7 prve knjige toplo se preporučuju za čitanje svim učenicima koji se prijavljuju za izvrsnu ocjenu.

JSP stranice imaju kombiniranu sintaksu: kombinacija standardne sintakse koja je usklađena sa specifikacijom HTML -a i JSP sintakse definirane specifikacijom Java Server Pages. JSP sintaksa definira pravila za pisanje JSP stranica koja se sastoje od standardnih HTML oznaka i JSP oznaka. JSP stranice, osim HTML oznaka, sadrže JSP oznake sljedećih kategorija:

JSP direktive

Direktive pružiti globalne informacije o posebnim zahtjevima JSP -u i pružiti informacije potrebne tijekom faze prevođenja.

Direktive uvijek se stavljaju na početak stranice JSP -a prije svih ostalih oznaka, tako da parser(parser) JSP je prilikom raščlanjivanja teksta na samom početku istaknuo globalne upute. Dakle, JSP Engine (JSP runtime) raščlanjuje kôd i stvara servlet od JSP -a. Direktive su poruke u JSP spremnik. Sintaksa direktivama JSP izgleda ovako:

<%@ директива имяАтрибута="значение" %>Sintaksa zadatka direktivama u XML -u: Direktiva može imati više atributa. U ovom slučaju direktiva može se ponoviti za svaki od atributa. Istodobno, parovi "Naziv atributa = vrijednost" može se staviti pod jednu direktivu s razmakom kao separatorom. Postoje tri vrste direktiva:

  • stranica (stranica)
  • taglib (biblioteka oznaka)
  • uključi (uključi)

Direktiva o stranici

Direktiva stranica definira svojstva JSP stranice koja utječu na prevoditelja. Redoslijed atributa u direktivi stranica nije važno. Kršenje sintakse ili prisutnost neprepoznatih atributa dovodi do pogreške u prijevodu. Primjer direktive stranica sljedeći kôd može poslužiti:<%@ page buffer="none" isThreadSafe="yes" errorPage="/error.jsp" %>Ova direktiva izjavljuje da ova JSP stranica ne koristi spremanje u međuspremnik, da je moguće da više korisnika istovremeno pristupi ovoj JSP stranici i da je stranica s pogreškom pod nazivom error.jsp.
Direktiva stranica može sadržavati podatke o stranici:<%@ page info = "JSP Sample 1" %>Popis mogućih atributa direktive stranica predstavljene u tablici.
Naziv atributaZnačenje Opis
Jezik Crta Određuje jezik koji se koristi u skriptama datoteka JSP, izrazima ili bilo kojoj datoteci za uključivanje, uključujući tijelo prevedenog koda. Zadano je "java"
produžava Crta Određuje nadklasu za generirani servlet. Ovaj atribut treba koristiti s velikom pažnjom jer je moguće da poslužitelj već koristi superklasu.
uvoz Crta Definicija paketa za uvoz, na primjer:
& lt% @ page import = "java.util. *%>
Sjednica istina ili laž Značenje pravi(zadano) označava da je unaprijed definirana varijabla sjednica(tip HttpSession) mora biti vezan uz postojeću sesiju, ako postoji, u protivnom se stvara nova sesija i veže se na nju. Značenje lažno određuje da se sesije neće koristiti i pokušava pristupiti varijabli sjednica rezultirat će pogreškom pri prevođenju JSP stranice u servlet
Pufer ništa ili veličina međuspremnika u kB. Postavlja veličinu međuspremnika za JspWriter. Zadana vrijednost ovisi o postavkama poslužitelja i ne smije prelaziti 8 kB. Ako je vrijednost nijedan izlaz ide izravno na objekt
autoFlush istina ili laž Određuje treba li se međuspremnik automatski isprazniti pri prelijevanju ili grešci. Zadana vrijednost pravi
isThreadSafe istina ili laž Značenje pravi(zadano) navodi normalni način izvođenja servleta, gdje se više zahtjeva istovremeno obrađuje pomoću jedne instance servleta, pod pretpostavkom da je autor sinkronizirao pristup varijablama te instance. Lažna vrijednost signalizira da bi servlet trebao naslijediti SingleThreadModel(jednonavojni model) gdje sekvencijalnim ili istodobnim zahtjevima upravljaju zasebne instance servleta
info Crta Definira niz podataka o JSP stranici kojima će se pristupiti pomoću metode Servlet.getServletInfo ()
errorPage Crta Vrijednost atributa je URL stranice koji bi se trebao prikazati u slučaju mogućih pogrešaka koje uzrokuju iznimke
isErrorPage istina ili laž Signalizira može li se ova stranica koristiti za rješavanje pogrešaka za druge JSP stranice. Zadano je lažno
contentType Crta Određuje kodiranje za JSP stranicu i odgovor, te MIME tip JSP odgovora. Zadana vrijednost vrste sadržaja je tekst / html, kodiranja - ISO-8859-1. Na primjer:
contentType = "text / html; charset = ISO-8859-1"
pageEncoding Crta Određuje kodiranje znakova JSP stranice. Zadano je charset iz atributa contentType ako je tamo definirano. Ako je vrijednost charset u atributu contentType nedefinirano, vrijednost pageEncoding postavljen je jednak ISO-8859-1

Taglib direktiva

Direktiva taglib izjavljuje da dana JSP stranica koristi biblioteku oznaka, jedinstveno je identificira pomoću URI -a i preslikava prefiks oznake s kojim se knjižnica može djelovati. Ako spremnik ne može pronaći biblioteku oznaka, dolazi do fatalne pogreške prijevoda. Direktiva taglib ima sljedeću sintaksu:<%@ taglib uri="URI uključene biblioteke oznaka"prefiks =" naziv prefiksa"%> Prefiks" naziv prefiksa"koristi se kada se poziva na knjižnicu. Primjer korištenja biblioteke oznaka mytags: <%@ taglib uri="http://www.taglib/mytags" prefix="customs" %> . . . U ovom primjeru knjižnica oznaka ima URI "http: //www.taglib/mytags", niz je dodijeljen kao prefiks običajima koji se koristi na JSP stranici pri pristupu elementima biblioteke oznaka.

Uključite direktivu

Direktiva uključuju omogućuje vam umetanje teksta ili koda tijekom prevođenja JSP stranice u servlet. Sintaksa direktive uključuju izgleda ovako:<%@ include file="Relativni URI stranice koji treba uključiti"%> Direktiva uključuju ima jedan atribut - datoteka... Uključuje tekst navedenog izvora u JSP datoteci. Ova se direktiva može koristiti za postavljanje standardnog zaglavlja autorskih prava na svaku stranicu JSP -a:<%@ include file="copyright.html" %>JSP spremnik pristupa datoteci include. Ako se datoteka uključivanja promijenila, spremnik može ponovno kompajlirati JSP stranicu. Direktiva uključuju tretira resurs, kao što je JSP stranica, kao statički objekt. Dati URI obično se tumači u odnosu na JSP stranice na kojoj se veza nalazi, ali kao i kod svakog drugog relativnog URI -a, sustavu možete reći položaj resursa od interesa u odnosu na početni direktorij WEB poslužitelja tako da stavljajući URI prefiks znakom "/". Sadržaj datoteke za uključivanje tretira se kao običan JSP tekst i stoga može uključivati ​​elemente kao što su statički HTML, elementi skripte, direktive i radnje. Mnoge web stranice koriste malu navigacijsku traku na svakoj stranici. Zbog problema s korištenjem HTML okvira, ovaj se zadatak često rješava postavljanjem male tablice na vrh ili u lijevu polovicu stranice, čiji se HTML kôd ponavlja mnogo puta za svaku stranicu web stranice. Direktiva uključuju- ovo je najprirodniji način rješavanja ovog problema, koji programera spašava od noćne more rutine kopiranja HTML -a u svaku zasebnu datoteku. Od direktive uključuju uključuje datoteke tijekom prijevoda stranice, a zatim nakon izmjena na navigacijskoj traci potrebno je ponovno prevođenje svih JSP stranica pomoću nje. Ako se priložene datoteke često mijenjaju, možete upotrijebiti radnju jsp: uključi koji povezuje datoteku prilikom pristupa JSP stranici.

JSP deklaracije

Izjave (Izjave) namijenjene su definiranju varijabli i metoda u skriptnom jeziku, koje se kasnije koriste na stranici JSP. Sintaksa deklaracije izgleda ovako:<%! код Java %> oglasi nalaze se u bloku deklaracije i pozivaju se u bloku izraza JSP stranice. Kôd u deklaracijskom bloku obično je napisan na Javi, ali aplikacijski poslužitelji mogu koristiti sintaksu drugih skripti. oglasi ponekad se koriste za dodavanje dodatne funkcionalnosti pri radu s dinamičkim podacima dobivenim iz svojstava JavaBeans komponenti. Primjeri oglasi predstavljeni su u tablici. Obavijest može sadržavati više redaka, primjerice u donjem kodu za izračunavanje vrijednosti funkcije činjenica (int n), što bi trebalo biti jednako 1 kada je n manje od 2 i n! s pozitivnom vrijednošću n;<%! public static int fact (int n) { if (n oglasi ne proizvode nikakav izlaz na standardni izlaz van... Varijable i metode deklarirane u najave se inicijaliziraju i stavljaju na raspolaganje skriptama i drugima oglasi u vrijeme inicijalizacije stranice JSP.

JSP skripte

Skripte uključuju različite dijelove koda napisane na skriptnom jeziku definiranom u direktivi Jezik... Isječci koda moraju biti u skladu sa sintaksičkim konstrukcijama jezika skripte, tj. obično sintaksu Java jezika. Skripte imaju sljedeću sintaksu:<% текст скриптлета %>Ekvivalent sintakse skripta za XML je: tekst skripte
Ako je u tekstu skripta potrebno je koristiti niz znakova%> točno kao kombinaciju znakova, a ne kao oznaku - znak kraja skripta, umjesto slijeda%>, koristite sljedeću kombinaciju znakova% \>.
JSP specifikacija daje jednostavan i jasan primjer skripta koji dinamički mijenja sadržaj JSP stranice tijekom dana.<% if (Calendar.getInstance ().get (Calendar.AM_PM) == Calendar.AM) {%>Dobro jutro<% } else { %>Dobar dan<% } %>Valja napomenuti da je kod unutra skripta umetnut kao zapisan i sav statični HTML tekst (tekst predloška) prije ili poslije skripta pretvara pomoću operatora ispisati... To znači da skripte ne moraju sadržavati dovršene Java komade i da komadići ostavljeni otvoreni mogu utjecati na statički HTML izvan skripta. Skripte imaju pristup istim automatski definiranim varijablama kao i izrazi. Stoga, na primjer, ako postoji potreba za prikazom bilo kojih podataka na stranici, morate koristiti varijablu van. <% String queryData = request.getQueryString (); out.println ("Дополнительные данные запроса: " + queryData); %>

JSP izrazi

Izraz na JSP stranici je izvršni izraz napisan na skriptnom jeziku navedenom u deklaraciji Jezik(obično Java). Proizlaziti izraze JSP potrebne vrste Niz, poslano na standardni izlaz van pomoću trenutnog objekta JspWriter... Ako je rezultat izraze ne može se baciti Niz, ili dolazi do pogreške u prijevodu ako je problem otkriven u fazi prevođenja, ili dolazi do iznimke ClassCastException ako je nedosljednost otkrivena tijekom izvršavanja zahtjeva. Izraz ima sljedeću sintaksu: & lt% = izraz teksta%> alternativna sintaksa za izraze JSP pri korištenju XML -a: izrazni tekstIzvršni nalog izraze na stranici JSP slijeva nadesno. Ako izraz pojavljuje se u više atributa za vrijeme izvođenja, a zatim se izvodi slijeva nadesno u toj oznaci. Izraz mora biti potpuni izraz u određenoj skripti (obično Java). Izrazi se izvode dok je HTTP protokol pokrenut. Vrijednost izraza pretvara se u niz i uključuje u odgovarajuće mjesto u JSP datoteci. Izrazi obično se koriste za izračunavanje i prikaz string prikaza varijabli i metoda definiranih u JSP bloku deklaracije stranica ili izvedenih iz JavaBeansa kojima je dostupan iz JSP -a. Sljedeći kod izraze služi za prikaz datuma i vremena zahtjeva za ovu stranicu: Trenutno vrijeme: & lt% = new java.util.Date ()%> Radi pojednostavljenja izraze postoji nekoliko unaprijed definiranih varijabli koje možete koristiti. Najčešće korištene varijable su:
  • zahtjev, HttpServletRequest;
  • odgovor, HttpServletResponse;
  • sesija, HttpSession - povezan sa zahtjevom, ako postoji;
  • izašao, PrintWriter - međuspremničku verziju tipa JspWriter za slanje podataka klijentu.