Sintaksa java. uvjetne konstrukcije. - Zadane metode sučelja
mora nužno odgovarati imenu klase čija se metoda main() poziva kada se pokrene Java stroj.
int a; ... akcije na varijablu a ...; ako (a) ( ... )
nije točno u smislu Java sintaksa i neće kompilirati.
- Kada se koristi kao konstruktor - super uvijek treba biti prvi operator u konstruktoru podklase.
Osim toga, podržan ograničene vrste, kroz određivanje superklase za klase parametara. Na primjer, deklaracija klase "generičke klase" CLASS_NAME
Programiranje je pisanje izvornog koda programa na jednom od programskih jezika. Ima ih mnogo raznim jezicima programiranje, zahvaljujući kojem se stvaraju sve vrste programa koji rješavaju određeni niz problema. Programski jezik je skup rezerviranih riječi koje se koriste za pisanje izvor programe. Računalni sustavi (još) nisu u stanju razumjeti ljudski jezik, a još više ljudsku logiku (osobito žensku), pa su svi programi napisani programskim jezicima, koji se naknadno prevode u računalni jezik ili u strojni kod. Sustavi koji prevode izvorni kod programa u strojni kod vrlo su složeni i u pravilu ih stvara više od desetak mjeseci i više od desetak programera. Takvi se sustavi nazivaju okviri ili alati za programiranje aplikacija.
Programski jezici, kao što su obični jezici, jesu različiti putevi komunicirajte s računalom onako kako želite da djeluje. Programski jezici omogućuju nam da računalo korak po korak učimo kako manipulirati podacima, prikupljati podatke od korisnika i prikazati stvari na ekranu, između ostalog.
Na mikroskopskoj razini, procesor računala šalje električne signale naprijed-natrag koji kontroliraju njegov rad. Dijelovi podataka pohranjeni su kao varijable, koje su u osnovi spremnici koji drže podatke. Tako, na primjer, ako varijabla treba sadržavati broj, moramo to reći i nećemo smjeti u nju staviti ništa drugo, poput slova. Statički tip također znači da će sve varijable biti provjerene prije nego što se program uopće pokrene, a prikazat će nam se pogreška ako zaboravimo deklarirati vrstu podataka ili proglasiti nevažećim. "Objektno orijentiran" je objektno orijentirani jezik izgrađen oko koncepta objekata. U fizičkom svijetu, osvrnite se po sobi i razmišljajte o svakoj stvari kao o objektu. Na primjer, trenutno na svom stolu imam šalicu. Kao predmet, ovo ime je "šalica" i ima svojstva poput boje i količine tekućine koja će zadržati. Također možemo slati poruke objektima, pa bih za moju šalicu možda trebao znati "Je li prazna?". Na primjer, možemo koristiti objekt Camera za snimanje slike.
- "Statički upisan".
- Programiranje je u svojoj srži zapravo rad s podacima.
Programski sustav je ogromno, promišljeno vizualno okruženje u kojem možete napisati izvorni kod programa, prevesti ga u strojni kod, testirati ga, otkloniti pogreške i još mnogo toga. Osim toga, postoje programi koji vam omogućuju izvođenje gore navedenih radnji pomoću naredbenog retka.
Vjerojatno ste više puta čuli izraz "program napisan pod Windowsom ili pod Linuxom, Unixom". Činjenica je da programska okruženja pri prevođenju programskog jezika u strojni kod mogu biti dvije vrste - to su prevoditelji i interpretatori. Prevođenje ili tumačenje programa određuje kako će se program dalje izvršavati na uređaju. Programi napisani u Javi uvijek rade na temelju interpretacije, dok su programi napisani u C/C++ kompilacije. Koja je razlika između ove dvije metode?
Ova dva jezika različito su napisana i rade drugačije, ali oba nam omogućuju rad s programskim značajkama kao što su varijable, metode, operatori, pa čak i objekti. Sam jezik je skup ključnih riječi i simbola koje prikupljamo kako bismo izrazili kako želimo da naš kod funkcionira.
Svaki redak koda ima specifična pravila o tome kako bi trebao biti izgrađen i što je dopušteno, a što nije. Zapamtite da su programski jezici apstrakcije, što znači da apstrahiraju prave osnove kako računalo radi u stvari koje možemo lakše razumjeti. Iza kulisa je stvarno sve i nule, ali o tome se ne moramo brinuti. Možemo razmišljati ovim apstraktnim pojmovima kako bismo izrazili svoje ideje i naredbe, a te se apstrakcije odnose na sve. različiti tipovi programiranje.
Prevoditelj, nakon što je napisao izvorni kod u vrijeme kompilacije, čita cijeli izvorni kod programa odjednom i prevodi ga u strojni kod. Nakon toga program postoji kao cjelina i može se samo u njemu izvršavati operacijski sustav u kojoj je bilo napisano. Stoga programi napisani pod Windowsom ne mogu funkcionirati pod Linuxom i obrnuto. Tumač izvršava program korak po korak ili redak po red svaki put kada se izvrši. Tijekom interpretacije ne stvara se izvršni kod, već virtualni, koji naknadno izvršava Java virtualni stroj. Stoga se na bilo kojoj platformi – Windows ili Linux – Java programi mogu izvoditi na isti način ako u sustavu postoji Java virtualni stroj, koji se također naziva Runtime System.
- Zadane metode sučelja
Ovdje su neke od ključnih riječi koje označavaju vrstu podataka koje ćemo koristiti i pohranjivati u varijablama. Budući da se decimalno mjesto može mijenjati ili plutati, važno je biti svjestan da ove vrijednosti tehnički mogu biti netočne. Druge primitivne vrste podataka uključuju bajtove, kratke i duge. Objekt se razlikuje od primitivnog tipa podataka po tome što ima složenija svojstva i dostupne metode, dok su primitivni tipovi podataka ograničeni i jednostavni. Varijabla je u osnovi spremnik koji se koristi za pohranu podataka.
Objektno orijentirano programiranje
Objektno orijentirano programiranje temelji se na objektima, što je donekle slično našem svijetu. Ako pogledate oko sebe, definitivno možete pronaći nešto što će vam pomoći da jasnije shvatite model takvog programiranja. Na primjer, trenutno sjedim za svojim stolom i tipkam ovo poglavlje na računalu koje se sastoji od monitora, sistemske jedinice, tipkovnice, miša, zvučnika i tako dalje. Svi ovi dijelovi su objekti koji čine računalo. Znajući to, vrlo je lako formulirati neki generalizirani model rada cijelog računala. Ako ne razumijete zamršenosti softverskih i hardverskih svojstava računala, onda možemo reći da objekt System Unit izvodi određene radnje koje prikazuje objekt Monitor. Zauzvrat, objekt tipkovnice može ispraviti ili čak postaviti radnje za objekt blok sustava koje utječu na rad objekta Monitor. Prikazani proces vrlo dobro karakterizira cijeli sustav objektno orijentiranog programiranja.
Ovdje su osnovna pravila sintakse
Pogledajmo primjer. Pogledajmo svaki numerirani dio. Prva riječ u deklaraciji varijable je tip podataka, koji nam govori koji će podaci biti pohranjeni u varijablu. Druga riječ je naziv varijable, koji može biti što god želite, slijedeći nekoliko osnovnih pravila. Nazivi varijabli ne smiju sadržavati razmake ili posebni znakovi; mogu imati samo slova, brojeve i donje crte. Znak jednakosti je operator, odnosno obavlja određenu operaciju umjesto nas. Ovo je operator dodjele, što znači da ga koristimo za dodjelu vrijednosti varijablama. Konačno, posljednji znak u ovom retku je točka-zarez, koji se koristi za završetak ove izjave. Međutim, ne smiju početi brojem. . Neki drugi primjeri deklaracija varijabli koji koriste neke od osnovnih tipova podataka koje smo pokrili su sljedeći.
Zamislite neku moćnu softver, koji sadrži stotine tisuća redaka koda. Cijeli program se izvršava redak po redak, redak po redak, a u principu će svaki od sljedećih redaka koda nužno biti povezan s prethodnim redom koda. Ako ne koristite objektno orijentirano programiranje i kada to trebate promijeniti programski kod, recimo, ako trebate poboljšati neke elemente, morat ćete puno poraditi s cijelim izvornim kodom ovog programa.
Metode se koriste za organiziranje našeg koda u dijelove za višekratnu upotrebu koji nam štede puno vremena i energije. Druga riječ u metodi je tip podataka koji će biti vraćen. Sljedeće ime je naziv metode. Nazivi metoda slijede otprilike ista pravila kao i nazivi varijabli: slova, brojevi i podvlake, ali ne mogu započeti brojem.
Odmah iza imena vidimo dvije zagrade bez ičega između njih. Zagrada je potrebna, ali kada je prazna, to znači da ne prosljeđujemo nikakve podatke ili varijable kada pozivamo metodu. Ako je jedna ili više varijabli uključeno između zagrada, tada bismo morali proslijediti odgovarajuće vrijednosti ili varijable u zagradi kada pozovemo ovu metodu.
U objektno orijentiranom programiranju sve je puno jednostavnije, da se vratimo na primjer računalnog sustava. Recimo da više niste zadovoljni monitorom od sedamnaest inča. Možete ga jednostavno zamijeniti za monitor od dvadeset inča, naravno, ako imate određena financijska sredstva. Sam proces zamjene neće za sobom povlačiti velike probleme, osim što će se morati promijeniti drajver, obrisati prašinu ispod starog monitora i to je to. Otprilike na ovom principu rada izgrađeno je objektno orijentirano programiranje, gdje određeni dio koda može predstavljati klasu homogenih objekata koji se lako mogu nadograditi ili zamijeniti.
Redak 1 završava otvorenim vitičastim zagradama, a odgovarajući zatvarajući vitičasti zagrada je na liniji. Ova dokumentacija je arhivirana i ne održava se. Najočitija promjena pri prelasku između programskih jezika je promjena sintakse.
Iako sintaksa svakog jezika različito izražava metodu, funkcionalnost je ista. Opis funkcionalnost, parametri i povratne vrijednosti objekta, uz neke iznimke, vrijedi za sve jezike. Na primjer, razmotrite funkciju kvadrata kako je implementirana u svakom od ova tri skriptna jezika.
Objektno orijentirano programiranje vrlo jednostavno i jasno odražava bit problema koji se rješava i, što je najvažnije, omogućuje uklanjanje nepotrebnih objekata bez štete za cijeli program, zamjenjujući te objekte novijim. Sukladno tome, cjelokupna čitljivost izvornog koda cijelog programa postaje puno lakša. Također je značajno da se isti kod može koristiti u potpuno različitim programima.
Operatori povećanja i dekrementa
Imajte na umu da su skriptni jezici, za razliku od programskih jezika, slabo upisani. Drugim riječima, ne morate specificirati tip podataka parametra ili povratnu vrijednost kada deklarirate funkciju. Umjesto toga, varijable se automatski pretvaraju u odgovarajuću vrstu podataka.
Ova sličnost je samo površna. Pogledajmo sada što znače varijable klase, objekta, metode i instance. Primjer: Pas ima stanja - boju, ime, pasminu, kao i ponašanja poput mahanja repom, lajanja, jedenja. To je u metodama gdje se upisuje logika, obrađuju se podaci i izvode sve radnje. varijable instance. Svaki objekt ima svoj jedinstveni skup varijabli instance. Stanje objekta stvaraju vrijednosti dodijeljene ovim varijablama instance.
- Objekt.
- Objekti imaju stanja i ponašanje.
- Klasa može sadržavati mnogo metoda.
Nastava
Jezgra svih Java programa su klase na kojima se temelji objektno orijentirano programiranje. Zapravo, vi već znate što su nastava, ali još ne znate o tome. U prethodnom dijelu govorili smo o objektima, koristeći cijelo računalo kao primjer. Svaki objekt od kojeg je računalo sastavljeno je predstavnik svoje klase. Na primjer, klasa Monitor objedinjuje sve monitore, bez obzira na njihove vrste, veličine i mogućnosti, a jedan određeni monitor na vašem stolu je objekt klase monitora.
- Slijedite sljedeće korake. Otvorite prozor naredbenog retka i prijeđite u direktorij u koji ste spremili klasu. Ako se za formiranje naziva klase koristi više riječi, svako prvo slovo prve riječi mora biti napisano velikim slovima. Svi nazivi metoda moraju početi malim slovom.
- Otvorite bilježnicu i dodajte kod kao gore.
- Ako nema grešaka u kodu, naredbeni redak odvest će vas na sljedeći red.
- Nazivi razreda.
- Za sve nazive klasa prvo slovo mora biti veliko.
- Primjer: razred.
Ovaj pristup olakšava simulaciju svih vrsta procesa u programiranju, što olakšava rješavanje zadataka. Na primjer, postoje četiri objekta četiri različite klase: monitor, jedinica sustava, tipkovnica i zvučnici. Da biste reproducirali zvučnu datoteku, trebate upotrijebiti tipkovnicu za davanje naredbe jedinica sustava, samu radnju izdavanja naredbe promatrat ćete vizualno na monitoru i, kao rezultat, zvučnici će reproducirati audio datoteku. To jest, svaki objekt je dio određene klase i sadrži sve alate i mogućnosti dostupne ovoj klasi. Objekta jedne klase može biti onoliko koliko je potrebno za rješavanje zadatka.
Svi identifikatori moraju početi slovom, simbolom valute ili donjom crtom.
- Nakon prvog znaka, identifikatori mogu imati bilo koju kombinaciju znakova.
- Ključna riječ se ne može koristiti kao identifikator.
- Ono što je najvažnije, identifikatori su osjetljivi na velika i mala slova.
Pogledat ćemo više detaljima o modifikatorima u sljedećem odjeljku. Lokalne varijable Varijable klase Varijable instance. . Nizovi su objekti koji pohranjuju više varijabli istog tipa. Međutim, sam niz je objekt na hrpi. Pogledat ćemo kako deklarirati, izgraditi i inicijalizirati u kasnijim poglavljima.
Metode
Kad je dat primjer reprodukcije zvučna datoteka, zatim se spominjalo davanje naredbe ili poruke, na temelju koje su izvršene određene radnje. Zadatak izvođenja radnji rješava se metodama koje svaki objekt ima. Metode su skup naredbi s kojima možete izvršiti određene radnje s objektom.
Povećanje i smanjenje
Vrijednosti u ovoj nabrojanoj listi nazivaju se nabrajanja. Koristeći enume, možete smanjiti broj pogrešaka u vašem kodu. Na primjer, ako razmatramo zahtjev za trgovinu svježim sokovima, mogli bismo ograničiti veličinu čaše na malu, srednju i veliku. To će osigurati da nikome neće dopustiti da naruči bilo koje druge veličine osim malih, srednjih ili velikih.
Gornji primjer će dati sljedeći rezultat. Bilješka. Enumovi se mogu deklarirati kao vlastiti ili unutar klase. Metode, varijable, konstruktori također se mogu definirati unutar enuma. Ove rezervirane riječi ne mogu se koristiti kao konstante ili varijable ili bilo koji drugi nazivi identifikatora. U osnovi, ako trebate stvoriti novu klasu, a već postoji klasa koja ima neki kod koji vam je potreban, tada možete izvesti novu klasu iz već postojećeg koda.
Svaki objekt ima svoju svrhu i dizajniran je za rješavanje određenog niza zadataka korištenjem metoda. Čemu bi koristio, na primjer, objekt Tipkovnica da je nemoguće pritisnuti tipke, a da se mogu izdavati naredbe? Objekt Tipkovnica ima niz tipki pomoću kojih korisnik dobiva kontrolu nad ulaznim uređajem i može dati potrebne naredbe. Obrada takvih naredbi odvija se korištenjem metoda.
Ovaj koncept vam omogućuje ponovno korištenje polja i metoda postojeće klase bez ponovnog pisanja koda u novoj klasi. U ovom slučaju, postojeća klasa naziva se superklasa, a izvedena klasa naziva se potklasa. Sučelja igraju vitalnu ulogu kada je u pitanju koncept nasljeđivanja. Sučelje definira metode koje primajuća klasa treba koristiti. Ali implementacija metoda je u potpunosti u skladu s podklasom.
Koncepti i principi objektno orijentiranog programiranja
Pratite nas za više sadržaja u ovoj seriji. Saznajte što možete očekivati od ovog vodiča i kako iz njega izvući maksimum.
- Spremite datoteku na tvrdi disk kada se to od vas zatraži.
- Kada se preuzimanje završi, pokrenite instalacijski program.
Na primjer, pritisnete tipku Esc da poništite bilo koju radnju i tako date naredbu metodi koja je dodijeljena ovoj tipki, što rješava ovaj problem na razini programa. Odmah se postavlja pitanje o broju metoda objekta Keyboard, ali može postojati i drugačija implementacija - od definiranja metoda za svaku od tipki (što je, zapravo, nerazumno), do stvaranja jedne metode koja će pratiti opće stanje tipkovnice. Odnosno, ova metoda prati je li tipka pritisnuta, a zatim, ovisno o tome koja od tipki je uključena, odlučuje što učiniti.
Dakle, vidimo da svaki od objekata može imati na raspolaganju skup metoda za rješavanje raznih problema. A budući da je svaki objekt objekt određene klase, ispada da klasa sadrži skup metoda koje koriste različiti objekti iste klase. U jeziku Java, sve metode koje kreirate moraju pripadati ili biti dio određene klase.
Sintaksa i semantika jezika Java
Da biste govorili i čitali bilo koji strani jezik, potrebno je naučiti abecedu i gramatiku tog jezika. Slično se stanje uočava i kod proučavanja programskih jezika, s jedinom razlikom, čini mi se, što je taj proces nešto lakši. Ali prije nego što počnete pisati izvorni kod programa, prvo morate riješiti postavljeni problem u bilo kojem obliku koji vam odgovara.
Napravimo klasu odgovornu, na primjer, za telefon, koja će imati samo dvije metode: uključivanje i isključivanje ovog telefona. Budući da trenutno ne znamo sintaksu jezika Java, klasu Phone ćemo napisati u apstraktnom jeziku.
Razredni telefon
{
Enable() metoda
{
// operacije za uključivanje telefona
}
Disable() metoda
{
// operacije za isključivanje telefona
}
}
Razred Telefon može izgledati otprilike ovako. Imajte na umu da vitičaste zagrade označavaju početak i kraj tijela klase, metode ili bilo kojeg niza podataka. To jest, zagrade označavaju pripadnost metodi ili klasi. Svaka početna zagrada mora imati završnu zagradu. Kako ne bi došlo do zabune, obično se postavljaju na istu razinu u kodu.
A sada napišimo istu klasu samo u Javi.
razredni telefon
{
poništiti ()
{
// tijelo metode on().
}
void off()
{
// tijelo metode off().
}
}
Ključna riječ class u jeziku Java deklarira klasu, nakon čega slijedi naziv same klase. U našem slučaju, ovo je Telefon. Samo nekoliko riječi o registru snimanja. U gotovo svim programskim jezicima važno je zadržati zapis imena u slučaju u kojem su napravljeni. Ako ste napisali Telefon, onda će pisanje kao što je telefon ili TELefoN dati grešku kompilacije. Kako je izvorno napisano, tako treba pisati dalje.
Rezervirano ili ključne riječi su napisani u svom specifičnom slučaju i ne možete ih koristiti pri imenovanju metoda, klasa, objekata i tako dalje. Razmaci između riječi nisu važni jer ih prevodilac jednostavno ignorira, ali su važni za čitljivost koda.
Tijelo klase Telefon ima dvije metode: on() - uključuje telefon i off() metodu - isključuje telefon. Obje metode imaju svoja tijela i, u teoriji, trebale bi sadržavati neki izvorni kod koji opisuje potrebne radnje obje metode. Za nas sada nije važno kako se te metode implementiraju, glavna stvar je sintaksa jezika Java.
Obje metode imaju zagrade on() unutar kojih se mogu napisati parametri, kao što su on(int time) ili on(int time, int time1). Uz pomoć parametara dolazi do svojevrsnog povezivanja metoda s vanjskim svijetom. Kaže se da metoda on(int time) uzima parametar vremena. Čemu služi? Na primjer, želite da se telefon uključi Određeno vrijeme. Tada će se cjelobrojna vrijednost u parametru vremena proslijediti tijelu metode, a na temelju primljenih podataka telefon će se uključiti. Ako su zagrade prazne, tada metoda ne uzima nikakve parametre.
Komentari
U klasi Telefon, u tijelima obje metode, nalazi se unos nakon dvije kose crte: //. Takav unos označava komentare koje će prevodilac zanemariti, ali su neophodni za čitljivost koda. Što više informacija komentirate dok pišete program, veće su šanse da se za godinu dana prisjetite na čemu ste radili sve ovo vrijeme.
Komentari u Javi mogu biti tri vrste, a to su:
//, /*…*/ I /**…*/
Komentari napisani operatorom // moraju biti u jednom retku:
// Jedna linija
!!! Pogreška! Ne možete prijeći u drugi red!
// Prvi red
// Drugi red
// …
// Zadnji redak
Komentari koji koriste /*…*/ operatore mogu obuhvaćati više redaka. Na početku komentara stavite /*, a na kraju, kada završite s komentiranjem koda, stavite operator */. Posljednja vrsta komentara /**…*/ koristi se prilikom dokumentiranja koda i također se može nalaziti na bilo kojem broju redaka.
Java vrste podataka
Za postavljanje proizvoljne vrijednosti, Java ima tipove podataka. U klasi Telefon kreirali smo dvije metode. Obje metode nisu imale parametre, ali kada je dat primjer metode on(int time) s parametrom vremena, radilo se o prosljeđivanju vrijednosti metodi. Ova vrijednost je označavala vrijeme do kojeg bi se telefon navodno trebao uključiti. Specifikator int samo određuje tip vremenske vrijednosti. U Javi 2 ME postoji šest tipova podataka.
Bajt je mala cjelobrojna vrijednost od -128 do 128;
short je kratka cjelobrojna vrijednost u rasponu od -32768 do 32767;
int - sadrži bilo koju cjelobrojnu vrijednost od -2147483648 do 2147483647;
long je vrlo velika cjelobrojna vrijednost, od -922337203685475808 do 9223372036854775807;
char je Unicode znakovna konstanta. Domet ovaj format 0 do 65536, što je jednako 256 znakova. Svaki znak ove vrste mora biti napisan u jednostrukim navodnicima, na primjer: 'G';
boolean - boolean tip, ima samo dvije vrijednosti: false - false i true - true. Ovaj tip se često koristi u petljama o čemu nešto kasnije. Značenje je vrlo jednostavno – ako imate novca u džepu, to je navodno istina, a ako nije, onda laž. Tako, ako imamo novca, idemo u trgovinu po kruh ili pivo (podcrtaj kako priliči), ako nema novca, ostajemo kod kuće. Odnosno, to je takva logična vrijednost koja pridonosi izboru daljnje djelovanje vaš program.
Za deklariranje neke potrebne vrijednosti koristi se notacija:
int vrijeme;
dugo BigTime;
znakovna riječ;
Operator točka-zarez je obavezan nakon unosa i nalazi se na kraju retka. Možete kombinirati nekoliko deklaracija iste vrste odvojenih zarezima:
Mt vrijeme, vrijeme1, vrijeme2;
Sada poboljšajmo našu klasu Telefon dodajući joj nekoliko vrijednosti. Više nam ne trebaju metode on() i off(), dodajmo nove metode koje zaista mogu riješiti određene zadatke.
razredni telefon
{
//S - područje prikaza
//w - širina prikaza
//h - visina prikaza
int w, h, S;
//metoda koja izračunava površinu prikaza
Riječ Područje ()
{
S = š*h;
}
}
Dakle, imamo tri varijable S, w i h, koje su odgovorne za površinu, širinu i visinu zaslona u pikselima. Metoda Area() izračunava površinu zaslona telefona u pikselima. Operacija je beskorisna, ali vrlo otkriva i lako razumljiva. Tijelo metode Area() se pronašlo i ima oblik S = w*h. U ovoj metodi jednostavno pomnožimo širinu s visinom i dodijelimo ili, kako kažu, pohranimo rezultat u varijablu S. Ova varijabla će sadržavati vrijednosti područja prikaza ovaj telefon.
Sada smo se približili operatorima jezika Java, s kojima možete izvoditi sve vrste operacija. Operatori jezika Java, kao i drugih programskih jezika, imaju svoje svrhe. Dakle, postoje aritmetički operatori, operatori povećanja i dekrementa, logički operatori i relacijski operatori. Pogledajmo svaki od gore navedenih operatora.
Aritmetički operatori
Svi su aritmetički operatori vrlo jednostavni i slični su operatorima množenja "*", dijeljenja "/", zbrajanja "+" i oduzimanja "-" koji se koriste u matematici. Postoji modulo operator "%" i pomalo zbunjujuća situacija s operatorom jednakosti "=". Operator jednakosti u programskim jezicima naziva se operator dodjele:
Ovdje dodjeljujete vrijednost 3 varijabli x. A operator "jednako" u programskim jezicima odgovara pisanju dva "jednako" operatora u nizu: "==". Pogledajmo primjer što razni aritmetički operatori mogu učiniti.
int x, y, z;
x=5;
y=3;
z = 0;
z = x + y
U ovom slučaju, z će već imati vrijednost zbroja x i y, odnosno 8.
Varijabla x imala je vrijednost 5, ali nakon takvog snimanja prethodna vrijednost se gubi i upisuje se umnožak z*x (8*5), što je 40. Sada, ako nastavimo naš kod dalje, varijable će izgledati kao ovo:
// x = 40;
// y = 3;
// z = 8;
Operatori zbrajanja i oduzimanja imaju istu svrhu kao i u matematici. Negativni brojevi su također povezani.
Operatori dekrementa "--" i inkrementa "++" vrlo su specifični, ali vrlo jednostavni. U programiranju često postoje slučajevi kada želite povećati ili smanjiti vrijednost za jedan. Često se to događa u ciklusima. Operacija inkrementa povećava varijablu za jedan.
int x = 5;
x++;
// Ovdje je x već 6
Operacija dekrementa smanjuje varijablu za jedan.
int x = 5;
x--;
// x je 4
Operatori povećanja i dekrementa mogu biti post i prefiks:
int x = 5;
int y = 0;
y=x++;
U posljednjem retku koda, x se prvo dodjeljuje y, što je 5, a tek onda se x povećava za jedan. Ispada da:
Povećanje prefiksa izgleda ovako:
int x = 3;
int y = 0;
y = ++x;
I u ovom slučaju, najprije se varijabla x povećava za jedan, a zatim dodjeljuje već povećanu vrijednost y.
Relacijski operateri
Relacijski operatori omogućuju testiranje jednakosti oba dijela izraza. Postoji operator jednakosti "==", operatori manji od "<» и больше «>", manje ili jednako "<=» и больше или равно «>=", kao i operator negacije "!=".
9 == 10;
Ovaj izraz nije istinit, devet nije jednako deset, pa je njegova vrijednost za ovaj izraz netočna.
Ovdje, naprotiv, operator negacije označava nejednakost izraza, a vrijednost će biti jednaka true. Operatori veći od, manji od, veći ili jednaki i manji od ili jednaki su analogni odgovarajućim operatorima iz matematike.
Logički operatori
Postoje dva logička operatora. Operator "AND" označen s "&&" i operator "OR", označen s dvije kose crte "||". Na primjer, postoji izraz:
A*B && B*C;
U slučaju da su samo oba dijela izraza istinita, vrijednost izraza se smatra istinitom. Ako je jedan od dijelova netočan, tada će vrijednost cijelog izraza biti lažna.
Za razliku od "&&" operatora, postoji operator "||" koji se ne zove uzalud "ILI".
A*B || PRIJE KRISTA;
Ako je bilo koji dio izraza istinit, tada se cijeli izraz smatra istinitim. Oba operatora mogu se kombinirati u jednom izrazu, na primjer:
A*B || B*C && C*D || B*A;
Uz pomoć ovog izraza uveo sam vas, kako mi se čini, u teškoću, zar ne? Činjenica je da u Javi, kao i u matematici, postoji prioritet ili takozvana hijerarhija operatora, uz pomoć koje se utvrđuje koji je od operatora važniji, pa se stoga najprije provjerava. Razmislite o korištenju popisa prioriteta svih dostupnih operatora u jeziku Java:
, ., (),
!, ~, ++, – –, + (unarno), – (jedno), novo,
*, /, %,
+, –,
<<, >>, >>>,
<, <=, >, >=,
= =, !=,
&, ^, |,
&&,
||,
?:,
=, +=, –=, *=, /=, %=, |=, ^=, <<=, >>=, >>>=.
Asocijativnost operatora na popisu slijedi s lijeva na desno i odozgo prema dolje. Odnosno, sve što je lijevo i gore je više po rangu i važnije.