Java Variabler og datatyper
Hvad er en variabel i Java?
Variabel i Java er en databeholder, der gemmer dataværdierne under Java programudførelse. Hver variabel tildeles datatype, som angiver typen og mængden af værdi, den kan indeholde. Variabel er et hukommelsesplaceringsnavn på dataene. De Java variabler har hovedsageligt tre typer: Lokal, Forekomst og Statisk.
For at bruge en variabel i et program skal du udføre 2 trin
- Variabel erklæring
- Variabel initialisering
Sådan deklareres variabler i Java?
For at erklære en variabel skal du angive datatypen og give variablen et unikt navn.
Eksempler på andre gyldige erklæringer er
int a,b,c; float pi; double d; char a;
Sådan initialiseres variabler i Java?
For at initialisere en variabel skal du tildele den en gyldig værdi.
Eksempel på andre gyldige initialiseringer er
pi =3.14f; do =20.22d; a=’v’;
Du kan kombinere variabeldeklaration og initialisering.
Eksempel:
int a=2,b=4,c=6; float pi=3.14f; double do=20.22d; char a=’v’;
Variabletyper i Java
In Java, er der tre typer variabler:
- Lokale variabler
- Forekomstvariabler
- Statiske variable
1) Lokale variabler
Lokale variabler er en variabel, der er erklæret inde i en metodes brødtekst.
2) Forekomstvariabler
Forekomstvariabler defineres uden det statiske nøgleord. De erklæres uden for enhver metode, konstruktør eller blok. Disse variabler er specifikke for hver instans af en klasse og er kendt som instansvariabler.
3) Statiske variable
Statiske variable initialiseres kun én gang, på tidspunktet for klassens indlæsning, før afviklingen af programmet starter. Disse variabler deles mellem alle forekomster af en klasse og initialiseres før eventuelle forekomstvariabler.
Variabletyper i Java med eksempler
class Guru99 { static int a = 1; //static variable int data = 99; //instance variable void method() { int b = 90; //local variable } }
Hvad er datatyper i Java?
Datatyper ind Java defineres som specifikationer, der tildeler forskellige størrelser og typer af værdier, der kan lagres i variablen eller en identifikator. Java har et rigt sæt af datatyper. Datatyper ind Java kan opdeles i to dele:
- Primitive datatyper :- som omfatter heltal, karakter, boolean og float
- Ikke-primitive datatyper :- som omfatter klasser, arrays og grænseflader.
Primitive datatyper
Primitive datatyper er foruddefinerede og tilgængelige i Java sprog. Primitive værdier deler ikke tilstand med andre primitive værdier.
Der er 8 primitive typer: byte, short, int, long, char, float, double og boolean
Heltalsdatatyper
byte (1 byte) short (2 bytes) int (4 bytes) long (8 bytes)
Flydende datatype
float (4 bytes) double (8 bytes)
Tekstdatatype
char (2 bytes)
Logisk
boolean (1 byte) (true/false)
Datatype | Standard værdi | Standardstørrelse |
---|---|---|
byte | 0 | 1 byte |
kort | 0 | 2 bytes |
int | 0 | 4 bytes |
lang | 0L | 8 bytes |
flyde | 0.0f | 4 bytes |
fordoble | 0.0d | 8 bytes |
boolean | falsk | 1 bit |
char | '\u0000' | 2 bytes |
Punkter at huske:
- Alle numeriske datatyper er signerede (+/-).
- Størrelsen af datatyper forbliver den samme på alle platforme (standardiseret)
- char data indtast Java er 2 bytes, fordi den bruger UNICODE tegnsæt. I kraft af det, Java understøtter internationalisering. UNICODE er et tegnsæt, som dækker alle kendte scripts og sprog i verden
Java Variabel Typekonvertering & Typestøbning
En variabel af én type kan modtage værdien af en anden type. Her er der 2 sager –
Case 1) Variabel med mindre kapacitet tildeles en anden variabel med større kapacitet.
Denne proces er automatisk, og ikke-eksplicit er kendt som Konvertering
Case 2) Variabel med større kapacitet tildeles en anden variabel med mindre kapacitet
I sådanne tilfælde skal du udtrykkeligt angive type cast operatør. Denne proces er kendt som Type Støbning.
I tilfælde af at du ikke angiver en type cast-operatør; kompilatoren giver en fejl. Da denne regel håndhæves af compileren, gør den programmøren opmærksom på, at den konvertering, han er ved at foretage, kan forårsage tab af data og forhindrer utilsigtede tab.
Eksempel: For at forstå typestøbning
Trin 1) Kopier følgende kode ind i en editor.
class Demo { public static void main(String args[]) { byte x; int a = 270; double b = 128.128; System.out.println("int converted to byte"); x = (byte) a; System.out.println("a and x " + a + " " + x); System.out.println("double converted to int"); a = (int) b; System.out.println("b and a " + b + " " + a); System.out.println("\ndouble converted to byte"); x = (byte)b; System.out.println("b and x " + b + " " + x); } }
Trin 2) Gem, kompilér og kør koden.
Forventet output:
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128