Egzamin zawodowyPortal części pisemnej

INF.04 · pytanie 718

W przedstawionym fragmencie kodu Java wskaż nazwę zmiennej, która może przechowywać wartość 'T'. int zm1; float zm2; char zm3; boolean zm4;

  1. Azm4
  2. Bzm1
  3. Czm2
  4. Dzm3Poprawna

Wyjaśnienie

Zmienna zm3 ma typ char, czyli typ znakowy w Javie, dlatego jest właściwym miejscem do przechowywania wartości 'T'. W Javie pojedynczy znak zapisuje się w apostrofach, na przykład 'A', '7', '?' albo właśnie 'T'. To odróżnia znak od tekstu, bo tekst zapisujemy w cudzysłowie, np. "T" i wtedy jest to obiekt typu String, a nie char. W praktyce char przydaje się np. przy analizie pojedynczych znaków z hasła, sprawdzaniu pierwszej litery kodu produktu, obsłudze odpowiedzi typu T/N albo przy prostym parsowaniu danych wejściowych. Dobra praktyka jest taka, żeby dobierać typ zmiennej do znaczenia danych, nie tylko do tego, co da się jakoś technicznie zapisać. Moim zdaniem to jedna z podstawowych rzeczy, które warto dobrze ogarnąć na początku Javy, bo później mniej się miesza int, String, boolean i char. Warto też pamiętać, że char w Javie jest powiązany z kodowaniem Unicode i zajmuje 16 bitów, więc nie jest to po prostu „literka z klawiatury”, tylko konkretny typ danych reprezentujący znak.