M3 - Programació estructurada / Continguts UF1: El tipus char

De wikiserver
La revisió el 21:02, 15 nov 2020 per Rsort (Discussió | contribucions) (Conversió entre char i tipus numèrics)
Dreceres ràpides: navegació, cerca

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 en un char 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'.

Quan s'assigna a un charun número decimal, aquest primer és convertit en un inti després en un char. El següent codi també imprimirà una 'A'.char ch = (char)65.25; System.out.println(ch);Quan volem convertir un chara un tipus numèric s'agafa el seu codi Unicode. El següent codi imprimirà el valor 65:int i =(int)'A';System.out.println(i);

Comparació de caràcters

La classe Character

Exercicis