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
,double
aboolean
char
- 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
, short
a int
. long
Jaký 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: float
a 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ý byte
typ může ukládat celá čísla od -128 do 127. To lze použít místo int
nebo 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ý short
typ může ukládat celá čísla od -32768 do 32767:
Příklad
short myNum = 5000;
System.out.println(myNum);
Int
Datový int
typ může ukládat celá čísla od -2147483648 do 2147483647. Obecně a v našem tutoriálu je int
datový 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ý long
typ 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ý float
typ 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ý double
typ 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 float
nebo double
?
Přesnost hodnoty s plovoucí desetinnou čárkou udává , kolik číslic může mít hodnota za desetinnou čárkou. Přesnost float
je pouze šest nebo sedm desetinných číslic, zatímco double
proměnné mají přesnost asi 15 číslic. Proto je bezpečnější použít double
pro 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 boolean
klíčovým slovem a může nabývat pouze hodnot true
nebo 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ý char
typ 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ý String
typ 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.