Saturday, April 08, 2023

Java programiranje za profesionalce, najvažnije stvari koje treba znati o promenjivima, tipovima podataka i konstantama

Java program se sastoji od kôda napisanog u programskom jeziku Java koji se prevodi u bytecode. Bytecode je međukôd koji može da se izvršava na bilo kojoj platformi koja ima JVM - Java virtuelnu mašinu. Kada se Java program pokrene, JVM ga učitava u memoriju i izvršava. Tokom izvršavanja, JVM koristi razne procese da bi izvršio program, uključujući i interpreter za bytecode i optimizator za brže izvršavanje koda. Jedan od ključnih aspekata Java programa je njegova objektno orijentisana priroda. To znači da se programi pišu koristeći objekte i klase koje se definišu u kodu. Objekti su instance klasa, a klase definišu atribute i metode koji opisuju ponašanje objekta. Java programi obično se sastoje od više klasa koje rade zajedno kako bi obavili neku funkciju. Kada se program pokrene, JVM prvo učitava glavnu klasu i izvršava njen metod main. Tada se ostale klase učitavaju po potrebi kako bi se izvršio program. Još jedna važna karakteristika Java programa je upravljanje memorijom. Java koristi mehanizam GC - garbage collector za koji automatski uklanja neiskorišćene objekte iz memorije kako bi se oslobodio prostor za druge objekte. Ovaj proces je automatski i vi kao Java programer ne morate direktno da se brinete o oslobađanju memorije. Ako vas interesuje više detalja o Java programskom jeziku, kliknite ovde. Pretpostavimo da vi niste totalni početnik u programiranju, da ste možda neko ko ima neko iskustvo u C# programskom jeziku, onda ćete najbolje razumeti kako Java programski jezik funkcioniše  kad obratite pažnju na razliku između Java i C# programskog jezika u pogledu njihove implementacije i načina rada i pored toga što ova dva programska jezika imaju dosta i sličnosti.


( Java se izvršava na svakoj platformi koja ima JVM - java virtualnu mašinu )

Java programski jezik je osmišljen kao platformski nezavisan programski jezik koji se može izvršavati na bilo kojoj platformi koja ima JVM – Java virtualnu mašinu, dok C# programski jezik se oslanja na .NET radni okvir. U C# programskom jeziku je upravljanje memorije malo nešto drugačije, C# ima nešto sličan mehanizam kao što je GC - garbage collector koji se zove .Net Garbage Collector, drugačiji se kompajliraju programi. Isto tako C# ima sličan međukôd bytecode-u koji se naziva CIL - Common Intermediate Language i naravno i pored toga što su oba jezika objektno orjentisana, postoje razlike u aspektima jezika poput sintakse, konvencije, pristup modifikatorima i sl. Ako kodirate desktop aplikacije, moja preporuka vam je da kodirate u C# programskom jeziku ali ako govorimo o veb aplikacijama ili velikim projektima i sistemima koji se izvršavaju na InternetuJava je definitivno bolji izbor. Sve u svemu, ukoliko poznajete C# programski jezik, učenje Java programskog jezika vam neće biti toliko komplikovano. Što se tiče promenjivih, pravila po tom pitanja su ista. Promenjive se deklarišu navođenjem njihovog naziva i tipa podataka. Naziv promenjive može sadržati slova, brojeve i donje crte, ali ne može započeti brojem ili sadržavati razmake. Važno je dati naziv promenjivima tako da budu jasne i opisne, kako bi se kasnije lako razumela svrha njihovog korišćenja u programu. Međutim, kad su u pitanju tipovi podataka u Java programskom jeziku, oba programska jezika imaju strogo tipizirane tipove podataka, ali i definitivno postoje neke razlike. Čak i osnovni tipovi koji deluju isto u oba programska jezika, drugačije su implementirani. Npr. u Java programskom jeziku String tip podataka se piše velikim slovom dok tip podataka boolean se piše umesto bool, pa početnici često to mešaju. Deklarisanje promenjivih je isto kao u C# programskom jeziku, ali obratite pažnju da objekat StringJava programskom jeziku očekuje dvostruke navodnike “ “, kao i jednostruke navodnike ’ ’ po pitanju tipa char. U Java programskom jeziku nemate tipove podataka dynamic ili var. Java programski jezik ima manje tipova podataka, ali uvodi neke poput enum. Tako da ćete morati korigovati i neke navike, bez obzira na totalno drugačije okruženje, zajednicu i resurse.

Tipovi podataka u Java programskom jeziku

Ako pitate C# programera kako se dele tipovi podataka u C# programskom jeziku, dobićete jasan i
precizan odgovor koji uključuje vrednosne i referentne tipove. Međutim, u Java programskom jeziku 
tipovi podataka se dele na dva osnovna tipa: prosti tipovi i složeni tipovi. Prosti tipovi uključuju boolean, byte, char, short, int, long, float i double tip podataka, dok složeni tipovi predstavljaju nizovi koji mogu biti tipa byte, short, int, long, float, double, boolean, char ili nizovi objekta, kao i objekte poput String, Date, Random, Scanner, Math itd. 


( Tipovi podataka u Java programskom jeziku )


Pogledajte listu kako izgleda podela tipova podataka u Java programskom jeziku.

  • Prosti tipovi
    • Celobrojni 
      • byte
      • short
      • int
      • long
    • Sa pokretnim zarezom
      • float
      • double
    •  Znakovni
      • char
    • Logički
      • boolean
    • Složeni tipovi
      • Nizovi
      • Objekti

