Datové typy Java


Datové typy Java

Jak bylo vysvětleno v předchozí kapitole, proměnná v Javě musí být specifikovaný datový typ:

Příklad

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

Datové typy se dělí do dvou skupin:

  • Primitivní datové typy – zahrnuje byte, short, int, long, float, doubleabooleanchar
  • Neprimitivní datové typy – například String , Arrays a Classes (o nich se více dozvíte v další kapitole)

Primitivní datové typy

Primitivní datový typ určuje velikost a typ hodnot proměnných a nemá žádné další metody.

V Javě je osm primitivních datových typů:

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

čísla

Primitivní typy čísel se dělí do dvou skupin:

Typy Integer ukládají celá čísla, kladná nebo záporná (například 123 nebo -456), bez desetinných míst. Platné typy jsou byte, shorta int . longJaký typ byste měli použít, závisí na číselné hodnotě.

Typy s plovoucí desetinnou čárkou představují čísla se zlomkovou částí obsahující jedno nebo více desetinných míst. Existují dva typy: floata double.

I když v Javě existuje mnoho číselných typů, nejpoužívanější pro čísla jsou int(pro celá čísla) a double(pro čísla s plovoucí desetinnou čárkou). Během dalšího čtení je však všechny popíšeme.



Celočíselné typy

Byte

Datový bytetyp může ukládat celá čísla od -128 do 127. To lze použít místo intnebo jiných celočíselných typů pro úsporu paměti, když jste si jisti, že hodnota bude v rozmezí -128 a 127:

Příklad

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

Krátký

Datový shorttyp může ukládat celá čísla od -32768 do 32767:

Příklad

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

Int

Datový inttyp může ukládat celá čísla od -2147483648 do 2147483647. Obecně a v našem tutoriálu je intdatový typ preferovaným datovým typem, když vytváříme proměnné s číselnou hodnotou.

Příklad

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

Dlouho

Datový longtyp může ukládat celá čísla od -9223372036854775808 do 9223372036854775807. To se používá, když int není dostatečně velké pro uložení hodnoty. Všimněte si, že byste měli hodnotu ukončit písmenem "L":

Příklad

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


Typy s plovoucí desetinnou čárkou

Typ s plovoucí desetinnou čárkou byste měli použít vždy, když potřebujete číslo s desetinnou čárkou, například 9,99 nebo 3,14515.

Plovák

Datový floattyp může ukládat zlomková čísla od 3,4e−038 do 3,4e+038. Všimněte si, že byste měli ukončit hodnotu "f":

Příklad

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

Dvojnásobek

Datový doubletyp může ukládat zlomková čísla od 1,7e−308 do 1,7e+308. Všimněte si, že byste měli ukončit hodnotu "d":

Příklad

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

Použít floatnebo double?

Přesnost hodnoty s plovoucí desetinnou čárkou udává , kolik číslic může mít hodnota za desetinnou čárkou. Přesnost floatje pouze šest nebo sedm desetinných číslic, zatímco doubleproměnné mají přesnost asi 15 číslic. Proto je bezpečnější použít doublepro většinu výpočtů.

Vědecká čísla

Číslo s plovoucí desetinnou čárkou může být také vědecké číslo s „e“, které označuje mocninu 10:

Příklad

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


Booleans

Booleovský datový typ je deklarován s booleanklíčovým slovem a může nabývat pouze hodnot truenebo false:

Příklad

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

Booleovské hodnoty se většinou používají pro podmíněné testování, o kterém se dozvíte více v další kapitole.


Znaky

Datový chartyp se používá k uložení jednoho znaku. Znak musí být ohraničen jednoduchými uvozovkami, například „A“ nebo „c“:

Příklad

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

Alternativně můžete k zobrazení určitých znaků použít hodnoty ASCII:

Příklad

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

Tip: Seznam všech hodnot ASCII naleznete v naší referenční tabulce ASCII .


Struny

Datový Stringtyp slouží k uložení sekvence znaků (textu). Hodnoty řetězce musí být uzavřeny dvojitými uvozovkami:

Příklad

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

Typ String je v Javě natolik používaný a integrovaný, že jej někteří nazývají „speciální devátý typ“.

Řetězec v Javě je ve skutečnosti neprimitivní datový typ, protože odkazuje na objekt. Objekt String má metody, které se používají k provádění určitých operací s řetězci. Nedělejte si starosti, pokud ještě nerozumíte pojmu "objekt" . Více o řetězcích a objektech se dozvíme v pozdější kapitole.


Neprimitivní datové typy

Neprimitivní datové typy se nazývají referenční typy , protože odkazují na objekty.

Hlavní rozdíl mezi primitivními a neprimitivními datovými typy je:

  • Primitivní typy jsou předdefinovány (již definovány) v Javě. Neprimitivní typy jsou vytvářeny programátorem a nejsou definovány v Javě (kromě String).
  • Neprimitivní typy lze použít k volání metod k provádění určitých operací, zatímco primitivní typy nikoli.
  • Primitivní typ má vždy hodnotu, zatímco neprimitivní typy mohou být null.
  • Primitivní typ začíná malým písmenem, zatímco neprimitivní typy začínají velkým písmenem.
  • Velikost primitivního typu závisí na datovém typu, zatímco neprimitivní typy mají všechny stejnou velikost.

Příklady neprimitivních typů jsou Strings , Arrays , Classes, Interface atd. Více se o nich dozvíte v další kapitole.


Otestujte se pomocí cvičení

Cvičení:

Přidejte správný datový typ pro následující proměnné:

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