Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Tip i vrijednost java. Primitivni Java tipovi

Tip i vrijednost java. Primitivni Java tipovi

Tip podataka je definisan sa tri komponente:

  • skup vrijednosti ili objekata;
  • skup operacija koje se mogu primijeniti na sve vrijednosti u skupu;
  • reprezentacija podataka koja određuje njihovo skladištenje.

Koji su tipovi podataka u Javi?

Programski jezik sadrži neke unapred definisane ugrađene tipove i omogućava programerima da definišu sopstvene, prilagođene tipove.

U Javi se tipovi podataka dijele na primitivne i referentne tipove.

"Primitivno" znači da je njegova dalja podjela nemoguća. Programski jezik vam ne dozvoljava da proširite ili promijenite njegov programski jezik. Takav tip podataka opisan je primitivnim i drugim korisnički definiranim tipovima.

Varijabla primitivnog tipa sadrži vrijednost, dok referentna varijabla sadrži adresu objekta u memoriji.

Java jezik. vrijeme i datum

Kompozitni podaci su podijeljeni na klase, interfejse i nizove. Članovi tipa interfejsa su apstraktne metode i konstante. U Javi, tipovi podataka datuma i vremena su specificirani od strane Date() konstruktora:

  • d = novi datum().

Java jezik. Tipovi podataka: String

String je klasa definirana u i može se koristiti za rad s tekstom (niz znakova).

Deklaracija referentne String varijable je sljedeća: String str.

  • str = novi string("Zdravo").

Šta se dešava kada se ovaj kod izvrši? Prvo se dodjeljuje memorija i ime str je povezano s tom memorijskom lokacijom. Ovo se ne razlikuje od deklarisanja primitivne varijable. Drugi dio koda kreira String objekt u memoriji s tekstom "Hello" i pohranjuje referencu na njega (ili memorijsku adresu) u str.

Java referentni tipovi podataka također vam omogućavaju da dodijelite referencu objekta pohranjenu u jednoj varijabli drugoj. Oboje se odnose na isti objekat u memoriji. To se može postići na sljedeći način:

  • stringstr1;
  • stringstr2;
  • str1 = novi string("Bok");
  • str2 = str1;

Objekt String se kreira pomoću novog operatora. Ali pošto se nizovi često koriste, postoji lakši način da ih napravite. Svi literali stringova, odnosno niz znakova zatvorenih u dvostruke navodnike, tretiraju se kao String objekti. Stoga, umjesto novog operatora, možete koristiti string literale:

  • String str1 = "Zdravo".

Javini primitivni tipovi podataka su byte, short, int, long, char, float, double i boolean. Spadaju u dvije kategorije: logičke i numeričke. Potonji se mogu podijeliti na cijele brojeve i brojeve s pomičnim zarezom.

Java cjelobrojni tipovi podataka su numerički tipovi čije su vrijednosti cijeli brojevi. Ima ih pet: byte, short, int, long i char.

int

Int je 32-bitni potpisani primitivni tip podataka. Varijabla zauzima 32 bita memorije. Važeći raspon je -2147483648 do 2147483647 (-231 do 231 - 1). Svi cijeli brojevi u ovom rasponu su cjelobrojni literali ili konstante. Na primjer, 10, -200, 0, 30, 19 su int literali. Mogu se dodijeliti int varijabli:

  • int broj1 = 21;

Cjelobrojni literali se mogu izraziti kao binarni, oktalni, decimalni i heksadecimalni broj.

Kada literal počinje od nule i ima najmanje dvije znamenke, smatra se da je napisan u oktalnom formatu. 0 i 00 predstavljaju istu vrijednost - nulu.

Svi literali int u heksadecimalnom formatu počinju sa 0x ili 0x i moraju sadržavati najmanje jednu heksadecimalnu cifru:

  • int broj1 = 0x123.

Int literali u formatu počinju sa 0b ili 0B:

  • int broj1 = 0b10101.

Dugo

To je 64-bitni potpisani primitivni tip. Koristi se kada rezultat izračuna može premašiti raspon int. Opseg long je -2 63 do 2 63 - 1. Svi cijeli brojevi u ovom rasponu su literali dugog tipa.

