Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: El tipus char»
De wikiserver
(→Comparació de caràcters) |
(→Comparació de caràcters) |
||
Línia 107: | Línia 107: | ||
:* Exemple: | :* Exemple: | ||
<source lang = "java"> | <source lang = "java"> | ||
− | + | ||
'a' < 'b' és cert perquè el codi per 'a' és 97 i el codi per 'b' és 98 | 'a' < 'b' és cert perquè el codi per 'a' és 97 i el codi per 'b' és 98 | ||
'a' < 'A' és fals perquè el codi per 'a' és 97 i el codi per 'A' és 65 | 'a' < 'A' és fals perquè el codi per 'a' és 97 i el codi per 'A' és 65 |
Revisió del 21:14, 15 nov 2020
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.
Comparació de caràcters
- Dos caràcters es poden comparar igual que comparem dos números (codis Unicode).
- Exemple:
'a' < 'b' és cert perquè el codi per 'a' és 97 i el codi per 'b' és 98
'a' < 'A' és fals perquè el codi per 'a' és 97 i el codi per 'A' és 65
'1' < '8' és cert perquè el codi per '1' és 49 i el codi per '8' és 56