Java - Tipovi podataka


Varijable u Javi

Varijabla je lokacija u memoriji (prostor za pohranu) za čuvanje podataka. Za označavanje prostora za pohranu, svakoj varijabli treba dati jedinstveno ime (identifikator).



Kako deklarisati varijable u Javi?

Evo primjera za deklarisanje varijable u Javi.

int speedLimit = 80;

Ovdje je speedLimit varijabla int tipa podataka i dodjeljuje joj se vrijednost 80. Znači, varijabla speedLimit može pohraniti cjelobrojne vrijednosti. O vrstama podataka u Javi detaljno ćete saznati u narednim lekcijama. U primjeru smo varijabli dodijelili vrijednost tokom deklaracije. Međutim, to nije obavezno. Možete deklarisati varijable bez dodjeljivanja vrijednosti, a kasnije možete pohraniti vrijednost po želji. Pogledajmo primjer:

int speedLimit;
speedLimit = 80;

Vrijednost varijable može se mijenjati u programu, otuda i naziv 'varijabla'. Na primjer:

int speedLimit = 80;
... .. ...
speedLimit = 90; 

Java je jezik statičkog tipa. To znači da se sve varijable moraju deklarisati prije nego što se mogu koristiti. Takođe ne možete promijeniti vrstu podataka varijable u Javi unutar istog opsega. Koji je opseg varijabli? Ne brinite se za sada. Za sada, samo zapamtite da NE MOŽETE ovako nešto.

int speedLimit = 80;
... .. ...
float speedLimit;


Primitivni tipovi podataka u Javi

Kao što je gore spomenuto, Java je jezik statičkog tipa. To znači da se sve varijable moraju deklarisati prije nego što se mogu koristiti.

int speed;

Ovdje je speed varijabla, a tip podataka varijable je int. Int tip podataka određuje da varijabla speed može da sadrži samo cijele brojeve. Jednostavno rečeno, vrsta podataka varijable određuje vrijednosti koje varijabla može pohraniti. Postoji 8 tipova podataka unaprijed definisanih u Java programskom jeziku, poznatih kao primitivni tipovi podataka. Pored primitivnih tipova podataka, u Javi postoje i referentni tipovi podataka (o čemu ćete saznati u narednim lekcijama).



8 Primitivnih tipova podataka


boolean

  • Boolov tip podataka ima dvije moguće vrijednosti, istinite (true) ili lažne (false).
  • Zadana vrijednost: false.
  • Obično se koriste za true /false stanja. Na primjer:

  • class BooleanExample {
        public static void main(String[] args) {
        	
            boolean flag = true;
            System.out.println(flag);
        }
    }

byte

  • Vrsta podataka bit (byte) može imati vrijednosti od -128 do 127 (8-bitni).
  • Koristi se umjesto int ili drugih cjelobrojnih vrsta podataka za spremanje u memoriju ako je sigurno da će vrijednost varijable biti unutar [-128, 127].
  • Zadana vrijednost: 0
  • Primjer:

  • class ByteExample {
        public static void main(String[] args) {
    
            byte range;
            range = 124;
            System.out.println(range);
        }
    }

short

  • Tip kratkih podataka može imati vrijednosti od -32768 do 32767 (16-bitni).
  • Koristi se umjesto drugih cjelobrojnih vrsta podataka za spremanje u memoriju ako je sigurno da će vrijednost varijable biti unutar [-32768, 32767].
  • Zadana vrijednost: 0
  • Primjer:

  • class ShortExample {
        public static void main(String[] args) {
        	
            short temperature;
            temperature = -200;
            System.out.println(temperature);
        }
    }

int

  • Int tip podataka može imati vrijednosti od -231 do 231-1 (32-bitni).
  • Ako koristite Java 8 ili noviju verziju, možete koristiti nepotpisani 32-bitni cijeli broj s minimalnom vrijednošću 0 i maksimalnom vrijednosti 232-1. Ako ste zainteresovani da saznate više o tome, posjetite: Nepotpisani cijeli broj u Javi 8?
  • Zadana vrijednost: 0
  • Primjer:

  • class IntExample {
        public static void main(String[] args) {
        	
            int range = -4250000;
            System.out.println(range);
        }
    }

long

  • Long tip podataka može imati vrijednosti od -263 do 263-1 (64-bitni).
  • Ako koristite Java 8 ili noviju verziju, možete koristiti nepotpisani 64-bitni cijeli broj s minimalnom vrijednošću 0 i maksimalnom vrijednošću 264-1.
  • Zadana vrijednost: 0
  • Primjer:

  • class LongExample {
        public static void main(String[] args) {
        	
            long range = -42332200000L;
            System.out.println(range);
        }
    }

double

  • Dvostruki double tip podataka je 64-bitna s pomičnim zarezom dvostruke preciznosti.
  • Nikada se ne smije koristiti za precizne vrijednosti poput valute.
  • Zadana vrijednost: 0,0 (0,0d)
  • Primjer:

  • class DoubleExample {
        public static void main(String[] args) {
        	
            double number = -42.3;
            System.out.println(number);
        }
    }

