09/10/2018

Java 02: Tipovi podataka i promenljive

Tipovi podataka

Najmanja jedinica mere za memoriju u računarima je bit. Jedan bit može imati vrednost „0“ ili „1“, ukoliko želimo da sačuvamo veće brojeve u memoriji računara moramo da grupišemo više bitova. Jedan bit može čuvati 2 vrednosti, dok dva bita mogu čuvati 4 vrednosti („00“, „01“, „10“, „11“). Sa dodavanjem svakog novog bita broj mogućih kombinacija se duplira. Zašto je ovo važno? Pošto je memorija ograničeni resurs trudimo se da naš program zauzme minimalnu potrebnu količinu iste.

U tu svrhu služe tipovi podataka. Svaki od tipova ima količinu memorije koju zauzima i od toga zavisi koliko različitih stanja može da čuva. Takođe za tip podataka bitno je i šta koji bit predstavlja, na primer ukoliko želimo da čuvamo decimalne brojeve, moramo rezervisati određeni broj bitova za celobrojni (levo od zareza) i za razlomljeni deo (desno od zareza). Tako da sa ove dve informacije dolazimo do opsega koji predstavlja najmanji i najveći broj koji se može sačuvati u memoriji.

Bez brige, nije potrebno znati detaljne informacije o tipovima, ali je veoma bitno znati zašto postoje, koji tipovi postoje i za šta se koriste:

byte

Celobrojni tip. Zauzima 8 bita i može da čuva broj od -128 do 127.

short

Celobrojni tip. Zauzima 16 bita i može da čuva brojeve od  -32 768 do 32 767

int

Najkorišćeniji celobrojni tip. Zauzima 32 bita i može da čuva broj od  -2 * 109 do 2 * 109

long

Celobrojni tip. Zauzima 64 bita i može da čuva broj od  -9 * 109 do 9 * 109

float

Zauzima 32 bita, osim celobrog može da čuva i decimalan broj (npr. 15,256)

double

Zauzima 64 bita, takođe može da čuva decimalni broj, s’tim što ima duplo veći opseg of floata.

boolean

Zauzima jedan bit. Može da ima vrednost „True“ (tačno) ili „False“ (netačno)

char

Zauzima 16 bita i služi sa karaktere. Koristi Unicode standard za predstavljanje brojeva. Više o tome možete pročitati na linku.

Promenljive

Kada smo videli koji to tipovi podataka postoje vreme je i da naučimo kako da računaru „kažemo“ da neku vrednost sačuva u memoriji. Računaru prvo treba da prosledimo informaciju kog tipa promenljiva treba da bude, a zatim i naziv te promenljive koji ćemo u daljem toku programa koristiti. Potom završiti instrukciju sa karakterom „;“.

int a;

double b;

char c;

boolean d;

Nakon ovih instrukcija u memoriji računara će biti rezervisana određena količina memorije  (u zavisnosti od tipa) u kojoj ćemo moću da smeštamo podatke. Za upis podatka u promenljivu koristimo „=“, s’tim da pre dodele vrednosti promenljiva obavezno mora da se inicijalizuje tj. memorija mora da se rezerviše.

int a;

a = 4;

Takođe moguće je odraditi i jedno i drugo u istoj liniji koda:

int a  = 5;

Što se chara tiče, karakter koji dodeljujemo promenljivoj mora biti u apostrofima:

char c = ’a’;

Dok se promenljivoj tipa boolean mogu isključivo dodeliti vrednosti “true” ili “false”;

boolean b = true;

Naziv promenljivih

Što se naziva promenljivih tiče postoje dva tipa ograničenje. Javina ograničenja koja su obavezna i konvencije koja nisu obavezna.

Javina ograničenja
  • Prvi karakter naziva imena mora biti slovo ili karakteri “_” i “$”.
  • Ostali karakteri mogu biti slova, brojevi i dva gore pomenuta karaktera.
  • Ime promenljive ne sme da bude jednako imenu ključne reči jave (npr. “int” ).
Konvencije

Konvencije su pravila kojih se programeri pridržavaju da bi kod bio čitljiviji. Ne moraju se poštovati, ali je preporučljivo.

  • Nazivi treba da budu kratki, ali da imaju smisao, tj. da se iz naziva može zaključiti šta predstavljaju.
  • Nazivi ne treba da počinju ni sa “_” ni sa “$” znakom, već sa malim početnim slovom.
  • Ukoliko  naziv sadrži više reči prva reč počinje malim, a sve ostale velikim početnim slovom (npr. ovoJeMojaPromenljiva).

Primer:

Pri ispisu vidimo sa se celobrojni broju konzoli ispisuje bez tačke dok razlomljene sa tačkom.

Kod:
public class HelloWorld {
    public static void main(String[] args) {
        int celobrojni1 = 5;
        byte celobrojni2 = 4;
        float razlomljeni1 = 5;
        double razlomljeni2 = 42.42;
        char karakter = 'a';
        boolean bool = true;
        System.out.println(celobrojni1);
        System.out.println(celobrojni2);
        System.out.println(razlomljeni1);
        System.out.println(razlomljeni2);
        System.out.println(karakter);
        System.out.println(bool);
    } 
}

Ispis u konzoi:
5
4
5.0
42.42
a
true

* System.out.println(); Služi da u konzolu ispiše sadržaj koji se nalazi u zagradi tj. vrednost promenljive ili neki tekst (kao u HelloWorld programu sa prve lekcije). Za sada je bitno samo ovo da znate, detaljnije ćemo pisati o ovome u narednim lekcijama.

Prethodna lekcija

Sledeća lekcija

Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *