Počítače Okna Internet

Základní syntaxe Java. Hlavní operace jazyka. Podmíněný příkaz if

Účel, vlastnosti a výhody Eclipse

Eclipse je rozšiřitelné IDE (Integrated Development Environment). IDE je pohodlně organizovaná sada nástrojů potřebných pro práci na softwarovém projektu.

Eclipse je univerzální platforma, kterou lze použít k vývoji aplikací v jakémkoli programovacím jazyce (například můžete použít Python po instalaci připojení Pydev (), ale Java je nativní pro Eclipse (který je mimochodem napsán v Eclipse) .

K tomu slouží podmínky. K tomu musíme definovat náš příklad. Nakonec, tedy uzavřením složené závorky, nás kompilátor vrátí zpět na začátek smyčky. Kdybychom to neudělali, nikdy bychom do toho nevstoupili. To je v pořádku, protože před vstupem do smyčky kontrolujeme stav! Je to velmi jednoduché: pomocí smyčky!

Pozor, budeme muset resetovat proměnnou odezvy na. Zde je náš program jako celek. Můžete zkontrolovat tento kód: uvidíte, že pokud nezadáte správné písmeno, program vám položí otázku jako na následujícím obrázku! Buďte opatrní, abyste správně napsali své podmínky a obecně kontrolujte své proměnné během a ve všech vašich cyklech. Zkuste spustit předchozí program bez resetování proměnné odezvy a měli byste vidět výsledek! Tomu se říká „nekonečná smyčka“. Pokud spustíte tento program, uvidíte astronomický počet "kukač 1krát!".

Nejdůležitější vlastnosti Eclipse jsou:

  1. Víceplatformní. Eclipse běží na všech běžných platformách: Windows, Linux a MacOS X. Ještě důležitější je, že jeho funkčnost je na každé z těchto platforem stejná.
  2. Všestrannost a rozšiřitelnost. Eclipse poskytuje možnost používat různé nástroje třetích stran.
  3. Otevřenost a bezplatnost. Eclipse je projekt OpenSource (tj zdrojové kódy jsou dostupné komukoli a kdokoli se může zapojit do vývoje tohoto nástroje). Eclipse má aktivní komunitu, která neustále pracuje na vylepšování programu a rozšiřování jeho schopností.

Pracovní prostor Eclipse

První věc, kterou uvidíte, když spustíte Eclipse, je dialogové okno, které vám umožní vybrat, kde bude pracovní plocha umístěna. Pracovní prostor je adresář, do kterého bude uložena vaše práce.

Tím získáme následující obrázek. Tuto syntaxi můžete použít také. Je třeba poznamenat, že existuje jedna smyčka pro smyčku: dobře, s touto syntaxí má operátor inkrementace přednost před operátorem nerovnosti, tzn. smyčka zvyšuje hodnotu proměnné a a teprve poté, co to udělá, zkontroluje podmínku!

Ve skutečnosti tyto dvě smyčky nejsou sestřenice, ale sestry. Jejich práce je ve dvou částech totožná. To znamená, že testovací fáze podmínky se provede na konci, protože podmínka nastane po čase. Nezapomeňte však, jinak se program nezkompiluje. Kromě těchto dvou prvků fungují tyto panty úplně stejně.

Po výběru pracovního prostoru se na obrazovce zobrazí úvodní stránka s návrhy na zobrazení výukových programů, příkladů atd. Vyberte Workbench a dostanete se do okna pracovní prostředí (Workbench), ve kterém bude probíhat vaše další práce.

Hlavními součástmi pracovního prostoru jsou pohledy, editory a perspektivy.

Tento cyklus je trochu zvláštní, protože bere všechny své atributy ve svém stavu a podle toho se chová. Deklarováním proměnné před smyčkou, inicializací této proměnné a jejím zvýšením ve smyčce. To dává následující obrázek.

Pravděpodobně jste si všimli přítomnosti; Ve stavu oddělování polí. Nezapomeňte je, jinak se program nezkompiluje.

Můžeme také změnit hodnotu smyčky, to znamená, že místo začátku od 0 do 10 začneme od 10, dokud nedosáhneme 0. Získáme následující obrázek.

Máme počáteční číslo, podmínku, která musí být splněna, aby se cyklus znovu provedl, a instrukci. Všimněte si, že nám nic nebrání v hromadění deklarací, podmínek a instrukcí od konce cyklu. Smyčky umožňují provádět opakující se úkoly. ... Podobně jako u podmínek, pokud smyčka obsahuje více než jeden řádek kódu ke spuštění, musíte ji obklopit složenými závorkami, abyste jasně definovali začátek a konec smyčky.

Výkon Je malá sekce v pracovním prostoru, která se používá k procházení určitou kategorií objektů (jako jsou zdroje nebo balíčky), otevřených editorů a zobrazení vlastností aktivních editorů. Například zobrazení Navigátor zobrazuje projekty a další zdroje, zatímco zobrazení Záložky zobrazuje všechny záložky v pracovní ploše spolu s názvy souborů, ke kterým jsou tyto záložky přidruženy. Obrázek ukazuje pravý horní roh pracovní plochy s aktivním pohledem Obrys.

Chyba: velikost objektu můžete změřit jeho serializací do proudu bajtů a sledováním výsledné délky proudu. Důvod, proč to nefunguje, je ten, že rozvržení serializace je pouze vzdáleným odrazem skutečného rozvržení v paměti.

Na začátku všeho si však musíme položit základní otázku, jaký byl účel? Tento jazyk se zaměřuje především na. Pod tímto heslem je trvalý kód minimalizován. Jedná se o vlastní členy třídy, které nenačítají příliš mnoho kódu, ale jsou. Koneckonců, mohou být použity obecně. Příkladem takového nástroje může být Lombok. Zbytek kompilátoru poběží během fáze generování bajtkódu. Protože však v praxi není nic dokonalé, tak je na tom i Lombok. Posuneme-li se dále v pojetí jazyka, dostáváme se k noční můře programátora, tzv.

Jakékoli změny provedené v pohledech se okamžitě uloží.

Další typ vizuálních komponent Workbench - redakce, které se používají k zobrazení a úpravě nějakého zdroje (například kódu programu). Když vyberete zdroj, zobrazí se vhodný editor. Například otevřete libovolný textový dokument (s příponou .txt) pomocí příkazu Soubor -> Otevřít soubor ... a uvidíte vestavěný editor prostého textu. Pokud v tomto editoru něco napíšete, objeví se na jeho kartě, kde je napsán název souboru, hvězdička. To znamená, že editor obsahuje neuložené změny. Uloží se, pokud stisknete Ctrl + S nebo vyberete příkaz Soubor -> Uložit.

Zde ve skutečnosti Javan řekne: "Máme nepovinné." Není to nutně o moc přátelštější než kontrola null pokaždé, ale délka řádku roste rychlým tempem, což bohužel snižuje čitelnost kódu. Trvanlivost a interoperabilita. ... Tolik s marketingovými profesionály, přejděme k nevýhodám a tomu, jak to funguje v praxi.

Nová syntaxe vyvolává smíšené pocity. Při prvním pohledu na kód v bazénu mi bylo trochu nepříjemné. Syntaxe, která byla původně podle alespoň zvláštní připomínka malého návratu ke kořenům. V případě deklarací lze metody číst přehledně. Problém nastává, když použijeme tzv. Nelze zastírat, že podobně nekontrolovatelná je schopnost zpracovávat kontrolované výjimky, což výrazně zlepšuje čitelnost vašeho kódu.

Existuje mnoho užitečných pohledů, které můžete přidat do okna pracovního prostoru příkazem Okno -> Zobrazit pohled. Místo jejich přidávání po jednom je však pohodlnější přepnout perspektivu. Projekce(nebo perspektivní) Je sbírka pohledů a editorů speciálně přizpůsobených ke splnění úkolu. Po spuštění v Eclipse se otevře perspektiva Java, nakonfigurovaná pro vlastní psaní programu. Projekce Debug se často používá k ladění programu. Projekci můžete přepnout pomocí příkazu Okno -> Otevřít perspektivu. Název aktuální projekce se zobrazuje v pravém horním rohu pracovního prostředí (viz obrázek).

Deklarované třídy i výchozí proměnné jsou veřejné a konečné. Problém viditelnosti může být přepsán příslušným modifikátorem, zatímco poslední modifikátor je otevřený s modifikátorem. Podmíněný příkaz je projekt, který vám umožňuje zadat podmínku pro provedení konkrétní části kódu – kódu, který chcete spustit, pouze pokud jsou splněny určité podmínky. Obecná forma podmíněný operátor jak následuje.

Podmíněný výraz také umožňuje zadat alternativní kód, tedy kód, který se má provést, když podmínka není pravdivá. Například pro tohoto vydání zobrazí se následující metoda bez ohledu na to, zda se jedná o kladné číslo. Všimněte si, že stejného efektu lze dosáhnout například implementací výše uvedené metody zcela jiným způsobem.

První Java program

Než začnete programovat, musíte vytvořit projekt, ve kterém bude Eclipse ukládat všechny prostředky související s vaším programem.

Chcete-li vytvořit projekt, spusťte příkaz Soubor -> Nový -> Projekt. V okně, které se zobrazí, vyberte Java Project a klikněte na Další. Zadejte název projektu. Upozorňujeme, že v adresáři, který jste zadali jako pracovní prostor, se vytvoří složka s názvem vašeho projektu (pokud samozřejmě nezměníte nastavení v tomto okně, což neuděláme poprvé). Klepněte na tlačítko Dokončit.

Samozřejmě první forma. Nejen, že je písemně stručná, ale je také potenciálně rychlejší, protože v průměru existuje méně srovnání. V tomto případě můžeme vynechat složené závorky, které obsahují podmíněný kód. Od této přednášky začínáme studovat objektové programování na příkladu konkrétního programovacího jazyka. Všechny tyto vlastnosti ospravedlňují volbu jazyka jako nástroje pro demonstraci objektově orientovaných mechanismů. Je však třeba zdůraznit, že to není jediná možnost.

Možností je mnoho, tvůrci každé přednášky si musí vybrat. Pro lektory je důležité, aby neopomněli základní fakt: zvolený programovací jazyk je pouze nástrojem pro ukázku příkladů objektově orientovaného programování. Volba jazyka, i když je nezbytná, je druhotná. To se týká jak definice jazyka, tak popisu standardních knihoven. Samozřejmě je nebudeme v rámci naší přednášky probírat všechny, ale prostudujeme si příklady složité a komplexní hierarchie tříd.

Váš projekt je nyní přítomen v zobrazení PackageExplorer na levé straně pracovní plochy. Můžete jej kdykoli smazat kliknutím na jeho název klikněte pravým tlačítkem myši myši a výběrem Odstranit. Poté se Eclipse zeptá, zda má současně zničit složku se soubory projektu (v případě potřeby ji můžete také zničit).

Pokud jste projekt neodstranili, můžete do něj přidat soubory a složky pomocí příkazů kontextové nabídky Nový -> Soubor a Nový -> Složka resp. Pokud je projekt velký, potřebuje vnořenou strukturu složek. V případě Java projektu je to ale trochu jinak. Jde o to, že fragmenty Java programu jsou seskupeny do balíčky a pro každý balíček je vytvořena samostatná složka. Balíček se vytvoří příkazem Nový -> Balíček. Pro balíček je potřeba vymyslet i jméno. V důsledku toho se ve složce projektu vytvoří nová složka s tímto názvem. Můžeš zkontrolovat.

Chcete-li vytvořit grafiku uživatelská rozhraní vezmeme si například kolekce a streamy a třídy. Po těchto vysvětleních je čas začít! Další předpoklady návrhu se týkaly přenositelnosti programů. Efekt bude stejný. V objektově orientovaných jazycích se funkce definované ve třídách nazývají metody. Definice třídy začíná slovem třídy, kterému předcházejí další modifikátory přístupu. Projdeme si balíčky. Tento název metody není náhodný. Parametry metody jsou ve většině programovacích jazyků velmi silné.

Procházení zdrojů projektu může být snazší pomocí zobrazení Navigátor. Otevřete jej příkazem Okno -> Zobrazit pohled. Uvidíte, že kromě adresáře projektu a balíčku vytvořil Eclipse dva pomocné soubory, .classpath a .project. Lze je snadno otevřít v editoru, ale nyní nás nijak zvlášť nezajímají.

Java program se vždy skládá z jednoho nebo více třídy... Třídu můžete vytvořit pomocí příkazu Nová -> Třída v kontextová nabídka Zobrazení Navigátor (nebo Průzkumník balíčků, na tom nezáleží). Při vytváření třídy je potřeba vybrat balíček, ke kterému bude patřit (vyberte balíček, který jste právě vytvořili) a vymyslet pro něj název. Je běžnou praxí začínat názvy tříd velkým písmenem. Pokud toto pravidlo dobré formy nedodržíte, Eclipse vydá varování, ale nic špatného se nestane.

Je uvedena posloupnost deklarací jednotlivých parametrů a jednotlivé deklarace jsou odděleny oddělovačem. Každá deklarace specifikuje název a typ parametru. Před typem metody jsou uvedeny další specifikátory. Statické klíčové slovo znamená, že jde o metodu třídy, tzn. volání, které nepotřebuje kopii objektu této třídy. Jak již bylo zmíněno dříve, třída odpovídá typu a hodnoty třídy - instance tohoto typu jsou objekty. Obvykle voláme metody na objektech, ale můžete také volat metody na třídě.

To je důležité zejména v našem programu, kde jsme nevytvořili žádný objekt. Tato třída shromažďovala základní operace a objekty spojené se standardním vstupem a výstupem a operačním systémem, ve kterém program běží. Kde komponenta může být atribut nebo metoda. V druhém případě uvádíme seznam jeho parametrů uzavřený v závorkách. Samozřejmě můžeme dodatečně odkazovat na atributy atributu nebo výsledku metody například zápisem.

Pro naše účely je užitečné zaškrtnout políčko pod "Jaké metody chcete ve své třídě vytvořit?" opačná možnost public static void main (string args)... V důsledku toho se v těle třídy vygeneruje metoda (funkce) main (). Java vyžaduje, aby alespoň jedna z tříd programu měla metodu s takovou hlavičkou. Je to on, kdo bude proveden při spuštění programu.

Stejná syntaxe se používá při popisu atributů a metod třídy. Jednořádkové komentáře začínají dvěma lomítky a končí na konci řádku. Víceřádkový komentář se samozřejmě vejde celý na jeden řádek a na jeden řádek může být dokonce několik takových komentářů.

Víceřádkové komentáře nelze vnořit. Nebudeme zde zacházet do podrobností a pošleme více čtenářů, kteří mají zájem, do jazykové zprávy. Shrňme si jen nejdůležitější lexikální prvky. Otázka oprávněnosti používání identifikátorů zapsaných pomocí státní symboly, tj. není v angličtině, vyvolává spoustu kontroverzí. Autor tohoto textu, hodnotící další argumenty týkající se např. práce v mezinárodních týmech, vyjadřuje radost v souvislosti s tím, že při řešení na Jávě lze problém vlka, kozy a zelí nazvat variabilní lodí namísto člun nebo člun.

V důsledku našich akcí se ve složce balíčku vytvoří soubor s názvem naší třídy a příponou .java. Eclipse otevře editor kódu, který zobrazí obsah tohoto souboru. Bude to něco jako následující (názvy balíčků a tříd se samozřejmě mohou lišit):

balíček mainPack; public class MyClass (/ ** * @param args * / public static void main (String args) ())

Místo automaticky generovaného komentáře lze psát příkazy, které tvoří tělo funkce // TODO Automaticky generovaný útržek metody... Napíšeme pouze jeden příkaz, který vypíše na obrazovku klasický řádek „Ahoj, světe!“:

To znamená, že každá proměnná, atribut nebo parametr má deklarovaný typ. Kompilátor vyjmenuje typy všech výrazů v programu a ověří, že všechny operátory a metody jsou použity v souladu s jejich deklaracemi, tedy argumenty příslušných typů. Primární typy, referenční typy. ... Primární typy jsou skupinou osmi typů, které obsahují jednoduché hodnoty.

Typy odkazů spadají do následujících kategorií. Typy tříd, typy rozhraní, typy polí. ... Typy odkazů jsou odkazy na objekty nebo null. Protože nemá žádné jméno, nemůžete ani deklarovat proměnnou tohoto typu. Tuto hodnotu lze přiřadit libovolnému typu reference, takže si můžete myslet nulové hodnoty jako hodnoty pro každý typ reference a nemusíte se starat o existenci typu. Proměnné se nazývají kontejnery pro jednotlivé hodnoty typu, se kterým byly deklarovány.

System.out.println ("Ahoj, světe!");

Zbývá spustit program. Chcete-li to provést, spusťte příkaz Spustit -> Spustit a zobrazte dialogové okno s netriviálním nastavením spouštění. Na levé straně tohoto okna vyberte Java Application ( Java aplikace). Po krátkém přemýšlení Eclipse najde naši třídu obsahující metodu main () a nabídne spuštění programu z ní (v pravé části okna by se na záložce Hlavní měly objevit názvy našeho projektu a naší třídy). Kromě toho je programátorovi nabídnuto několik dalších karet. Například na druhém z nich - Argumenty - je navrženo zadání parametrů příkazový řádek(pokud je program navržen pro volání z příkazového řádku s parametry). Pro náš jednoduchý program nemusíte nic dalšího zadávat. Stačí kliknout na tlačítko Spustit.

Existuje sedm typů proměnných. Třídní proměnné, kopírovací proměnné, lokální proměnné, prvky pole, parametry metody, parametry konstruktoru, parametry zpracování výjimek. Každá proměnná musí být deklarována. Každá proměnná je spojena se svým typem deklarovaným v deklaraci proměnné. Tento typ používá kompilátor ke kontrole operací s proměnnými. Pokud kompilátor zjistí, že program používá proměnnou, která neodpovídá jeho typu, bude program odmítnut jako neplatný.

V důsledku toho bylo mnoho chyb v programech zjištěno již ve fázi kompilace. Logické chyby samozřejmě kompilátor nedokáže odhalit. U parametrů je zachování tohoto požadavku zřejmé. U ostatních čtyř typů proměnných je to obtížnější.

Výsledkem práce programu je výstup dat do tzv. konzole. PROTI operační systém Konzole MS DOS byla celá obrazovka monitoru. Eclipse nám otevře pohled Console, ve kterém (pokud je vše provedeno správně) je řádek "Ahoj, světe!" je výstupem našeho programu.

Nyní pro restart programu (pokud jsme se například rozhodli v něm provést nějaké změny nebo jej potřebovali ukázat učiteli), můžete jít jednodušší cestou - spustit příkaz Spustit -> Spustit naposledy spuštěno (spustit předchozí aplikaci znovu) nebo stačí stisknout Ctrl + F11.

Základy syntaxe Java

Definice

Operand je hodnota zapojená do operace.

Metoda (funkce) je část programu, která má své jméno. Tento název lze použít jako příkaz v programu (takový příkaz se nazývá volání metody). Když je zavolána metoda, provedou se příkazy, ze kterých se skládá. Metoda, podobná operaci, může vrátit výslednou hodnotu.

Výraz je posloupnost operací a volání metod prováděných v určitém pořadí (podle priority operací, s přihlédnutím k závorkám), která dává při výpočtu určitou hodnotu.

Proměnná je pojmenovaná oblast paměti počítače, do které může program ukládat data určitého typu (tzv proměnná hodnota) a přistupovat k těmto údajům pomocí názvu proměnné.

Program a koncepty algoritmů (opakování)

Schůzka jakákoli počítačový program- transformace vstupních dat na výstupní data. Algoritmus programu určuje, jak jsou vstupní data převedena na výstupní data.


Vstupní data mohou pocházet z různých zdrojů. Ve vzdělávacích projektech se tyto údaje zadávají nejčastěji za běhu programu pomocí klávesnice a myši. V reálných programech je lze získat i ze souborů, databází, sítí, přímo z různých senzorů atp.

Výstupní data (výsledek práce programu) se nejčastěji zobrazují na obrazovce, ale lze je také uložit do souboru nebo databáze, odeslat do sítě. Vestavěné programy generují jako výstup speciální escape sekvence, které způsobí, že zařízení, ke kterému je program přidružen, provede nějakou akci.

Začít psát program MUSÍTE ROZUMÍT:

  1. K čemu tento program vůbec je (co dělá, obecně řečeno)?
  2. Jaká vstupní data má tento program (a odkud pocházejí)?
  3. Jaký je výstup tohoto programu (a kam jej poslat)?
  4. Jak by měl být vstup převeden na výstup (algoritmus)? Toto je nejtěžší část programátorského uvažování, ale zatímco na tři předchozí otázky neexistuje odpověď, nemá smysl s tím začínat.

Při psaní jednoduchého programu potřebujete:

  1. Získejte vstup.
  2. Implementujte algoritmus pro převod vstupních dat na výstupy.
  3. Výstup výsledku práce programu (výstupní data): zobrazení, odeslání po síti atd.

Při práci se složitými softwarovými projekty je nutné provést podrobnou analýzu požadavků na program (k čemuž možná budete muset hodně komunikovat se zákazníkem), provést návrh (určit, z jakých částí se bude program skládat, jak tyto části se budou vzájemně ovlivňovat, zobrazovat různé aspekty struktury a chování programu ve formě diagramů atd.). Ale v každém případě začněte programovat bez pochopení vstupních a výstupních dat a bez pochopení obecně podstaty algoritmu nesmyslné... A přemýšlejte alespoň obecně o podstatě algoritmu, aniž byste znali vstupní a výstupní data nemožné.

Cvičení proto vždy začínejte definováním vstupů a výstupů. Pokud máte v této záležitosti nějaké potíže - kontaktujte svého učitele.

Literatura k tématu:

Konstrukce základních algoritmů (opakování)

Pozornost! V této fázi školení byste již měli mít znalosti o tomto tématu. Pokud tam nejsou a materiály pro opakování jsou nesrozumitelné nebo nedostatečné, s úkoly si neporadíte! Je naléhavé nahlédnout do literatury na toto téma.

Algoritmus je tedy posloupnost akcí pro transformaci vstupních dat na výstup.

Algoritmus lze napsat třemi hlavními způsoby:

Jednotlivé kroky algoritmu (bez ohledu na to, jak je napsán) ​​jsou vzájemně propojeny pomocí tří standardních konstrukcí, které jsou implementovány v naprosto všech programovacích jazycích:

    Sekvenční provádění. Kroky se provádějí jeden po druhém.

    Větvení. V závislosti na splnění určité podmínky (v uvažovaném příkladu je to x> y?) se provádí ta či ona větev programu.

    Cykly. Posloupnost kroků programu se provádí několikrát. Ve skutečnosti je smyčka založena na větvení (kontroluje se podmínka pro opuštění smyčky), ale pokud tato podmínka není splněna, řízení se přenese na začátek smyčky (zpět na již dokončený krok).

Zvažte problém: zobrazte všechna sudá čísla menší než 10. Pro tento problém můžete použít algoritmus založený na sekvenčních krocích a algoritmus, který používá smyčku. Diagramy pro obě možnosti jsou zobrazeny na obrázku:

První diagram vypadá přehledněji, ale v případě, kdy je nutné zobrazit ne 5 čísel, ale 100, se diagram (a program odpovídající tomuto algoritmu) zvětší 20krát a v programu odpovídajícímu druhému algoritmu se pouze jedno místo se změní: 10 se změní na 100 Proto jsou opakující se akce navrženy ve formě cyklů, i když v mnoha případech je lze obejít.

Pamatujte: Algoritmus by měl být sestaven pouze ze tří pojmenovaných konstrukcí!

Literatura k tématu:

1. Školní učebnice informatiky.

Základy základů syntaxe Java

  1. Jazyk Java rozlišuje velká a malá písmena. To znamená, že názvy všech funkcí a klíčových slov by měly být napsány přesně tak, jak jsou uvedeny v příkladech a referenčních knihách.
  2. Každý příkaz (operátor) v jazyce Java musí končit středníkem.
  3. Java program se skládá z jednoho nebo více třídy... Měla by být umístěna absolutně celá funkční část programu (tedy to, co dělá). metody určité třídy. (Třída a metoda, jako koncept objektově orientovaného programování, budou popsány v lekci 3. Syntaxe tříd bude také probrána. V prvních cvičeních použijte třídy, které Eclipse standardně generuje.)
  4. Třídy jsou seskupeny do balíčků.
  5. Alespoň jedna z tříd musí mít metodu main (), přesně stejnou jako v příkladu, který jsme uvažovali. (Zpočátku není nutné rozumět nebo se snažit zapamatovat si správný pravopis této metody - Eclipse si vše vygeneruje sám, pokud zaškrtnete potřebné políčko.) Tato metoda bude provedena jako první.

V nejjednodušším případě se program může skládat z jednoho (nebo dokonce žádného) balíčku, jedné třídy v balíčku a jedné hlavní () metody v rámci třídy. Příkazy programu se budou psát mezi řádky

public static void main (String args) (

a uzavírací složená závorka) označující konec těla způsobu. Tento přístup je třeba dodržovat při provádění nejjednodušších cvičení.

Komentáře (1)

Komentáře jsou vysvětlující štítky, které programátoři používají ke zlepšení srozumitelnosti kódu. Při kompilaci programu jsou komentáře ignorovány, takže do nich lze napsat cokoliv. Hlavní věcí je ukázat, že tento nápis je komentář a neměl by být interpretován jako příkazy programu. V Javě se to dělá jedním z následujících způsobů:

  1. Jsou vložena dvě lomítka //. Od této chvíle až do konce řádku můžete psát, co chcete - Java to bude považovat za komentář.
  2. Na začátek komentáře jsou umístěny znaky / * a na konec - * /. V tomto případě může komentář obsahovat libovolný počet řádků.
  3. Zvýraznit komentáře k dokumentaci které jsou umístěny mezi značky / ** a * /. O jejich použití bude řeč později.

Pravidla doslovného psaní

o různých formách psaní literálů

Celá čísla (celočíselné literály) v Javě lze zapsat obvyklým způsobem v desítkovém tvaru: 12345, +4, -11.

Kromě toho můžete psát celá čísla v osmičkovém tvaru počínaje nulou (0777, -056) a v hexadecimálním tvaru počínaje nulou a latinským písmenem x (0xFFFF, 0x14, 0xA1BC).

Platné literály se zapisují v desítkové soustavě, přičemž celá část je oddělena od desetinné čárky.

Lze napsat skutečné číslo plovoucí bod, například: 5.4e19, 17E-11, -123e + 4. Část čísla, která je před písmenem e, se nazývá mantisa a část, která následuje za písmenem e, se nazývá objednávka. Zápis znamená následující: musíte zvýšit 10 na mocninu řádu a vynásobit mantisou. Někdy je skutečně pohodlnější napsat 1e-9 než 0,000000001.

Jednotlivé znaky se píší v apostrofech, například „a“, „D“, „@“.

Existují některé speciální a řídicí znaky, které jsou zapsány pomocí speciální sekvence escape. Nejběžnější jsou uvedeny v tabulce:

Únikové sekvence jsou také uzavřeny v apostrofech.

První řádek tabulky říká, že libovolný znak lze specifikovat pomocí jeho kódu (s desítkovým kódováním od 0 do 255) napsáním tohoto kódu v osmičkové soustavě. Například písmeno "g" v kódování CP1251 bude zapsáno s escape sekvencí "\ 346"

V případě potřeby můžete zadat kód libovolného znaku v Unicode kódování- za zpětným lomítkem a latinským písmenem u - ve čtyřech hexadecimálních znacích. Například „\ u0055“ je písmeno U.

Řetězce znaků jsou uzavřeny v uvozovkách. Úvodní a závěrečné uvozovky musí být na stejném řádku kódu.

Pro řetězce je definována operace zřetězení +, která umožňuje shromáždit více řetězců do jednoho ("přiřadit" je k sobě).

Pokud je řetězcová konstanta příliš dlouhá a špatně čitelná programový kód když to píšete na jeden řádek, můžete to napsat na několik řádků a zřetězit je pomocí operace zřetězení řetězců. Například:

"Toto je velmi dlouhá řetězcová konstanta zapsaná" + "na dvou řádcích zdroje"

Řídicí znaky a kódy se zapisují do řetězce přesně stejným způsobem jako obrácené lomítko(ale žádné apostrofy).

Booleovské literály jsou pravdivé a nepravdivé.

Identifikátory

o pravidlech dobrého stylu

Při programování je neustále potřeba vymýšlet identifikátory pro pojmenování objektů.

Identifikátor se může skládat z písmen, číslic, podtržítka _ a znaku dolaru $ (to druhé se nedoporučuje, Java jej používá pro vlastní potřebu). Identifikátor nemůže začínat číslicí. Klíčová slova Java (ani literály pravda, nepravda a nula).

Jak je uvedeno výše, jazyk Java rozlišuje mezi jednoduchými a malými písmeny... To znamená, že myAge, myage a MyAge jsou názvy zcela odlišných objektů. Buďte opatrní: chyba registru je velmi častý případ!

Názvy tříd začínají velkým písmenem, pokud se název skládá z více slov, pak každé slovo začíná velkým písmenem. Například: MyClass, Book.

Názvy metod a proměnných začínají malými písmeny (malými písmeny); pokud název obsahuje několik slov, každé další slovo začíná velkým písmenem. Například myVar, x, y, newBigCounter.

Konstantní jména jsou psána celá velká písmena; pokud název obsahuje více slov, umístí se mezi ně podtržítko. Například PI, COUNT_OF_MONTHS.

Používání těchto pokynů má mnoho výhod. Jedním z nich je, že budete přesně vědět, jak umístit velká a malá písmena při použití standardních Java knihovny, jejíž vývojáři se doporučení drželi.

Typy dat

o datových typech Java

Typ int se nejčastěji používá k ukládání celých čísel v Javě.

Obecně existují v jazyce Java čtyři typy celých čísel: byte, short, int, long. Liší se množstvím paměti, která bude pro proměnnou přidělena, a tedy rozsahem hodnot, které lze do této proměnné uložit. Nejčastěji používaný typ int zabírá 4 bajty v paměti a je vhodný pro ukládání čísel od -2147483648 do 2147483647. Typ byte zabírá nejméně paměti a je vhodný pro práci s malými čísly (od -128 do 127). Typy short a long jsou 2 a 8 bajtů.

Dvojitý typ je vhodný pro reálná čísla.

Reálná (reálná) čísla (neboli čísla s pohyblivou řádovou čárkou) jsou reprezentována dvěma typy: float a double. Typ float zabírá 4 bajty paměti a neposkytuje vysoký stupeň přesnosti při práci s velmi velkými nebo velmi malými čísly. Doporučuje se používat, když je potřeba zlomková část, ale není vyžadována vysoká přesnost (například pro měření vzdáleností v metrech, ale s přihlédnutím k centimetrům a milimetrům nebo měření cen v rublech s přihlédnutím k kopejkám). V případě potřeby přesnějších výpočtů se doporučuje pracovat s hodnotami typu double (taková proměnná může například uložit hodnotu sinusu úhlu).

Platné literály jako 5.3, 8.0, 2e-3 považuje Java za dvojité. Pokud mají být v programu použity jako plovoucí, musí končit písmenem f: 5.3f, 8.0f, 2e-3f.

Typ char se používá k ukládání jednotlivých znaků. Java to považuje za druh celočíselného typu (protože každý znak je specifikován svým vlastním kódem Unicode), takže všechny celočíselné operace platí pro char.

Booleovské hodnoty (buď true nebo false) jsou reprezentovány typem boolean.

Java tedy definuje osm jednoduchých typů, jejichž vlastnosti jsou prezentovány v stůl:

Deklarace proměnných

V Javě (stejně jako v mnoha jiných jazycích) ji musíte před použitím popsat. Popsat proměnnou znamená dát jí název a definovat její typ.

Při deklaraci proměnné je nejprve uveden typ (což může být jeden z jednoduchých typů, název třídy nebo rozhraní), poté název proměnné. Pokud je potřeba proměnná inicializovat(přiřadit počáteční hodnotu), počáteční hodnota je uvedena za jménem přes rovnítko. Několik dalších lze deklarovat oddělené čárkami proměnné z stejného typu.

Příklady deklarací proměnných:

int x; // Deklaruje celočíselnou proměnnou x dvojité a, b; // Deklarace dvou reálných proměnných a a b znakové písmeno = "Z"; // Deklarujte písmeno znakové proměnné, inicializované počáteční hodnotou "Z" boolean b1 = pravda, b2, b3 = nepravda; // Deklarujte tři booleovské proměnné, první z nich bude pravdivá, poslední bude nepravdivá

Základní operace s jazykem

Proměnné a mohou se na nich podílet (z nichž lze zase stavět složité). Podívejme se na nejjednodušší operace jazyk Java.

Matematické operace

Porovnávací operace, výsledkem je booleovská hodnota: true nebo false

Logické operace

o operacích Java

&& a || se liší v tom, že hodnota druhého nemusí být nutně vypočtena. Například && vyhodnotí hodnotu prvního operandu, a pokud je nepravdivý, okamžitě vrátí false, zatímco || okamžitě vrátí true, pokud vidí, že první operand je pravdivý. Java má podobné operace & a | , vyhodnotí hodnoty obou operandů před provedením operace s nimi.

Směnové operace

(pracujte s bitovou reprezentací prvního operandu)

Bitové operace

(práce s bitovou reprezentací operandů)

Úkon?:

Operace ?: ternární, to znamená, že má tři operandy. První operand je podmínka, booleovský výraz. Druhý a třetí operand jsou výrazy jakéhokoli jiného typu. Operace funguje následovně: pokud je podmínka pravdivá, vrátí jako výsledek svůj druhý operand, a pokud je nepravda, pak třetí.

Například výraz (5> 3)? 7 + 1: 2 * 2 by bylo 8, ale výraz (5 == 3)? 7 + 1: 2 * 2 - hodnota 4. Tento zápis nevypadá příliš popisně, ale programátoři ho často používají ke zkrácení kódu. Takže místo posloupnosti příkazů:

jestliže (x> 0) y = 45 + a * 2; // pokud je příkaz popsán níže jinak y = 45 - b * 3;

můžeš psát:

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

Operátor přiřazení

Po popisu proměnné s ní můžete v programu pracovat. Zejména mu lze přiřadit hodnotu příslušného typu. V budoucnu, při použití této proměnné v libovolném výrazu, bude tato aktuální hodnota automaticky nahrazena.

Hodnota je přidružena k proměnné pomocí přiřazení. V Javě se píše s jednoduchým rovnítkem:

Proměnná = výraz;

Nalevo od operátoru přiřazení je vždy proměnná. na pravé straně musí odpovídat proměnné podle typu. Může to být tak jednoduché jako (například číslo nebo symbol):

X = 7; // proměnné x je přiřazena hodnota 7 písmeno = "Q"; // písmeno je nastaveno na "Q"

Obecně je výraz něco, co lze vypočítat (například výsledek matematické operace nebo výsledek vrácený nějakou metodou):

A = 7,5 + 2,4; // proměnná a má přiřazeno 9.9 jako výsledek výpočtů

Kromě literálů se na výrazu mohou podílet i další proměnné. Jejich aktuální hodnota je nahrazena. V důsledku příkazu:

B = a + 1;

proměnná b bude nastavena na 10.9.

Operátor přiřazení tedy funguje následovně. Nejprve se vyhodnotí hodnota výrazu na pravé straně a poté se výsledek přiřadí proměnné zadané na levé straně. Je možná i následující situace:

X = x + 4;

Tento příkaz zvýší aktuální hodnotu celočíselné proměnné x o 4.

A následující příkazy nejsou napsány správně a nebudou fungovat:

5 = x + 7; // vlevo by měla být proměnná x + 3 = 14; // měla by být pouze jedna proměnná vlevo x = 4,5; // proměnná x může nabývat pouze celočíselné hodnoty

Eclipse se před spuštěním programu pokusí na těchto řádcích indikovat chybu umístěním varovných značek na okraj editoru kódu. Můžete vidět, jak to dělá.

o typovém odlévání

Když je proměnné jednoho typu přiřazena hodnota jiného typu, použije se odlévání (konverze) typů... U číselných typů (byte, short, int, long, float, double, char) k tomu dochází automaticky, pokud typ měněné proměnné může "pojmout" hodnotu jiného typu.

Pokud je například proměnné typu int přiřazena hodnota typu byte, dojde automaticky ke konverzi z typu byte na typ int. Podobně lze plovoucí typ přehodit na dvojitý typ atd.

Pokud se pokusíte přiřadit proměnné méně přesného typu (například byte) hodnotu přesnějšího typu (například int), kompilátor vygeneruje chybovou zprávu.

Pro typové odlévání můžete použít operátor obsazení- před výraz, u kterého chceme převod typu provést, se do závorek umístí závorky s typem, na který se převod provádí. Při přelévání typu s vyšší přesností na celé číslo s nižší přesností lze provést dělení modulo podle přípustného rozsahu typu, na který se přelévání provádí, a při přetypování dvojitého výrazu na výraz s plovoucím výrazem bude přesnost výrazu být snížena.

dlouhé j = (dlouhé) 1,0; // použijte operátor casting k long, j = 1 char ch = (char) 1001; // pomocí operátoru casting char, ch = "d" byte b2 = (byte) (100); // použijte operátor přetypování typu z int na byte, b2 = 100 byte b3 = (byte) (100 * 2); //Pozornost! dochází k dělení modulo, b3 = -56

Při použití na platné literály často dochází k chybě neshody typu. Nemůžete například provést přiřazení a = 7,5 + 2,4; pokud je proměnná a typu float, protože literály 7.5 a 2.4 jsou považovány za typu double. Chcete-li se vyhnout chybě, musíte použít přetypování:

A = (float) (7,5 + 2,4);

nebo k označení, že literály jsou také plovoucí:

A = 7,5f + 2,4f; // toto je také platný příkaz

Téměř každá binární operace má svůj vlastní druh operátoru přiřazení. Například pro operaci sčítání + existuje unární operátor přiřazení + =, který zvyšuje hodnotu operandu o danou hodnotu:

X+ = 8; // stejné jako x = x + 8 (x se zvětší o 8)

Podobně pro další operace: operátory * =, - =, / =,% =, & = ^ = atd.:

X* = 3; // stejné jako x = x * 3 (x se zvětší 3krát) b1^ = b2; // stejné jako b1 = b1 ^ b2

Cvičení 1

Deklarujte dvě celočíselné proměnné, přiřaďte jim libovolné hodnoty. Vytiskněte jejich součet a součin.

Výzva: můžete použít projekt již vytvořený v Eclipse vložením požadované příkazy po příkazu na výstup řádku "Ahoj, světe!" nebo místo toho.

Operátory inkrementace a dekrementace

o operátorech zvýšení a snížení

Operátory inkrementace a dekrementace ++ a –– zvyšují a snižují hodnotu operandu o jedna. Mnohem pohodlnější je použít příkaz x ++; místo příkazu x = x + 1;

Operátory zvýšení a snížení také vrátí hodnotu. To znamená, že je legální provést příkaz

Y = 7* x ++;

V důsledku toho se proměnná x zvýší o 1 a proměnná y nabude sedminásobku staré hodnoty x. Můžete také spustit následující příkaz:

Y = 7*++ x;

V důsledku toho se proměnná x zvýší o 1 a proměnná y nabude sedminásobku nové hodnoty x.

Podmíněný příkaz if

Nejjednodušší forma zápisu podmíněného operátoru je:

příkaz if (podmínka).

Podmínka v závorce je booleovský výraz, tj. může být pravda nebo nepravda. Pokud je podmínka pravdivá, příkaz se vykoná, jinak se nic nestane. Například:

if (x // pokud je hodnota proměnné x menší než 17, přiřaďte x 17

Pokud je nutné, aby v případě, kdy je podmínka nepravdivá, byl proveden nějaký jiný příkaz, použijte rozšířenou formu příkazu if:

if (podmínka) příkaz1 else příkaz2

o jiné stavbě

Ve výše uvedeném příkladu bychom mohli chtít přiřadit proměnnou x k 5, pokud je podmínka x se neprovede (proč to potřebujeme, další otázka).

if (x jinak x = 5;

Pokud je nutné použít více vzájemně se vylučujících podmínek, lze je zapsat takto:

if (podmínka1) příkaz1 else if (podmínka2) příkaz2 else if (podmínka3) příkaz3 ... else příkazN

Cvičení 2

Deklarujte dvě celočíselné proměnné, přiřaďte jim libovolné hodnoty. Pomocí příkazu if vyhledejte a vytiskněte maximum z nich.

Výzva: algoritmus pro nalezení maxima byl zvažován při opakování základních konstrukcí algoritmu.

Složené příkazy

Více příkazů jazyka Java lze spojit do jednoho složeného příkazu pomocí složených závorek (). Můžete například napsat:

(a = 12; písmeno = "D";)

Složené příkazy lze použít všude tam, kde jsou běžné příkazy. Například v příkazu if, pokud je třeba provést několik akcí, když je splněna podmínka:

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

Konstrukce kudrnaté výztuhy se také nazývá blok příkazů a složené závorky jsou blokovat hranice.

Všimněte si, že zápis použitý v příkladu (když jsou hranice bloku umístěny na samostatných řádcích a obsah bloku je zapsán odsazený od jeho hranic) je volitelný. Je to pouze pravidlo stylu, aby byly programy srozumitelnější a aby se nenechaly zmást složenými závorkami, které jsou běžné v programech Java.

o prohlášení o výběru přepínače

Prohlášení o výběru přepínače

Volba příkazu, který se má provést, často závisí na hodnotě nějaké proměnné (nebo výrazu). Uživatel je například vyzván k zadání znaku operace a v závislosti na zadaném znaku je požadováno zobrazení výsledku sčítání, odčítání atd. nebo, pokud je zadán nesprávný znak, chybové hlášení. V tomto případě je vhodné použít příkaz switch selection, který má následující zápis:

přepínač (výraz) (hodnota případu1: přerušení sekvence příkazů 1; hodnota případu2: přerušení sekvence příkazů 2; ... výchozí: výchozí sekvence příkazů)

Hodnota1, hodnota2 atd. jsou konstanty nebo výrazy, které zahrnují pouze konstanty. Výraz v závorkách za klíčové slovo přepínač může obsahovat proměnné. Tento výraz je vyhodnocen a výsledek je poté porovnán s jednou z hodnot za klíčovým slovem case. Pokud je taková shoda nalezena, provede se celá sekvence příkazů umístěných mezi dvojtečkou a nejbližším příkazem break. Pokud není nalezena žádná shoda, provede se výchozí sekvence příkazů následujících za výchozím klíčovým slovem. Například:

char oper; // Operační znak, bude vybrán uživatelem ... // Předpokládejme, že v tomto okamžiku uživatel zvolil znak switch (oper) (velikost "+": System.out.println (a + b); přerušení; velikost písmen "-": System.out.println (a - b); přerušení; velikost písmen "*": System.out. println (a * b); break; výchozí: System.out.println ( "Neplatný znak transakce"); }

Výchozí sekci můžete vynechat. V tomto případě, pokud není nalezena žádná shoda, nebude proveden žádný příkaz.

Příkaz while loop

Cyklus while má následující tvar:

while (podmínka) příkaz

Pokud je podmínka v závorce (představující booleovský výraz) pravdivá, příkaz se provede - tělo smyčky(může to být jednoduchý příkaz nebo sekvence příkazů ve složených závorkách), načež se program vrátí k provedení tohoto příkazu znovu a bude to opakovat, dokud se podmínka neukáže jako nepravdivá.

Proto, aby se program nedostal do nekonečné smyčky a nezamrzl, musí tělo smyčky poskytovat možnost ukončení, to znamená, že například příkazy v těle smyčky musí nějak ovlivnit proměnné zahrnuté v podmínce.

Například následující fragment kódu vytiskne sudá čísla od 2 do 10:

int x = 2; zatímco (x<= 10){ System.out.println(x); x += 2; }

smyčka about while s postcondition

Existuje další způsob, jak napsat while smyčku:

udělat příkaz while (podmínka)

Při použití této možnosti se nejprve provede příkaz a poté se zkontroluje podmínka. Obě možnosti fungují stejně, ale ve druhém případě se tělo smyčky (příkaz) provede alespoň jednou, i když je podmínka zpočátku nepravdivá.

Cvičení #3

Pomocí smyčky while vytiskněte všechna lichá čísla od 1 do 10.

Výzva: mírně změňte algoritmus pro výstup sudých čísel.

Pro operátora smyčky

Cyklus for se obvykle používá, když je předem známo, kolikrát se má provedení příkazu (nebo sekvence příkazů) opakovat. Má následující podobu:

for (příkaz init; podmínka; příkaz skok) tělo smyčky

Před začátkem cyklu se provede inicializační příkaz. Poté se zkontroluje podmínka skoku (což je booleovský výraz). Pokud je tato podmínka pravdivá, provede se příkaz (nebo blok příkazů ve složených závorkách), který tvoří tělo smyčky. Poté se provede příkaz skoku a vše začíná znovu. Instrukce skoku obvykle upravuje proměnnou, která ovlivňuje pravdivost podmínky, a inicializační instrukce je popis této proměnné.

Typicky se smyčka for používá takto:

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

Tento příklad provede loop_body přesně 10krát. V tomto případě bude při každé iteraci k dispozici proměnná i (říká se jí proměnná smyčky), která postupně prochází hodnotami od 1 do 10. Následující fragment programu vypíše sudá čísla od 2 do 10 (podobně jako příklad cyklu while):

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

Cvičení 4

Pomocí smyčky for vytiskněte všechna lichá čísla od 1 do 10.

Přerušte a pokračujte v prohlášeních

Když se tělo smyčky (for nebo while) skládá z několika příkazů, může nastat situace, že nebude potřeba provést všechny v další iteraci. V tomto případě jsou užitečné příkazy break a continue.

Příkaz break ukončí provádění aktuální smyčky bez ohledu na to, zda je splněna její podmínka ukončení.

Příkaz continue ukončí provádění aktuální iterace smyčky. To znamená, že pokud se na tento operátor narazí v těle smyčky, pak se zbytek následujících příkazů přeskočí a začne nová iterace (opakování) smyčky.

Závěr

Navzdory skutečnosti, že materiál první lekce je poměrně rozsáhlý, neměl by činit potíže studentům, kteří již znají alespoň jeden programovací jazyk, protože konstrukce ve všech jazycích jsou stejné a je nutné je pouze ovládat. pravidla pro jejich zápis (syntaxe). Pokud byla znalost jiných programovacích jazyků slabá, potřebujete více domácích úkolů v příručce a řešení dalších úloh. Nejlepší možností by v tomto případě bylo přečíst si doporučené kapitoly z literatury před další lekcí.

doplňková literatura

1. Vjazovik N.A. Java programování. (kapitoly 1–4, 7, 10)

2. Khabibullin I.Sh. Java Self Tutorial 2. (Kapitola 1)

Věnujte zvláštní pozornost datovým typům Java a pravidlům castingu, které nejsou podrobně popsány v tomto tutoriálu. Profesionální programátor by měl ve svých programech vždy kontrolovat možnost hodnoty proměnné přesahující rozsah povolený pro daný typ. Typové chyby jsou jednou z nejčastějších a obtížně zjistitelných. Kapitoly 4 a 7 první knihy jsou vysoce doporučenou četbou pro všechny studenty, kteří se ucházejí o vynikající známku.

Stránky JSP mají kombinovanou syntaxi: kombinaci standardní syntaxe, která odpovídá specifikaci HTML, a syntaxe JSP, která je definována specifikací Java Server Pages. Syntaxe JSP definuje pravidla pro psaní stránek JSP, která se skládají ze standardních značek HTML a značek JSP. Stránky JSP kromě značek HTML obsahují značky JSP následujících kategorií:

Direktivy JSP

směrnice poskytovat globální informace týkající se konkrétních požadavků JSP a poskytovat informace potřebné během fáze překladu.

směrnice jsou vždy umístěny na začátku stránky JSP před všemi ostatními značkami, takže analyzátor(analyzátor) JSP při analýze textu hned na začátku zvýraznil globální instrukce. JSP Engine (JSP runtime) tedy analyzuje kód a vytvoří z JSP servlet. směrnice jsou zprávy do kontejneru JSP. Syntax směrnice JSP vypadá takto:

<%@ директива имяАтрибута="значение" %>Syntaxe úkolu směrnice v XML: Směrnice může mít více atributů. V tomto případě směrnice lze opakovat pro každý z atributů. Přitom páry "AtributName = hodnota" lze umístit pod jednu směrnici s mezerou jako oddělovačem. Existují tři typy směrnic:

  • stránka (stránka)
  • taglib (knihovna značek)
  • zahrnout (zahrnout)

Směrnice stránky

Směrnice strana definuje vlastnosti stránky JSP, které ovlivňují překladač. Pořadí atributů ve směrnici strana nevadí. Porušení syntaxe nebo přítomnost nerozpoznaných atributů má za následek chybu překladu. Příklad směrnice strana může sloužit následující kód:<%@ page buffer="none" isThreadSafe="yes" errorPage="/error.jsp" %>Tato direktiva deklaruje, že tato stránka JSP nepoužívá ukládání do vyrovnávací paměti, že na tuto stránku JSP může současně přistupovat více uživatelů a že chybová stránka s názvem error.jsp.
Směrnice strana může obsahovat informace o stránce:<%@ page info = "JSP Sample 1" %>Seznam možných atributů direktivy strana uvedeny v tabulce.
Název atributuVýznam Popis
Jazyk Čára Určuje jazyk používaný ve skriptletech souborů JSP, výrazech nebo jakýchkoli souborech začlenění, včetně těla přeloženého kódu. Výchozí nastavení je "java"
rozšiřuje Čára Určuje nadtřídu pro vygenerovaný servlet. Tento atribut by měl být používán s velkou opatrností, protože je možné, že server již používá nadtřídu.
import Čára Definice balíčků k importu, například:
& lt% @ import stránky = "java.util. *%>
Zasedání pravda nebo lež Význam skutečný(výchozí) označuje, že jde o předdefinovanou proměnnou zasedání(typ HttpSession) musí být svázán s existující relací, pokud existuje, jinak je vytvořena nová relace a navázána na ni. Význam Nepravdivé určí, že relace nebudou použity, a pokusí se o přístup k proměnné zasedání povede k chybě při překladu stránky JSP na servlet
Buffer žádný nebo velikost vyrovnávací paměti v kB. Nastaví velikost vyrovnávací paměti pro výstup JspWriter. Výchozí hodnota závisí na nastavení serveru a neměla by přesáhnout 8 kB. Pokud je hodnota žádný výstup jde přímo do objektu
autoFlush pravda nebo lež Určuje, zda se má vyrovnávací paměť automaticky vyprázdnit, když přeteče nebo dojde k chybě. Výchozí nastavení je skutečný
isThreadSafe pravda nebo lež Význam skutečný(výchozí) určuje normální režim provádění servletu, kde je souběžně zpracováváno více požadavků pomocí jedné instance servletu za předpokladu, že autor má synchronizovaný přístup k proměnným této instance. Falešná hodnota signalizuje, že servlet by měl zdědit SingleThreadModel(jednovláknový model), kde sekvenční nebo souběžné požadavky zpracovávají samostatné instance servletu
info Čára Definuje řetězec informací o stránce JSP, ke které bude metoda přistupovat Servlet.getServletInfo ()
chybová stránka Čára Hodnota atributu je adresa URL stránky, která by se měla zobrazit v případě možných chyb způsobujících výjimky
isErrorPage pravda nebo lež Signalizuje, zda lze tuto stránku použít ke zpracování chyb pro jiné stránky JSP. Výchozí nastavení je Nepravdivé
typ obsahu Čára Určuje kódování pro stránku a odpověď JSP a typ MIME odpovědi JSP. Výchozí hodnota typu obsahu je text / html, kódování - ISO-8859-1. Například:
contentType = "text / html; znaková sada = ISO-8859-1"
kódování stránky Čára Určuje kódování znaků stránky JSP. Výchozí nastavení je znaková sada z atributu typ obsahu pokud je to tam definováno. Pokud je hodnota znaková sada v atributu typ obsahu nedefinováno, hodnota kódování stránky je nastaven stejně ISO-8859-1

Direktiva Taglib

Směrnice taglib prohlašuje, že daná stránka JSP používá knihovnu značek, jednoznačně ji identifikuje pomocí URI a mapuje předponu značky, se kterou lze s knihovnou pracovat. Pokud kontejner nemůže najít knihovnu značek, dojde k závažné chybě překladu. Směrnice taglib má následující syntaxi:<%@ taglib uri="URI zahrnuté knihovny tagů"předpona =" název předpony"%> Předpona" název předpony"se používá při odkazu na knihovnu. Příklad použití knihovny značek mytags: <%@ taglib uri="http://www.taglib/mytags" prefix="customs" %> . . . V tomto příkladu má knihovna značek identifikátor URI "http: //www.taglib/mytags", je řetězec přiřazen jako prefix celní který se používá na stránce JSP při přístupu k prvkům knihovny značek.

Zahrnout směrnici

Směrnice zahrnout umožňuje vložit text nebo kód při překladu stránky JSP do servletu. Syntaxe směrnice zahrnout vypadá takto:<%@ include file="Relativní URI stránky, která má být zahrnuta"%> směrnice zahrnout má jeden atribut - soubor... Zahrnuje text zadaného zdroje v souboru JSP. Tuto direktivu lze použít k umístění standardní hlavičky autorských práv na každou stránku JSP:<%@ include file="copyright.html" %>Kontejner JSP přistupuje k souboru začlenění. Pokud se začleněný soubor změnil, kontejner může znovu zkompilovat stránku JSP. Směrnice zahrnout zachází se zdrojem, jako je stránka JSP, jako se statickým objektem. Daný URI je obvykle interpretován relativně k JSP stránky, na které je odkaz umístěn, ale stejně jako u jiných relativních URI můžete systému sdělit pozici zdroje zájmu vzhledem k domovskému adresáři WEB serveru pomocí předpona URI znakem "/". Obsah začleněného souboru je zpracován jako prostý text JSP, a proto může obsahovat prvky, jako je statický HTML, prvky skriptu, direktivy a akce. Mnoho webů používá na každé stránce malý navigační panel. Kvůli problémům s používáním HTML rámců se tento úkol často řeší umístěním malé tabulky nahoře nebo do levé poloviny stránky, jejíž HTML kód se pro každou stránku webu mnohokrát opakuje. Směrnice zahrnout- toto je nejpřirozenější způsob, jak tento problém vyřešit, ušetříte vývojáře od noční můry rutinního kopírování HTML do každého samostatného souboru. Od směrnice zahrnout zahrnuje soubory během překladu stránky, poté je po provedení změn v navigační liště vyžadován opětovný překlad všech stránek JSP, které ji používají. Pokud se přiložené soubory mění poměrně často, můžete použít akci jsp: zahrnout který připojí soubor při přístupu na stránku JSP.

prohlášení JSP

prohlášení (prohlášení) jsou určeny pro definování proměnných a metod ve skriptovacím jazyce, které jsou později použity na stránce JSP. Syntax prohlášení vypadá takto:<%! код Java %> reklamy jsou umístěny v deklaračním bloku a jsou volány v bloku výrazů stránky JSP. Kód v deklaračním bloku je obvykle napsán v Javě, ale aplikační servery mohou používat syntaxi jiných skriptů. reklamy se někdy používají k přidání dalších funkcí při práci s dynamickými daty získanými z vlastností komponent JavaBeans. Příklady reklamy jsou uvedeny v tabulce. Oznámení může obsahovat více řádků, jako například v níže uvedeném kódu pro výpočet hodnoty funkce fakt (int n), která by se měla rovnat 1, když n je menší než 2 an! s kladnou hodnotou n;<%! public static int fact (int n) { if (n reklamy neprodukují žádný výstup na standardní výstup ven... Proměnné a metody deklarované v oznámení, jsou inicializovány a zpřístupněny skriptletům a dalším reklamy v okamžiku inicializace stránky JSP.

skriptlety JSP

Skripta zahrnují různé části kódu napsané ve skriptovacím jazyce definovaném ve směrnici Jazyk... Fragmenty kódu musí být v souladu se syntaktickými konstrukcemi jazyka skriptlety, tedy obvykle syntaxe jazyka Java. Skripta mají následující syntaxi:<% текст скриптлета %>Syntaktický ekvivalent skriptlet pro XML je: text skriptletu
Pokud v textu skriptlet je nutné použít posloupnost znaků%> přesně jako kombinaci znaků, a ne jako značku - koncovku skriptlet, místo sekvence%> použijte následující kombinaci znaků% \>.
Specifikace JSP poskytuje jednoduchý a přímočarý příklad skriptlet která dynamicky mění obsah stránky JSP v průběhu dne.<% if (Calendar.getInstance ().get (Calendar.AM_PM) == Calendar.AM) {%>Dobré ráno<% } else { %>Dobré odpoledne<% } %>Je třeba poznamenat, že kód uvnitř skriptlet vložen jako psaný a veškerý statický HTML text (text šablony) před nebo za skriptlet převedeny pomocí operátoru tisk... To znamená, že skriptlety nemusí obsahovat dokončené části Java a že části, které zůstanou otevřené, mohou ovlivnit statický HTML mimo skriptlet. Skripty mít přístup ke stejným automaticky definovaným proměnným jako výrazy. Pokud je tedy například potřeba na stránce zobrazit nějaké informace, musíte proměnnou použít ven. <% String queryData = request.getQueryString (); out.println ("Дополнительные данные запроса: " + queryData); %>

JSP výrazy

Výraz na stránce JSP je spustitelný výraz napsaný ve skriptovacím jazyce uvedeném v deklaraci Jazyk(obvykle Java). Výsledek výrazy JSP požadovaného typu Tětiva, odeslána na standardní výstup ven pomocí aktuálního objektu JspWriter... Pokud výsledek výrazy nelze obsadit Tětiva, dojde buď k chybě překladu, pokud byl problém zjištěn ve fázi překladu, nebo je vyvolána výjimka ClassCastException byla-li nesrovnalost zjištěna při vyřizování požadavku. Výraz má následující syntaxi: & lt% = výraz text%> alternativní syntaxe pro výrazy JSP při použití XML: text výrazuProváděcí příkaz výrazy na stránce JSP zleva doprava. Li výraz se objeví ve více než jednom atributu za běhu, pak na této značce běží zleva doprava. Výraz musí být úplný výraz ve specifickém skriptu (obvykle Java). Výrazy se spouštějí, když je spuštěn protokol HTTP. Hodnota výrazu je převedena na řetězec a zahrnuta na příslušnou pozici v souboru JSP. Výrazy se běžně používají k vyhodnocení a zobrazení řetězcové reprezentace proměnných a metod definovaných v bloku deklarace stránky JSP nebo odvozených z JavaBeans, které jsou přístupné z JSP. Následující kód výrazy slouží k zobrazení data a času požadavku na tuto stránku: Aktuální čas: & lt% = new java.util.Date ()%> Pro zjednodušení výrazy existuje několik předdefinovaných proměnných, které můžete použít. Nejčastěji používané proměnné jsou:
  • požadavek, HttpServletRequest;
  • odpověď, HttpServletResponse;
  • session, HttpSession - související s žádostí, pokud existuje;
  • ven, PrintWriter - verze typu JspWriter s vyrovnávací pamětí pro odesílání dat klientovi.