Java s'escriu de manera estàtica i també és un llenguatge de tipus fort perquè, a Java, cada tipus de dades (com ara nombre enter, caràcter, hexadecimal, decimal empaquetat, etc.) està predefinit com a part del llenguatge de programació i totes les constants o variables definides per a un programa determinat s'ha de descriure amb un dels tipus de dades Java.
Tipus de dades en Java
Tipus de dades en Java són de diferents mides i valors que es poden emmagatzemar a la variable que es fa segons la conveniència i les circumstàncies per cobrir tots els casos de prova. Java té dues categories en les quals es separen els tipus de dades
- Tipus de dades primitives: com ara boolean, char, int, short, byte, long, float i double
- Tipus de dades no primitives o tipus de dades d'objecte: com String, Array, etc.

char i int java
Tipus de dades primitives a Java
Les dades primitives són només valors únics i no tenen capacitats especials. Hi ha 8 tipus de dades primitives. A continuació es mostren en forma de taula de la següent manera:
| Tipus | Descripció | Per defecte | Mida | Literals d'exemple | Interval de valors |
|---|---|---|---|---|---|
| booleà | Cert o fals | fals | 1 bit | cert, fals | cert, fals |
| byte | nombre enter de complement de dos | 0 | 8 bits | (cap) | -128 a 127 |
| char | Caràcter Unicode | u0000 | 16 bits | 'a', 'u0041', '101', '', '', ' ', 'b' | representació de caràcters de valors ASCII 0 a 255 |
| curt | nombre enter de complement de dos | 0 | 16 bits | (cap) | -32.768 a 32.767 |
| int | complement de dos enter | 0 | 32 bits | -2,-1,0,1,2 | -2,147,483,648 a 2,147,483,647 |
| llarg | nombre enter de complement de dos | 0 | 64 bits | -2L,-1L,0L,1L,2L | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
| flotar | Coma flotant IEEE 754 | 0.0 | 32 bits | 1.23e100f , -1.23e-100f , .3f ,3.14F | fins a 7 dígits decimals |
| doble | Coma flotant IEEE 754 | 0.0 | 64 bits | 1.23456e300d , -123456e-300d , 1e1d | fins a 16 dígits decimals |
Parlem i implementem cadascun dels tipus de dades següents que són els següents:
1. Tipus de dades booleà
El tipus de dades booleà només representa un bit d'informació ja sigui vertader o fals que pretén representar els dos valors de veritat de la lògica i l'àlgebra booleana, però la mida del tipus de dades booleà és depenent de la màquina virtual . Els valors del tipus boolean no es converteixen implícitament o explícitament (amb conversions) a cap altre tipus. Però el programador pot escriure fàcilment el codi de conversió.
Sintaxi:
boolean booleanVar;>
Mida: Dependent de la màquina virtual
2. Tipus de dades de bytes
El tipus de dades byte és un nombre enter de complement a dos amb signe de 8 bits. El tipus de dades byte és útil per estalviar memòria en matrius grans.
Sintaxi:
byte byteVar;>
Mida: 1 byte (8 bits)
system.out.println
3. Tipus de dades curts
El tipus de dades curt és un nombre enter de complement a dos amb signe de 16 bits. De manera similar al byte, utilitzeu un curt per estalviar memòria en matrius grans, en situacions en què l'estalvi de memòria realment importa.
Sintaxi:
short shortVar;>
Mida: 2 bytes (16 bits)
4. Tipus de dades enter
És un nombre enter de complement a dos amb signe de 32 bits.
Sintaxi:
int intVar;>
Mida: 4 bytes (32 bits)
Recordeu: A Java SE 8 i posterior, podem utilitzar el tipus de dades int per representar un nombre enter de 32 bits sense signe, que té un valor en l'interval [0, 232-1]. Utilitzeu la classe Integer per utilitzar el tipus de dades int com a enter sense signe.
5. Tipus de dades llarg
L'abast d'un llarg és bastant gran. El tipus de dades llarg és un nombre enter de complement a dos de 64 bits i és útil per a aquelles ocasions en què un tipus int no és prou gran per contenir el valor desitjat. La mida del tipus de dades llarg és de 8 bytes (64 bits).
Sintaxi:
long longVar;>
Recordeu: A Java SE 8 i posterior, podeu utilitzar el tipus de dades llarg per representar una longitud de 64 bits sense signar, que té un valor mínim de 0 i un valor màxim de 264-1. La classe Long també conté mètodes com comparar sense signar, dividir sense signar, etc. per donar suport a operacions aritmètiques per a llargs sense signar.
6. Tipus de dades flotant
El tipus de dades flotant és un punt flotant IEEE 754 de 32 bits de precisió única. Utilitzeu un flotant (en lloc de doble) si necessiteu estalviar memòria en grans matrius de nombres de coma flotant. La mida del tipus de dades flotant és de 4 bytes (32 bits).
Sintaxi:
float floatVar;>
7. Tipus de dades dobles
El tipus de dades doble és un punt flotant IEEE 754 de 64 bits de doble precisió. Per als valors decimals, aquest tipus de dades és generalment l'opció predeterminada. La mida del tipus de dades doble és de 8 bytes o 64 bits.
Sintaxi:
double doubleVar;>
Nota: Tant els tipus de dades flotants com els dobles es van dissenyar especialment per a càlculs científics, on els errors d'aproximació són acceptables. Si la precisió és la preocupació principal, es recomana no utilitzar aquests tipus de dades i utilitzar la classe BigDecimal.
Es recomana passar-hi arrodoniment d'errors a Java.
com convertir una cadena en java enter
8. Tipus de dades Char
El tipus de dades char és un únic caràcter Unicode de 16 bits amb una mida de 2 bytes (16 bits).
Sintaxi:
char charVar;>
Per què la mida del caràcter de 2 bytes a Java?
Per tant, altres llenguatges com C/C++ utilitzen només caràcters ASCII, i per representar tots els caràcters ASCII n'hi ha prou amb 8 bits. Però Java utilitza el Sistema Unicode, no sistema de codi ASCII i representar el sistema Unicode 8 bits no és suficient per representar tots els caràcters, de manera que Java utilitza 2 bytes per als caràcters. Unicode defineix un conjunt de caràcters totalment internacional que pot representar la majoria de les llengües escrites del món. És una unificació de desenes de conjunts de caràcters, com ara llatí, grec, ciríl·lic, katakana, àrab i molts més.
Exemple:
Java
// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Creating and initializing custom character> >char> a =>'G'>;> >// Integer data type is generally> >// used for numeric values> >int> i =>89>;> >// use byte and short> >// if memory is a constraint> >byte> b =>4>;> >// this will give error as number is> >// larger than byte range> >// byte b1 = 7888888955;> >short> s =>56>;> >// this will give error as number is> >// larger than short range> >// short s1 = 87878787878;> >// by default fraction value> >// is double in java> >double> d =>4.355453532>;> >// for float use 'f' as suffix as standard> >float> f =>4>.7333434f;> >// need to hold big range of numbers then we need> >// this data type> >long> l =>12121>;> >System.out.println(>'char: '> + a);> >System.out.println(>'integer: '> + i);> >System.out.println(>'byte: '> + b);> >System.out.println(>'short: '> + s);> >System.out.println(>'float: '> + f);> >System.out.println(>'double: '> + d);> >System.out.println(>'long: '> + l);> >}> }> |
>
aplicacions amagades en aquest dispositiu
>Sortida
char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121>
Tipus de dades no primitives o tipus de dades de referència
El Tipus de dades de referència contindrà una adreça de memòria de valors variables perquè els tipus de referència no emmagatzemaran el valor de la variable directament a la memòria. Són cadenes, objectes, matrius, etc.
1. Cordes
Cordes es defineixen com una matriu de caràcters. La diferència entre una matriu de caràcters i una cadena a Java és que la cadena està dissenyada per contenir una seqüència de caràcters en una sola variable, mentre que una matriu de caràcters és una col·lecció d'entitats de tipus de caràcters separades. A diferència de C/C++, les cadenes de Java no acaben amb un caràcter nul.
Sintaxi: Declaració d'una cadena
= ;>
Exemple:
// Declare String without using new operator String s = 'techcodeview.com'; // Declare String using new operator String s1 = new String('techcodeview.com');> 2. Classe
A classe és un plànol o prototip definit per l'usuari a partir del qual es creen objectes. Representa el conjunt de propietats o mètodes que són comuns a tots els objectes d'un mateix tipus. En general, les declaracions de classe poden incloure aquests components, per ordre:
- Modificadors : Una classe pot ser pública o tenir accés per defecte. Consulteu especificadors d'accés per a classes o interfícies en Java
- Nom de la classe: El nom ha de començar amb una lletra inicial (en majúscula per convenció).
- Superclasse (si n'hi ha): El nom del pare de la classe (superclasse), si n'hi ha, precedit de la paraula clau extends. Una classe només pot ampliar (subclasse) un pare.
- Interfícies (si n'hi ha): Una llista separada per comes d'interfícies implementades per la classe, si n'hi ha, precedida de la paraula clau implements. Una classe pot implementar més d'una interfície.
- Cos: El cos de la classe està envoltat de claus, { }.
3. Objecte
An Objecte és una unitat bàsica de la Programació Orientada a Objectes i representa entitats de la vida real. Un programa típic de Java crea molts objectes que, com sabeu, interactuen invocant mètodes. Un objecte està format per:
- Estat : Es representa pels atributs d'un objecte. També reflecteix les propietats d'un objecte.
- Comportament : Es representa amb els mètodes d'un objecte. També reflecteix la resposta d'un objecte a altres objectes.
- Identitat : Dóna un nom únic a un objecte i permet que un objecte interactuï amb altres objectes.
4. Interfície
Com una classe, un interfície pot tenir mètodes i variables, però els mètodes declarats en una interfície són abstractes per defecte (només signatura del mètode, sense cos).
- Les interfícies especifiquen què ha de fer una classe i no com. És el pla de la classe.
- Una interfície tracta de capacitats com un jugador pot ser una interfície i qualsevol classe que implementi el jugador ha de poder (o ha d'implementar) move(). Per tant, especifica un conjunt de mètodes que la classe ha d'implementar.
- Si una classe implementa una interfície i no proporciona cossos de mètodes per a totes les funcions especificades a la interfície, llavors la classe s'ha de declarar abstracta.
- Un exemple de biblioteca de Java és Interfície de comparació . Si una classe implementa aquesta interfície, es pot utilitzar per ordenar una col·lecció.
5. Matriu
An Matriu és un grup de variables de tipus semblant a les quals es fa referència amb un nom comú. Les matrius a Java funcionen de manera diferent que a C/C++. A continuació es mostren alguns punts importants sobre les matrius Java.
- A Java, totes les matrius s'assignen dinàmicament. (que es parla a continuació)
- Com que les matrius són objectes a Java, podem trobar la seva longitud mitjançant la longitud dels membres. Això és diferent de C/C++ on trobem la longitud utilitzant la mida.
- Una variable de matriu Java també es pot declarar com altres variables amb [] després del tipus de dades.
- Les variables de la matriu estan ordenades i cadascuna té un índex que comença per 0.
- La matriu Java també es pot utilitzar com a camp estàtic, una variable local o un paràmetre de mètode.
- El mida d'una matriu s'ha d'especificar amb un valor int i no llarg o curt.
- La superclasse directa d'un tipus de matriu és Object.
- Cada tipus de matriu implementa les interfícies Clonable i java.io.Serialitzable .
Preguntes freqüents sobre tipus de dades a Java
1. Què són els tipus de dades a Java?
Els tipus de dades són de diferents mides i valors que es poden emmagatzemar a la variable que es fa segons la conveniència i les circumstàncies per cobrir tots els casos de prova.
2. Quins són els 8 tipus de dades que s'utilitzen a Java?
Hi ha 8 tipus de dades primitives principals a Java, com s'esmenta a continuació:
- booleà
- byte
- char
- curt
- int
- llarg
- flotar
- doble
3. Quin és un tipus primitiu a Java?
Els tipus de dades primitives són els tipus en Java que poden emmagatzemar un sol valor i no proporcionen cap capacitat especial.
4. Per què char utilitza 2 bytes a Java i què és u0000?
Char utilitza 2 bytes a Java perquè utilitza el sistema Unicode en lloc del sistema ASCII. u000 és l'interval més baix del sistema Unicode.
Consulteu: Test sobre tipus de dades a Java