Za razliku između int i long tipova podataka u Javi, literal potonjeg tipa uvijek završava sa L ili l.

Literali dugog tipa cjelobrojnih također mogu biti izraženi u oktalnom, heksadecimalnom i binarnom formatu.

Kada se dugi literal dodijeli dugoj varijabli, Java kompajler provjerava vrijednost koja se dodjeljuje kako bi se uvjerio da je u prihvatljivom rasponu; u suprotnom će doći do greške pri kompilaciji.

Budući da je raspon int manji od raspona long, vrijednost int varijable se uvijek može dodijeliti varijabli tipa long. Ali obrnuto dodjeljivanje nije moguće čak ni unutar raspona int. Ovo se radi eksplicitno:

  • broj1 = (int) broj2;

bajtova

Byte je 8-bitni cjelobrojni primitivni tip. Njegov raspon je -128 do 127 (-27 do 27 - 1). To je najmanji cijeli broj dostupan u Javi. U pravilu, bajt varijable se koriste kada je u programu uključeno mnogo vrijednosti u rasponu od -128 do 127 ili kada se radi s binarnim podacima. Za razliku od int i long literala, nema bajt literala. Međutim, možete dodijeliti bilo koji int literal bajt varijabli, budući da se proteže u rasponu bajta.

Ako je vrijednost varijable izvan opsega, Java će baciti grešku kompajlera.

Osim toga, možete dodijeliti samo int literal, a ne vrijednost pohranjenu u int varijabli, jer to može rezultirati gubitkom preciznosti. Ovo bi zahtijevalo eksplicitno prebacivanje tipa.

  • b1 = (bajt) broj1.

Kratko

Predstavlja 16-bitni potpisani cjelobrojni primitivni tip podataka. Njegov raspon je -32768 do 32767 (ili -2 15 do 2 15 - 1).

Obično se potreba za kratkim varijablama javlja kada program koristi veliki broj vrijednosti koje ne prelaze navedeni raspon. Ne postoji kratki literal, ali bilo koji int literal unutar raspona kratkih može se dodijeliti. Vrijednost bajt varijable se uvijek može dodijeliti. Ostala pravila za dodjelu int ili long kratkoj varijabli su ista kao za bajt.

Char

Char je 16-bitni nepotpisani primitivni tip podataka koji predstavlja Unicode karakter. Odsustvo znaka znači da varijabla ne može imati negativnu vrijednost. Raspon je od 0 do 65535, što je isto kodiranje kao Unicode skup znakova. Literal predstavlja vrijednost char i može se izraziti u sljedećim oblicima:

  • znak zatvoren u jednostrukim navodnicima;
  • niz kontrolnih znakova;
  • niz unicode kontrolnih znakova;
  • niz oktalnih kontrolnih znakova.

Znak se može izraziti stavljanjem u jednostruke navodnike: char C1 = "A". označavaju literal niza koji se ne može dodijeliti char varijabli, čak i ako se string sastoji od samo jednog znaka. Ovo nije dozvoljeno jer referenca na primitivnu varijablu nije dodijeljena. Svi literali stringova su objekti klase String i stoga reference, dok su literali znakova primitivnog tipa.

Literal izražen u izlaznoj sekvenci piše se kao obrnuta kosa crta iza koje slijedi znak u pojedinačnim navodnicima. Ukupno ih je 8: '\n', '\r', '\f', '\b', '\t', '\\', '\"', '\''.

Unicode izlazna sekvenca je oblika "\uxxxx", gdje \u (obrnuta kosa crta praćena malim slovima u) označava njen početak, a xxxx predstavlja tačno četiri heksadecimalne cifre Unicode koda znakova. Na primjer, "A" ima vrijednost 65 u decimalnoj i 41 u heksadecimalnoj. Dakle, ovaj znak može biti predstavljen kao "\u0041".

