Avui comencem amb el capítol 4, en el qual descriurem, compararem i contrastarem els tipus de dada primitius (integer, floating point, boolean i character), les enumeracions i els objectes.
Una aplicació està elaborada per variables que guarden informació i el codi de el programa manipula aquesta informació. Aquestes dades primitius (a partir d’ara els anomenarem primitives) són usats per crear tipus de dades més avançats anomenats Objectes.
Això és el que fa que Java sigui un llenguatge orientat a objectes.
És un concepte fonamental molt important que hem d’entendre per saber eralmente com funciona el llenguatge Java.
En aquest capítol cobrirem les necessitats bàsiques de les variables primitive i els objectes.
Veurem les siguienets seccions:
- Primitives (Part I)
- Objects (Part II)
- Arrays (Part III)
- Enumerations (Part III )
- Java s Strongly typed nature (Part III)
- Naming Conventions (Part III)
Primitives
Els tipus de dada primitive són un subset especial de tipus de dades de Java. Són els encarregats de guardar dades en un programa. És molt important saber i entendre que és un tipus de dada primitive i que no és. El llenguatge Java té 8 primitives. L’important d’ells és recordar per a cada tipus de dada és que tipus de valor podem guardar-hi, la mida en memòria i la mida mínima / màxima dels seus valors.
Què és un primitive?
Un tipus de dada primitive és la forma més bàsica de dada en un programa de Java, d’aquí el seu nom. Quan són declarats, aquests reserven espai en memòria. La mida en memòria depèn de el tipus de dada que es faci servir.: Els quatre tipus de dada que veurem seran int (integer, float (floating point), boolean (boolean) i char (character). És important recordar que alguna cosa representat en el codi com Integer és diferent a int, ja que Integer es refereix a un Objecte.
Quan estàs treballant amb variables primitives, només poden assignar-valors o llegir els seus valors. Els càlculs realitzats amb variables primitives són mes ràpids que els realitzats amb objectes similars, cosa que haurem de tenir en compte.
El següent codi mostra un int sent declarat:
int inchesOfRain;
La variable inchesOfRain està ara declarada com un int. aquesta variablesolo pot guardar sencers i no pot trencar-se en elements més petits. Una vegada que la variable ha estat declarada, podem treballar amb ella.
no es pot cridar mètodes amb aquesta variable ja que és de tipus primitive, però ja ho veurem més endavant quan explorem els mètodes.
inchesOfRain=2;totalInchesOfRain += inchesOfRain;
-int
Un int és el tipus de dada primitive mes usat en Java. Un cop declarat, el seu valor per defecte és 0. Un enter ocupa 32 bits en memòria i pot guardar un nombre amb signe sense punts flotants de 32 bits. El seu valor màxim és 2147483647 i el seu valor mínim pot ser 2147483648 inclosos.
El següent segment de codi demostra l’ús d’un sencer:
int x;x=3;int y=x;int z=5+x;
-float
Un float és un tipus de dada primitive que s’usa per guardar dades decimals. El seu valor per defecte és 0.0f. Aquest valor és equivalent a 0, però la “f” o “F” que apareix a la fin indica que és un valor float, no un double. Requereixen 32 bits en memòria i poden contenir un valor de 32 bits amb un màxim de 3.4e ^ 38 i el seu mínim positiu que no sigui zero de 1.4e * -45 inclosos. Aquests valors estan arrodonits per simplicitat.: Els següents segments de codi demostren l’ús d’un float (S’usa fo F per denotar que el nombre és float):
float a=0.2f;float b=a;a=5.0f;a=10.5f;//Un literal entero puede guardarse en un float sin tener que haberlo declaradoa=1118;
-boolean
El tipus de dada primitive boolean guarda un valor que només pot ser true o false. Guarda un valor que ocupa 1 bit i per defecte s’inicialitza a false. Encara que això representa 1 bit d’informació, la mida exacte no està definit en el Java Standard i pot ocupar mes en altres plataformes diferents.
boolean isWorking=true;isWorking=false;
-char
El tipus de dada primitive char és usat per guardar un caràcter de 16 bit Unicode i requereix 16 bits de memòria. El rang que correspon a un char des del mínim fins al màxim és definit per l’especificació Unicode ‘\ u0000’ (0) i ‘\ uffff’ (65536). Quan un char s’estableix amb un valor al codi, s’ha d’usar cometa simple com per exemple ‘I’. El valor per defecte d’un char és ‘\ u0000’ o 0. És l’única dada de Java que no té signe.
El següent segment de codi demostra l’ús de l’char (el ‘\ u0046’ correspon a la ‘F ‘):
char c = 'X';char upperCaseF = '\u0046';c = upperCaseF;
Primitives vs Their Wrapper Class
Hem discutit que és un tipus de dada primitive en Java. Són la construcció bàsica en Java que no són objectes. Java té una Wrapper Class per a cada tipus de dada primitive que pot convertir-los en un objecte.Les Wrapper Class són Integer, Float, Boolean, Character. Cal notar que cadascuna d’aquestes classes comencen amb una lletra capital, mentre que els tipus de dada primitive estan declarades en minúscula. Si veus un tipus de dada Float, s’està referint a un objecte, mentre que un tipus de dada float es correspon a un tipus de dada primitive.
El següent és un exemple d’un objecte Integer sent inicialitzat:
//Un integer es creado e inicializado a 5Integer valueA = new Integer(5);//Un int primitive recibe el valor guardado en el objeto Integerint num = number.intValue();//El autoboxig se usa para convertir un int a un IntegerInteger valueB = num;
Els valors de tipus primitivey seus objectes equivalents poden, en la majoria de les casos, ser intercanviables.
No obstant això, aquesta és una mala pràctica. Quan realitzem operacions matemàtiques, usant variables de tipus primitive resulta ser molt més ràpid, a més de consumir menys memòria o deixar empremtes més petites en la memòria.
Aquí us deixo una taula amb els tipus de dada primitive que trobem en java, inclosos els que no hem explicat:
Data Type | Used For | size | Range |
---|---|---|---|
boolean | true or false | 1 bit | NA |
char | Unicode character | 16 bits | \ u0000 to \ uffff (0 to 65535 ) |
byte | integer | 8 bits | -128 to 127 |
short | integer | 16 bits | -32.768 to 32767 |
int | integer | 32 bits | 2147483648 to 2147483647 |
long | integer | 64 bits | -2 ^ 63 to 2 ^ 63 -1 |
float | floating point | 32 bits | positive 1.4e ^ -45 to 3.4e ^ + 38 |
double | floating point | 64 bits | positive 5e ^ -124 to 1.8e ^ + 308 |
Fins aquí el primer apartat de el capítol 4, he decidit dividir-ho bé per 2 raons, una per no fer una entrada massa llarga, i una altra per a dividir el contingut, ja que són temes molt importants i cal entendre’ls un per un, per això, he vist convenient dividir d’una banda els tipus de dada primitive i d’altra banda (a la part II), els Objectes en java, que són, com es fan servir i que hem de saber d’ells.
Sense mes, fins aquí ençà, com dic sempre qualsevol correcció o aportació són benvinguts.
Salutacions !!