float

  • Vrsta podatka float je 32-bitan sa pomičnim zarezom s jednom preciznošću. Saznajte više o jednostrukoj preciznosti i dvostrukoj preciznosti s float.
  • Nikada se ne smije koristiti za precizne vrijednosti poput valute.
  • Zadana vrijednost: 0,0 (0,0f)
  • Primjer:

  • class FloatExample {
        public static void main(String[] args) {
        	
            float number = -42.3f;
            System.out.println(number);
        }
    }

char

  • To je 16-bitni Unicode znak.
  • Minimalna vrijednost vrste podataka char je "\u0000" (0). Maksimalna vrijednost tipa podataka char je „\uffff“.
  • Zadana vrijednost: '\u0000'
  • Primjer:

  • class CharExample {
        public static void main(String[] args) {
        	
            char letter = '\u0051';
            System.out.println(letter);
        }
    }

    Izlaz Q dobijate, jer je vrijednost Unicode Q '\u0051'. Evo još jednog primjera:

    class CharExample {
        public static void main(String[] args) {
        	
            char letter1 = '9';
            System.out.println(letter1);
        	
            char letter2 = 65;
            System.out.println(letter2);
    
        }
    }

    Kada ispisujete letter1 dobićete 9, jer je letter1 dodijeljen znak '9'. Kada ispisujete letter2, dobićete A, jer ASCII vrijednost 'A' iznosi 65. To je zato što java prevodilac tretira karakter kao integralni tip. Da biste saznali više o ASCII, posetite Šta je ASCII kod ?.


String

Java nudi i podršku za znakovne stringove putem klase java.lang.String. Evo kako možete stvoriti String objekt u Javi:

myString = "Volim učiti Javu uz IT TUTORIJALE";

Java string je važna tema o kojoj ćete detaljno saznati u kasnijim lekcijama. Međutim, ako niste početnik u programiranju i želite to naučiti sada, posjetite lekciju Java Stringovi.



Java literali

Da bismo razumjeli literale, uzmimo primjer za dodjeljivanje vrijednosti varijabli.

boolean flag = false;

Ovdje je:

  • boolean - vrsta podataka.
  • flag - promjenjiva
  • false - literal

Literal je prikaz izvornog koda fiksne vrijednosti. Vrijednosti poput 1.5, 4, true, '\u0050' koje se pojavljuju direktno u programu bez potrebe su za računanjem, jer su fiksne. U gornjem primjeru, flag je varijabla. Budući da je varijabla vrste boole, može pohraniti ili false ili true. Da bi prevodilac to shvatio, potrebno mu je računanje. Međutim, literali poput -5, 'a', true predstavljaju fiksnu vrijednost.



Integral literali

  • Integralni brojevi se koriste za inicijalizaciju varijabli cjelobrojnih tipova podataka byte, short, int i long.
  • Ako se cjelobrojni literal završava sa l ili L, tip je long.

  • // Error! literal 42332200000 tipa int je izvan dometa
    int myVariable1 = 42332200000; // 42332200000L je long tipa i nije van dometa
    long myVariable2 = 42332200000L;
  • Celi brojevi se mogu izraziti u decimalnim, heksadecimalnim i binarnim brojevnim sistemima.
  • Brojevi koji počinju s prefiksom 0x predstavljaju heksadecimalne. Slično tome, brojevi koji počinju s prefiksom 0b predstavljaju binarne.

  • // decimalni
    int decNumber = 34; // 0x predstavlja heksadecimalne
    int hexNumber = 0x2F; // 0b predstavlja binarne
    int binNumber = 0b10010;


Floating-point literali

  • Literali s pomičnim zarezom koriste se za inicijalizaciju varijabli tipa float i double.
  • Ako se floating-point završava sa f ili F, on je tipa float. Inače je tipa double. Double tip se po želji može završiti sa D ili d. Međutim, nije neophodno.
  • Oni se mogu izraziti i u naučnim zapisima pomoću E ili e.

  • class DoubleExample {
        public static void main(String[] args) {
        	
            double myDouble = 3.4;
            float myFloat = 3.4F;
        	
            // 3.445*10^2
            double myDoubleScientific = 3.445e2;
    
            System.out.println(myDouble);
            System.out.println(myFloat);
            System.out.println(myDoubleScientific);
        }
    }


Character i String literali

  • Sadrže Unicode (UTF-16) znakove.
  • Za char literale koriste se jednostuki navodni znaci. Na primjer: 'a', '\ u0111' itd.
  • Za string literale koristi se dvostuki navodni znaci. Na primjer: "programiranje", "Java 8", itd.
  • Java takođe podržava i nekoliko posebnih sekvenci bijega. Na primjer: \b (backspace), \t (tab), \n (feed feed), \f (feed form), \r (povratak nosača), \"(dvostruka ponuda), \'(pojedinačna citata), i \\ (kosa crta unazad).

  • class DoubleExample {
        public static void main(String[] args) {
        	
            char myChar = 'g';
            char newLine = '\n';
            String myString = "Java 8";
        	
            System.out.println(myChar);
            System.out.println(newLine);
            System.out.println(myString);
        }
    }