Oktalna izlazna sekvenca se piše kao "\nnn", gdje je n oktalna znamenka (0-7). Raspon vrijednosti je od "\000" do "\377", gdje 377 8 odgovara 255 10 . Stoga se koristi za predstavljanje znakova od 0 do 255, što je neophodno za kompatibilnost sa drugim programskim jezicima. Za razliku od Unicode sekvence, gdje su sve četiri heksadecimalne cifre potrebne, ovdje se mogu koristiti 1, 2 ili 3 oktalne cifre: "\n", "\nn" ili "\nnn".

boolean tip

Boolean ima samo dvije stvarne vrijednosti: true (true) i false (false). Zovu se boolean literali. Logička varijabla se ne može prebaciti na drugi tip i obrnuto. Java ne definiše veličinu booleana - to zavisi od konkretne implementacije JVM-a.

Java tipovi podataka s pomičnim zarezom

Broj koji sadrži frakcijski dio može se pohraniti u memoriju računala u prikazu s fiksnim brojem cifara prije i poslije tačke, ili sa indikacijom njegove pozicije. Pošto broj cifara može varirati, za tačku se kaže da "pluta".

U jeziku Java, tipovi podataka s pokretnim zarezom koriste 32 bita. Prema standardu IEEE 754, ovo odgovara jednostrukoj preciznosti, što omogućava da brojevi 1,4 x 10 -45 i 3,4 x 10 38 budu predstavljeni, na primjer, i pozitivni i negativni.

Sve što se završava na f ili F naziva se literali s pomičnim stupnjem. Mogu biti predstavljeni u decimalnom formatu i u naučnom zapisu. Na primjer:

  • float f1 = 3.25F;
  • plovak f2 = 32,5E-1F;
  • float f3= 0,325E + 1F.

Tip definira dvije nule: +0.0F (ili 0.0F) i -0.0F. Međutim, u svrhu poređenja, obje nule se smatraju jednakima. Osim toga, definirao je dvije vrste beskonačnosti: pozitivnu i negativnu. Rezultati nekih operacija (na primjer, su nedefinirani i predstavljeni su posebnom vrijednošću NaN.

dvostruka preciznost

Double koristi 64 bita za pohranjivanje brojeva s pomičnim zarezom. Broj dvostruke preciznosti može predstavljati pozitivne i negativne vrijednosti od 4,9 x 10 -324 i 1,7 x 10308.

Svi realni brojevi su po defaultu dvostruki literali. Opciono, mogu se eksplicitno označiti sufiksom d ili D, na primjer, 19.27d. Dvostruki literal može se izraziti i decimalnim i naučnim zapisima.

Varijablu nam daje ime skladišta tako da se našim programom može manipulirati. Svaka varijabla u Javi ima specifičan tip, koji određuje njenu veličinu i lokaciju u memoriji; raspon vrijednosti koji se mogu pohraniti u memoriju; i skup operacija koje se mogu primijeniti na varijablu.

Sve varijable moraju biti deklarirane prije nego što se mogu koristiti. Glavni obrazac deklaracije je prikazan u nastavku:

Varijabla tipa podataka [= vrijednost], [varijabla [= vrijednost], ...] ;

Da biste deklarirali više od jedne varijable određenog tipa, možete koristiti listu razdvojenu zarezima.

Slijede primjeri deklaracije i inicijalizacije varijable u Javi:

Int a, b, c; // Deklarisanje tri cijela broja a, b i c. int a = 10, b = 10; // Primjer inicijalizacije. bajt b = 22; // Inicijalizacija varijable b tipa bajt. dupli pi = 3,14159; // Deklarisanje i dodeljivanje pi. char a = "a"; // Varijabli a tipa char dodjeljuje se vrijednost "a".

U ovom vodiču ćemo pogledati različite vrste varijabli dostupnih u jeziku Java. Postoji tri vrste varijabli:

  • lokalne varijable;
  • varijable instance;
  • statičke varijable ili varijable klase.

Lokalne varijable u Javi

  • Lokalne varijable su deklarirane u metodama, konstruktorima ili blokovima.
  • Lokalne varijable se kreiraju kada se metoda, konstruktor ili blok pokrene i uništi nakon što se metoda, konstruktor ili blok dovrše.
  • Modifikatori pristupa se ne mogu koristiti na lokalnim varijablama.
  • Oni su vidljivi samo unutar deklarirane metode, konstruktora ili bloka.
  • Lokalne varijable se interno implementiraju na nivou steka.
  • Java nema zadanu vrijednost za lokalne varijable, tako da moraju biti deklarisani i početna vrijednost mora biti dodijeljena prije prve upotrebe.

Primjer

"age" je lokalna varijabla, definirana unutar "pupAge()" metode i njen opseg je ograničen samo ovom metodom.

Public class Test( public void pupAge()(int age = 0; age = age + 7; System.out.println("Puppy age: " + age); ) public static void main(String args)( Test test = new Test(); test.pupAge(); ) )

Dobiće se sljedeći rezultat:

Starost šteneta: 7

Primjer bez inicijalizacije

Primjer korištenja "doba" bez inicijalizacije. Program će dati grešku tokom kompilacije.

Public class Test( public void pupAge()(int age; age = age + 7; System.out.println("Puppy age: " + age); ) public static void main(String args)( Test test = new Test( ); test.pupAge(); ) )

Ovo će rezultirati sljedećom porukom o grešci u vrijeme kompajliranja:

Test.java:4:broj varijabli možda nije bio inicijaliziran age = age + 7; ^1 greška

Varijable instance

  • Varijable instance su deklarirane u klasi, ali izvan metode, konstruktora ili bilo kojeg bloka.
  • Kada se prostor dodijeli objektu na steku, kreira se utor za svaku vrijednost varijable instance.
  • U Javi, varijable instance se kreiraju kada je objekat kreiran sa ključnom reči "new" i uništavaju se kada je objekat uništen.
  • Varijable sadrže vrijednosti koje se moraju odnositi na više od jedne metode, konstruktora ili bloka ili glavne dijelove stanja objekta koji moraju biti prisutni u cijeloj klasi.
  • Varijable instance mogu biti deklarirane na nivou klase, prije ili nakon upotrebe.
  • Modifikatori pristupa mogu se dati na varijablama instance.
  • Promenljive instance u Javi su vidljive svim metodama, konstruktorima i blokovima u klasi. U pravilu se preporučuje da budu privatni (nivo pristupa). Međutim, možete ih učiniti vidljivima za podklase ovih varijabli koristeći modifikatore pristupa.
  • Varijable instance imaju zadane vrijednosti. Podrazumevano je 0 za brojeve, false za logičke vrednosti, null za reference objekata. Vrijednosti se mogu dodijeliti u deklaraciji ili u konstruktoru.
  • Varijablama instance u Javi se može pristupiti direktno pozivanjem imena varijable unutar klase. Međutim, u statičkim metodama i različitim klasama (kada je pristupačnost data varijablama instance) moraju se pozvati koristeći potpuno kvalificirano ime - ObjectReference.VariableName.

Primjer

import java.io.*; public class Employee( // Varijabla instance je javna za svaku podređenu klasu. public String name; // Varijabla plaće je vidljiva samo u Employee. private double salary; // Ime varijable je dodijeljeno u konstruktoru. public Employee (String empName)( name = empName; ) // Plati je dodijeljena vrijednost public void setSalary(double empSal)( salary = empSal; ) // Ova metoda ispisuje podatke zaposlenika public void printEmp()( System.out.println("name: " + ime) ; System.out.println("plata:" + plata); ) public static void main(String args)( Employee empOne = new Employee("Oleg"); empOne.setSalary(1000); empOne.printEmp (); ) )

Program će proizvesti sljedeći izlaz:

Ime: Oleg plata: 1000,0

Varijable klase ili statičke varijable u Javi

  • Promenljive klase, takođe poznate kao statičke varijable u Javi, koje su deklarirane sa ključnom riječi static u klasi, ali izvan metode, konstruktora ili bloka.
  • Postojaće samo jedna kopija svake statičke varijable u klasi, bez obzira na to koliko objekata je kreirano iz nje.
  • Statičke varijable ili varijable klase rijetko se koriste u Javi, osim kada su deklarirane kao konstante. Konstante su varijable koje su deklarirane kao javne/privatne, konačne i statičke. Konstante se nikada ne mijenjaju u odnosu na prvobitnu vrijednost.
  • U Javi, statičke varijable se kreiraju kada se program pokrene i uništavaju se kada program prestane da radi.
  • Vidljivost je poput varijable instance. Međutim, većina statičkih varijabli je deklarirana kao javna jer moraju biti dostupne korisnicima klase.
  • Zadane vrijednosti su iste kao za varijable instance. Za brojeve, default je 0, za podatke tipa Boolean - false; a za reference objekata - null. Vrijednosti se mogu dodijeliti u deklaraciji ili u konstruktoru. Osim toga, mogu se dodijeliti posebnim statičkim blokovima inicijalizatora.
  • Statičkim varijablama se može pristupiti pozivanjem s imenom klase ClassName.VariableName.
  • Kada se varijable klase deklarišu kao javne, statičke, konačne, imena su napisana velikim slovima. Ako statičke varijable nisu, sintaksa je ista kao na primjer i lokalne varijable.

Primjer

import java.io.*; javna klasa Employee( // plata(plata) varijabla privatna statična privatna statična dvostruka plaća; // DEPARTMENT(odjel) je konstanta javni statički final String DEPARTMENT = "Razvoj "; public static void main(String args)( salary = 1000; System.out.println(ODJEL+"prosječna plata: "+plata); ) )

Ovo će proizvesti sljedeći rezultat:

Razvojna prosečna plata: 1000

Bilješka: da bi im se pristupilo iz vanjske klase, konstante moraju biti dostupne kao Employee.DEPARTMENT.

U prethodnim materijalima, modifikatori pristupa su spominjani više puta. U sljedećoj lekciji ćemo ih detaljno pogledati.

Numerički tipovi su tipovi dizajnirani za pohranjivanje brojeva. Kada izvodite matematičke operacije, imate posla sa numeričkim vrijednostima. Postoje dvije vrste numeričkih tipova. Oni koji su dizajnirani da pohranjuju brojeve bez razlomka nazivaju se cijeli vrste, i one koje mogu pohraniti razlomak broja - pravi, ili tipovi sa floating point.

Java jezik nema koncept neoznačenih brojeva. Svi numerički tipovi ovog jezika su potpisani. Na primjer, ako je vrijednost varijable tipa bajt 0x80 u heksadecimalu, tada je ovaj broj -1.

2.1.1.1. Cjelobrojni tipovi

Nedostatak neoznačenih brojeva u Javi smanjuje broj cjelobrojnih tipova na pola. Jezik ima 4 tipa cijelih brojeva, koji zauzimaju 1, 2, 4 i 8 bajtova u memoriji. Svaki tip - byte, short, int i long - ima svoju prirodnu upotrebu.

Tipbajt

Tip bajta je potpisani 8-bitni tip. Njegov raspon je -128 do 127. Najprikladniji je za pohranjivanje proizvoljnog toka bajtova preuzetih s mreže ili iz datoteke,

bajt b;
bajt c = 11;

Osim ako nije uključena manipulacija bitovima, korištenje tipa bajta općenito treba izbjegavati. Za normalne cijele brojeve koji se koriste kao brojači i u aritmetičkim izrazima, tip int je mnogo prikladniji.

Tipkratko

Short je potpisani 16-bitni tip. Njegov raspon je -32768 do 32767. Ovo je vjerovatno najrjeđe korišteni tip u Javi, jer je definiran kao da prvi ima najznačajniji bajt,

kratke hlače;
kratko t= 129;
Tipint

Tip int se koristi za predstavljanje 32-bitnih potpisanih cijelih brojeva. Raspon važećih vrijednosti za ovaj tip je -2147483648 do 2147483647. Ovaj tip podataka se najčešće koristi za pohranjivanje redovnih cijelih brojeva sa vrijednostima do dvije milijarde. Ovaj tip je odličan za upotrebu u obradi niza i brojačima. U narednim godinama, ovaj tip će savršeno odgovarati mašinskim riječima ne samo 32-bitnih procesora, već i 64-bitnih procesora s podrškom za brzi cevovod za izvršavanje 32-bitnog koda u kompatibilnom načinu rada. Kad god se varijable tipa byte, short, int i integer literali pojave u istom izrazu, tip cijelog izraza se pretvara u int prije završetka evaluacije.

int j = 1000;
Tipdugo

Dugi tip je namijenjen da predstavlja 64-bitne brojeve s predznakom. Njegov raspon valjanih vrijednosti je dovoljno velik čak i za zadatke kao što je brojanje atoma u svemiru,

dugom;
dugon = 123;

Mora biti identifikovan dubina bita cjelobrojni tip s količinom memorije koju zauzima. Izvršeni Java kod može koristiti onoliko memorije koliko smatra prikladnim za vaše varijable, sve dok njihovo ponašanje odgovara ponašanju tipova koje specificirate.

Tabela 2.1. Tabela bitnih dubina i važećih raspona za različite vrste cijelih brojeva

Dubina bita

Domet

-9, 223, 372,036, 854, 775, 808 ... 9, 223, 372, 036, 854, 775, 807

-2, 147, 483, 648 .... 2, 147, 483, 647

-32,768 .... 32, 767

-128 ... 127

2.1.1.2. Brojevi s pomičnim zarezom

Brojevi s pomičnim zarezom, koji se na drugim jezicima često nazivaju realnim brojevima, koriste se u proračunima koji zahtijevaju korištenje razlomka. Java implementira standardni (IEEE-754) skup tipova za brojeve s pomičnim zarezom - float i double i operatore za rad sa njima.

Tabela 2.2. Karakteristike tipova s ​​pomičnim zarezom

Dubina bita

Domet

1.7e-308....1.7e+ 308

3.4e-038....3.4e+ 038

Tipfloat

U varijablama sa normalnim, ili pojedinačna preciznost, deklarirano pomoću ključne riječi float, 32 bita se koriste za pohranjivanje stvarne vrijednosti,

float f;
float f2 = 3,14;
Tipduplo

Kada dvostruka preciznost, specificirano pomoću ključne riječi double, 64 bita se koriste za pohranjivanje vrijednosti. Sve transcendentalno matematičke funkcije kao što su sin, cos, sqrt vraćaju dvostruki rezultat,

duplod;
dupli pi = 3,14159265358979323846;

Varijabla je osnovni element pohranjivanja informacija u Java programu. Varijablu karakterizira kombinacija identifikatora, tipa i opsega. Ovisno o tome gdje je varijabla deklarirana, može biti lokalna, na primjer, za kodiranje unutar metode, ili može biti varijabla instance klase koja je dostupna svim metodama te klase. Lokalni opseg se deklarira pomoću vitičastih zagrada.

1.1. Deklarisanje varijabli

Sve varijable moraju biti deklarirane prije nego što se prvi put koriste u programu. Osnovni oblik deklaracije varijable je:

upišite id[=vrijednost][, id[=vrijednost]...];

Tip je ili jedan od ugrađenih tipova, ili ime klase ili interfejsa. Ispod su neki primjeri deklaracija varijabli različitih tipova. Imajte na umu da neki od primjera uključuju inicijalizaciju početne vrijednosti. Varijable za koje početne vrijednosti nisu specificirane se automatski inicijaliziraju na nulu.

Tabela 1.1. Deklarisanje varijabli različitih tipova

Vrsta varijable

int a,b, c;

Deklariše tri cjelobrojne varijable a,b, c

int d = 3, e,f = 5;

Deklariše još tri cjelobrojne varijable, inicijalizirad if

bajt z = 22;

Deklariše varijabluz tipbajta i inicijalizirajte ga

dupli pi = 3,14159;

Deklariše varijablupi tipdupli i inicijaliziraj ga sa pi

char x ="x";

Varijabla karaktera x dobiva vrijednost "x"

Identifikator je ime varijable. Bilo koja kombinacija malih i velikih slova, brojeva i simbola _ (podvlaka) i $ (dolar) može se koristiti kao identifikator. Identifikatori ne smiju početi cifrom.

Vrijednost je bilo koji literal ili izraz koji se procjenjuje na vrijednost istog (ili kompatibilnog tipa) tipa. Sljedeći primjer stvara tri varijable koje odgovaraju stranicama pravokutnog trokuta, a zatim koristi Pitagorinu teoremu za izračunavanje dužine hipotenuze, u ovom slučaju broja 5, veličine hipotenuze klasičnog pravokutnog trokuta sa stranicama 3- 4-5.

varijable klase (
public static void main(String args)(
duplo a = 3;
duplo b = 4;
duplo c;
od= Math.sqrt (a* a + b* b);
System.out.println("c = "+c);
}

1.2. Varijabilni opseg

Blokovi složenih izraza u Javi označeni su parom vitičastih zagrada (). Promenljive u Javi stupaju na snagu od tačke u programu gde su deklarisane do kraja bloka koji sadrži. Blokovi mogu biti ugniježđeni i svaki može imati svoj vlastiti skup lokalnih varijabli.

Već smo koristili varijable u našim primjerima, jer bez njih bi bilo vrlo teško objasniti primitivne tipove podataka u Javi, ali se nismo fokusirali na to, jer ovo nije velika i složena tema. Još nismo razgovarali o konstantama u Javi. A sada je došlo vrijeme! Pa idemo!

Varijabla je glavna komponenta za skladištenje podataka u Java programu. Varijabla je definirana kombinacijom identifikatora, tipa i opcione početne vrijednosti. osim toga, sve varijable imaju opseg koji definira njihovu vidljivost drugim objektima i životni vijek.

U Javi, sve varijable moraju biti deklarirane prije nego što se mogu koristiti. Varijablu možete deklarirati bilo gdje u programu. Osnovni oblik deklaracije varijable izgleda ovako:

tip identifikator[=vrijednost][, identifikator[=vrijednost] ...] ;

  • tip je jedan od primitivnih Java tipova, ili ime klase ili interfejsa.
  • identifikator je ime varijable

Varijabli se može dodijeliti početna vrijednost (inicijalizirana) specificiranjem znaka jednakosti i vrijednosti. Zapamtite da inicijalizacijski izraz mora vratiti vrijednost istog (ili kompatibilnog) tipa kao što je navedeno za varijablu. Možete koristiti listu razdvojenu zarezima da deklarirate više od jedne varijable datog tipa.

U nastavku je dato nekoliko primjera deklariranja varijabli različitih tipova. Imajte na umu da neke deklaracije inicijaliziraju varijable.

a , b , c ; // deklaracija tri varijable tipa int: a, b i c
int d = 3 , e , f = 5 ; // deklarisanje još tri int varijable sainicijalizacija d i f
bajt z = 22 ; // inicijalizacija varijable z
duplo pi = 3.14159 ; // deklaracija približne vrijednosti varijablepi
char x = "x"; // dodjeljivanje vrijednosti "x" varijabli x

Ne možete koristiti neinicijaliziranu varijablu u izrazima, tako da varijabla mora biti inicijalizirana ili kada je deklarirana ili prije nego što se koristi u bilo kojem izrazu. Na primjer, sljedeći fragment koda će biti prepoznat kao greška već u fazi kompilacije.

vacationDays ;
Sistem . van . println( vacationDays) ; // GREŠKA! Varijabla nije inicijalizirana

Već smo raspravljali o tome kako pravilno imenovati varijable.

Dinamička inicijalizacija varijabli

Java dozvoljava dinamički inicijalizaciju varijabli sa bilo kojim izrazom koji je važeći u trenutku kada je varijabla deklarirana. Na primjer:

a = 3.0 , b = 4.0 ;
// dinamička inicijalizacija varijable c
duplo c = Math . sqrt ( a * a + b * b) ;
Sistem . van . println( "hipotenuza je" + c) ;

Opseg i životni vijek varijabli

Ovo je važno pitanje i treba ga detaljnije razmotriti. A za ovo, prvo moramo razmotriti upotrebu kodnih blokova u Javi.

Korištenje kodnih blokova

Java dozvoljava da se jedan ili više iskaza grupiše u blokove koda, koji se nazivaju i blokovi koda. Ovo se postiže stavljanjem operatora u vitičaste zagrade. Jednom kreiran, blok koda postaje logička jedinica koja se može koristiti na istim mjestima kao jedan izraz. Na primjer, blok može poslužiti kao cilj za if i for izjave. Razmotrite sljedeću if naredbu:

( x< y ) { // početak bloka
x=y;
y= 0 ;
} // kraj bloka

U ovom primjeru, ako je x manji od y, program će izvršiti oba izraza unutar bloka. Dakle, oba iskaza unutar bloka čine logičku jedinicu, a izvršenje jednog iskaza je nemoguće bez istovremenog izvršenja drugog. Glavna ideja koja stoji iza ovog pristupa je da kad god dva ili više iskaza trebaju biti logički povezani, to se radi kreiranjem bloka.

Java dozvoljava deklaracije varijabli unutar bilo kojeg bloka. Blok počinje početnom vitičastom zagradom, a završava se zatvaračem. Blok definira opseg. Tako pri otvaranju svakog novog bloka kreiramo novi obim. Obim određuje koji su objekti vidljivi drugim dijelovima programa. Također određuje vijek trajanja ovih objekata.

Glavno pravilo koje treba zapamtiti je da varijable deklarirane unutar opsega nisu vidljive (tj., nedostupne) kodu izvan opsega. Dakle, deklarisanje varijable unutar opsega dovodi do njene lokalizacije i zaštite od neovlašćenog pristupa i/ili promjena.

Opsezi mogu biti ugniježđeni. Na primjer, svaki put kada kreiramo blok koda, kreiramo novi, ugniježđeni opseg. U ovim slučajevima vanjski opseg uključuje unutrašnji opseg. To znači da objekti deklarirani u vanjskom opsegu bit će vidljivi kodu definiranom u unutrašnjem opsegu. Međutim, obrnuto nije istina. Objekti koji su deklarisani u unutrašnjem opsegu neće biti vidljivi izvan njega. Ovo se može razjasniti sljedećim primjerom:

Varijabilna y, definisan unutar svog opsega ograničenog vitičastim zagradama, dostupan je samo unutar njega. Izvan njega, varijabla y više nije dostupna, a varijabla x dostupno, iu opsegu varijable y.

Još jedna važna nijansa koju treba zapamtiti je da se varijable kreiraju kada uđu u svoj opseg i uništavaju se kada ga napuste.

To znači da će varijabla izgubiti svoju vrijednost čim izađe iz opsega.

Iako blokovi mogu biti ugniježđeni, ne možete deklarirati varijable s istim imenom u unutrašnjem bloku kao u vanjskom opsegu.

Kod prikazan u primjeru lijevo će dati grešku kompilacije.

Takvi trikovi mogući u C i C++ ne rade u Javi.

Konstante u Javi

U Javi, konstante se označavaju ključnom riječi final. Ključna riječ final znači da ovoj varijabli možete dodijeliti vrijednost samo jednom, nakon čega se ne može promijeniti. Preporučljivo je koristiti velika slova za imenovanje konstanti, iako to nije potrebno, ali ovaj stil doprinosi čitljivosti koda. Primjer konstantne deklaracije:

duplo CM_PER_INCH = 2.54 ;

Konstanta se možda neće inicijalizirati kada je deklarirana, ali mora biti inicijalizirana prije nego što se koristi u bilo kojem izrazu, baš kao varijabla, ali to se može učiniti samo jednom. Štaviše, ovo se takođe može uraditi u uslovnim naredbama, odnosno da se inicijalizuje vrednost konstante u zavisnosti od bilo kojih uslova. Kompajler će provjeriti sve moguće opcije, i ako postoji barem jedna gdje konstanta možda nije inicijalizirana, generirat će grešku.

Top Related Articles