Nadam se da ste stekli bolji uvid u Java tipove podataka. U nastavku ćemo napraviti program koji će nam još detaljnije ilustrovati različite tipove podataka i njihove minimalne i maksimalne vrednosti, koje možemo koristiti u programiranju i proračunima. Pokrenite IDE – programersko razvojno okruženje koje koristite, nazovite novi program variables i unesite sledeći Java kôd:

package com.tutorial;

import static java.lang.System.*;
public class variables {
   
public static void main(String[] args) {

       
out.println("\t\tDATA TYPES IN JAVA PROGRAMMING LANGUAGE\n");

           
// This boolean type of variable can be true or false
       
boolean booleanVariable = true;
       
out.printf(" boolean or java.lang.Boolean ... %s, %s%n", booleanVariable, !booleanVariable);

       
// This byte type of variable has range from -128 to 127
        
byte byteVariable = 0;
       
out.printf(" byte or java.lang.Byte ... %d, %d%n", byteVariable, byteVariable = 127);

       
// This short type of variable has range from -32,768 to 32,767
       
short shortVariable = Short.MIN_VALUE;
       
out.printf(" short or java.lang.Short ... %d, %d%n", shortVariable, shortVariable = Short.MAX_VALUE);

       
// This int type of variable has range from -2^31 to 2^31-1
       
int intVariable = Integer.MIN_VALUE;
       
out.printf(" int or java.lang.Integer ... %d, %d%n", intVariable, intVariable = Integer.MAX_VALUE);

       
// This long type of variable has range from -2^63 to 2^63-1
       
long longVariable = Long.MIN_VALUE;
       
out.printf(" long or java.lang.Long ... %d, %d%n", longVariable, longVariable = Long.MAX_VALUE);

       
// This float type of variable has range from 1.4E-45 to 3.4028235E+38
       
float floatVariable = Float.MIN_VALUE;
       
out.printf(" float or java.lang.Float ... %s, %s%n", floatVariable, floatVariable = Float.MAX_VALUE);

       
// This double type of variable has range from 4.9E-324 to 1.7976931348623157E+308
       
double doubleVariable = Double.MIN_VALUE;
       
out.printf(" double or java.lang.Double ... %s, %s%n", doubleVariable, doubleVariable = Double.MAX_VALUE);

       
// This char type of variable has only one character
       
char charVariable = 'A';
       
out.printf(" char or java.lang.Character ... %s%n", charVariable);

       
// This String type of variable holds a sequence of characters
       
String stringVariable = "A string can have 2GB or over 1 billion characters.";
       
out.printf(" String or java.lang.String ... %s%n", stringVariable);

       
// This Object type of variable can hold any type
       
Object objectVariable = "An object can hold any type.";
       
out.printf(" Object or java.lang.Object ... %s%n", objectVariable);

       
// a constant
       
final double PI = 3.14159265359;
       
out.printf(" You cannot change constant value after initialization.%n Constant PI = %s always.%n", PI
);
    }

}

Kada izvršite navedeni Java program, rezutat će biti ovo:

C:\Users\manuel\.jdks\openjdk-20\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.3.2\lib\idea_rt.jar=12295:D:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\java_tutorial\variables\out\production\variables com.tutorial.variables

 

DATA TYPES IN JAVA PROGRAMMING LANGUAGE

 

 boolean or java.lang.Boolean ... true, false

 byte or java.lang.Byte ... 0, 127

 short or java.lang.Short ... -32768, 32767

 int or java.lang.Integer ... -2147483648, 2147483647

 long or java.lang.Long ... -9223372036854775808, 9223372036854775807

 float or java.lang.Float ... 1.4E-45, 3.4028235E38

 double or java.lang.Double ... 4.9E-324, 1.7976931348623157E308

 char or java.lang.Character ... A

 String or java.lang.String ... A string can have 2GB or over 1 billion characters.

 Object or java.lang.Object ... An object can hold any type.

 You cannot change constant value after initialization.

 Constant PI = 3.14159265359 always.

 

Process finished with exit code 0

 

I ako ste obratili pažnju na kôd, da final double nije promenjiva, nego konstanta.

// a constant

final double PI = 3.14159265359;

U C# bi ste konstantu pisali ovako:

// a constant

const decimal PI = 3.14159265359M;

U ovom primeru, PI predstavlja ime konstante tipa decimal, koja je inicijalno postavljena na tačnu vrednost broja 3.14159265359. Kao što je već poznato, nakon inicijalizacije vrednost konstante PI se ne može promeniti u bilo kojem delu koda, za razliku od promenljivih. Konstante se obično koriste kada je potrebno osigurati da vrednost promenljive ostane nepromenjena tokom izvršavanja programa. U ovom slučaju PI je konstantna vrednost koja se često koristi u matematičkim proračunima, iako se tačna vrednost PI može ograničiti brojem decimala koji se mogu prikazati u programu. Korišćenje konstanti olakšava rad jer osigurava da se tačna vrednost PI neće menjati tokom izvršavanja programa. Osim toga, upotreba konstante PI u kodu umesto celog niza brojeva čini kod preglednijim i lakšim za čitanje. Ako vam je potrebna tačna vrednost PI u svom kodu, ne morate pisati celu vrednost svaki put kada se pojavljuje, već jednostavno koristite ime konstante PI. Kako se ovaj program kodira i kako radi, možete pogledati i u video-u:


( Java - 2. Variables, Data Types and Constants )











 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 


No comments:

Post a Comment