M3 - Programació estructurada / Continguts UF1: El tipus char
De wikiserver
La revisió el 21:11, 15 nov 2020 per Rsort (Discussió | contribucions) (→Conversió entre char i tipus numèrics)
Contingut
El tipus char
- El tipus de dades char representa un únic caràcter.
- Un caràcter literal està tancat entre cometes simples. J
- Java admet Unicode (16 bits originalment, ampliat per podre representar fins a 1.112.064 caràcters).
- Un caràcter Unicode de 16 bits consta de dos bytes precedits per '\u', expressat en 4 dígits hexadecimals; des de \u0000 fins a \uFFFF.
- Unicode inclou codi ASCII, des de \u0000 fins a\u007F corresponent als 128 caràcters ASCII (lletres majúscules i minúscules, dígits, puntuació i caràcters de control).
Caràcters | Valor Decimal | Valor Unicode |
---|---|---|
'0' a '9' | 48 a 57 | \u0030 a \u0039 |
'A' a 'Z' | 65 a 90 | \u0041 a \u005A |
'a' a 'z' | 97 a 122 | \u0061 a \u007A |
- Codis equivalents:
char lletra = '\u0041';
char lletra = 'A';
- Recórrer els caràcters en ordre:
char lletra = '\u0041'; // lletra 'A'
lletra++;
println(lletra) // escriure la lletra 'B'
Seqüències d'escapament
- S'utilitza una notació especial (seqüència d'escapament) per poder representar caràcters especials:
System.out.println ("El profe diu: " Java és divertit ""); // ERROR de compilació!
- Consisteix en una barra invertida(\) seguida d'un caràcter o una combinació de dígits.
- Exemples:
- \t seqüencia d'escapament per al caràcter Tab
- \u031b per representar un Unicode
- La seqüència d'escapament es considera com un únic caràcter.
System.out.println ("El profe diu: \" Java és divertit \"");
- Taula de seqüències d'escapament
Seqüència d'escapament | Resultat | Codi Unicode | Codi Unicode |
---|---|---|---|
\b | Esborrat a l'esquerra | \u0008 | 8 |
\t | Tabulació | \u0009 | 8 |
\n | Nova línia | \u000A | 10 |
\f | Salt de pàgina | \u000C | 12 |
\r | Retrocés de carro | \u000D | 13 |
\\ | Caràcter '\' | \u005C | 92 |
\" | Caràcter '"' | \u0022 | 34 |
Conversió entre char i tipus numèrics
- Un caràcter pot ser convertit en un tipus numèric i al contrari.
- Al convertir un int (4 bytes) en un char (2 bytes) només s'utilitzen els 16 bits de menys pes.
char ch = (char) 0XAB0041; // Només és guarden els quatre 'últims' dígits
System.out.println(ch); // (0041->65 en decimal) i s'imprimeix una 'A'.
- De número decimal a char:
char ch = (char)65.25; // Primer es converteix a int i desprès a char.
System.out.println(ch); // Imprimeix una 'A'.
- De char a número:
int i =(int)'A'; // S'agafa el seu codi Unicode.
System.out.println(i); // Imprimeix un 65.