Java datatipes


Java datatipes

Soos in die vorige hoofstuk verduidelik, moet 'n veranderlike in Java 'n gespesifiseerde datatipe wees:

Voorbeeld

int myNum = 5;               // Integer (whole number)
float myFloatNum = 5.99f;    // Floating point number
char myLetter = 'D';         // Character
boolean myBool = true;       // Boolean
String myText = "Hello";     // String

Datatipes word in twee groepe verdeel:

  • Primitiewe datatipes - sluit in byte, short, int, long, float, double, booleanenchar
  • Nie-primitiewe datatipes - soos String , Arrays en Classes (jy sal meer hieroor leer in 'n latere hoofstuk)

Primitiewe datatipes

'n Primitiewe datatipe spesifiseer die grootte en tipe van veranderlike waardes, en dit het geen bykomende metodes nie.

Daar is agt primitiewe datatipes in Java:

Data Type Size Description
byte 1 byte Stores whole numbers from -128 to 127
short 2 bytes Stores whole numbers from -32,768 to 32,767
int 4 bytes Stores whole numbers from -2,147,483,648 to 2,147,483,647
long 8 bytes Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
float 4 bytes Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits
double 8 bytes Stores fractional numbers. Sufficient for storing 15 decimal digits
boolean 1 bit Stores true or false values
char 2 bytes Stores a single character/letter or ASCII values

Getalle

Primitiewe getaltipes word in twee groepe verdeel:

Heelgetaltipes stoor heelgetalle, positief of negatief (soos 123 of -456), sonder desimale. Geldige tipes is byte, short, int en long. Watter tipe jy moet gebruik, hang af van die numeriese waarde.

Swaaipunttipes verteenwoordig getalle met 'n breukdeel wat een of meer desimale bevat. Daar is twee tipes: floaten double.

Alhoewel daar baie numeriese tipes in Java is, is die meeste wat vir getalle gebruik word int(vir heelgetalle) en double(vir swaaipuntgetalle). Ons sal hulle egter almal beskryf terwyl jy aanhou lees.



Heelgetal tipes

Byte

Die bytedatatipe kan heelgetalle van -128 tot 127 stoor. Dit kan in plaas van intof ander heelgetaltipes gebruik word om geheue te bespaar wanneer jy seker is dat die waarde binne -128 en 127 sal wees:

Voorbeeld

byte myNum = 100;
System.out.println(myNum);

Kort

Die shortdatatipe kan heelgetalle van -32768 tot 32767 stoor:

Voorbeeld

short myNum = 5000;
System.out.println(myNum);

Int

Die intdatatipe kan heelgetalle stoor van -2147483648 tot 2147483647. Oor die algemeen, en in ons tutoriaal, intis die datatipe die voorkeurdatatipe wanneer ons veranderlikes met 'n numeriese waarde skep.

Voorbeeld

int myNum = 100000;
System.out.println(myNum);

Lank

Die longdatatipe kan heelgetalle stoor van -9223372036854775808 tot 9223372036854775807. Dit word gebruik wanneer int nie groot genoeg is om die waarde te stoor nie. Let daarop dat jy die waarde met 'n "L" moet eindig:

Voorbeeld

long myNum = 15000000000L;
System.out.println(myNum);


Tipes drywende punt

Jy moet 'n swaaipunttipe gebruik wanneer jy ook al 'n getal met 'n desimale benodig, soos 9,99 of 3,14515.

Vlot

Die floatdatatipe kan breukgetalle van 3.4e−038 tot 3.4e+038 stoor. Let daarop dat jy die waarde met 'n "f" moet eindig:

Voorbeeld

float myNum = 5.75f;
System.out.println(myNum);

Dubbel

Die doubledatatipe kan breukgetalle van 1.7e−308 tot 1.7e+308 stoor. Let daarop dat jy die waarde met 'n "d" moet eindig:

Voorbeeld

double myNum = 19.99d;
System.out.println(myNum);

Gebruik floatof double?

Die akkuraatheid van 'n swaaipuntwaarde dui aan hoeveel syfers die waarde na die desimale punt kan hê. Die akkuraatheid van floatis slegs ses of sewe desimale syfers, terwyl doubleveranderlikes 'n akkuraatheid van ongeveer 15 syfers het. Daarom is dit veiliger om doublevir die meeste berekeninge te gebruik.

Wetenskaplike getalle

'n Wisselpuntgetal kan ook 'n wetenskaplike getal wees met 'n "e" om die mag van 10 aan te dui:

Voorbeeld

float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);


Booleans

'n Boolese datatipe word met die booleansleutelwoord verklaar en kan slegs die waardes trueof neem false:

Voorbeeld

boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);     // Outputs true
System.out.println(isFishTasty);   // Outputs false

Boole-waardes word meestal vir voorwaardelike toetsing gebruik, waaroor jy in 'n latere hoofstuk meer sal leer.


Karakters

Die chardatatipe word gebruik om 'n enkele karakter te stoor. Die karakter moet omring word deur enkele aanhalingstekens, soos 'A' of 'c':

Voorbeeld

char myGrade = 'B';
System.out.println(myGrade);

Alternatiewelik kan jy ASCII-waardes gebruik om sekere karakters te vertoon:

Voorbeeld

char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);

Wenk: 'n Lys van alle ASCII-waardes kan in ons ASCII-tabelverwysing gevind word .


Snare

Die Stringdatatipe word gebruik om 'n reeks karakters (teks) te stoor. Stringwaardes moet deur dubbele aanhalingstekens omring word:

Voorbeeld

String greeting = "Hello World";
System.out.println(greeting);

Die String-tipe word so baie gebruik en geïntegreer in Java, dat sommige dit "die spesiale negende tipe" noem.

'n String in Java is eintlik 'n nie-primitiewe datatipe, want dit verwys na 'n voorwerp. Die String-objek het metodes wat gebruik word om sekere bewerkings op snare uit te voer. Moenie bekommerd wees as jy nog nie die term "voorwerp" verstaan ​​nie . Ons sal meer oor snare en voorwerpe in 'n latere hoofstuk leer.


Nie-primitiewe datatipes

Nie-primitiewe datatipes word verwysingstipes genoem omdat dit na objekte verwys.

Die belangrikste verskil tussen primitiewe en nie-primitiewe datatipes is:

  • Primitiewe tipes is vooraf gedefinieer (reeds gedefinieer) in Java. Nie-primitiewe tipes word deur die programmeerder geskep en word nie deur Java gedefinieer nie (behalwe vir String).
  • Nie-primitiewe tipes kan gebruik word om metodes aan te roep om sekere bewerkings uit te voer, terwyl primitiewe tipes nie.
  • 'n Primitiewe tipe het altyd 'n waarde, terwyl nie-primitiewe tipes null.
  • 'n Primitiewe tipe begin met 'n kleinletter, terwyl nie-primitiewe tipes met 'n hoofletter begin.
  • Die grootte van 'n primitiewe tipe hang af van die datatipe, terwyl nie-primitiewe tipes almal dieselfde grootte het.

Voorbeelde van nie-primitiewe tipes is Strings , Arrays , Classes , Interface , ens. Jy sal meer hieroor leer in 'n latere hoofstuk.


Toets jouself met oefeninge

Oefening:

Voeg die korrekte datatipe by vir die volgende veranderlikes:

 myNum = 9;
 myFloatNum = 8.99f;
 myLetter = 'A';
 myBool = false;
 myText = "Hello World";