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 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 Internetu, Java 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 String u Java 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
precizan odgovor koji uključuje vrednosne i referentne tipove. Međutim, 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:
Nema komentara:
Objavi komentar