Назад Зміст Вперед

Урок 1.8 Тип даних char. ASCII-коди. Символи пробіла. Перетворення типів даних

План уроку

1.Тип даних char (class Chars _1).
2.Представлення змінних char як беззнакових цілих чисел, додавання змінних типу char (class Chars _2).
3.ASCII-коди. Символи пробіла (class Chars _3).
4.Перетворення типів даних (class Chars _4).

Для збереження символів у java використовують тип даних char. Для їх представлення використовується таблиця символів Юнікод (Unicode - цифрове представлення символів усіх писемностей світу та спеціальних символів). Для збереження цих символів потрібно 16 бітів, тому тип char є 16-розрядним

Діапазон допустимих значень цього типу складає від 0 до 65536. Від'ємних значень типу char не існує. 

Приклад використання змінної типу char.
class CharDemo {
public static void main (String args[ ]) {
char ch1, ch2;
ch1=88; //код символу Х
ch2='У';
System.out.print("ch1 і ch2: ") ;System.out.println (ch1+" "+ ch2) ;
}
}


Output:
chl і ch2: ХУ

Незважаючи на те, що тип char призначений для зберігання символів в Юнікоді, ним можна користуватися і як цілочисельним типом для виконання арифметичних операцій. Наприклад, він допускає додавання символів або збільшення значення символьної змінної. Таке застосування типу char демонструється в наступному прикладі програми:
Приклад
//символьні змінні ведуть себе як цілочисельні значення
class CharDemo2 {
public static void main (String args[ ]) {
char ch1;
ch1='x';

System.out.println("ch1 містить " + ch1) ;
ch1++; //збільшити на одиницю chl
System.out.println("chl тепер містить " + chl) ;
}
}

Output:
chl містить Х 
ch2 тепер містить У

Програми аудиторні:

public class Chars_1{
public static void main(String args[]) {
// представлення даних типу char різними способами
char x = ‘A’;
char y = ‘\u0041’; // із використанням шістнадцяткової системи
char z = ‘\101’; // із використанням вісімкової системи
System.out.println(x); // виведення символу A
System.out.println(y); // виведення символу A
System.out.println(z); // виведення символу A
}
}
public class Chars_2{
public static void main(String args[]) {
// представлення даних типу char як беззнакових цілих чисел, додавання char
char x = ‘A’;
int y = x;
System.out.println(x); // виведення символу A
System.out.println(y); // виведення числа 65
char z = (char)(x + 1);
System.out.println(z); // виведення символу B
}
}
public class Chars_3{
public static void main(String args[]) {
// ASCII-коди, символи пробілу
char x = ‘\u0039’;
char y = ‘\u0020’;
char z = ‘\u0044’;
char a = ‘\u0009’;
char b = ‘\u0064’;
char c = ‘\n’;
char d = ‘\u003f’;
char e = ‘\r’;
char f = ‘\u007d’;
System.out.println(x); // виведення символу 9
System.out.println(y); // виведення пробілу
System.out.println(z); // виведення символу D
System.out.println(a); // виведення символу табуляції (пробілу)
System.out.println(b); // виведення символу d
System.out.print(c); // виведення символу кінця рядка (пробілу)
System.out.println(d); // виведення символу ?
System.out.print(e); // виведення символу повертання каретки
//(пробілу)
System.out.println(f); // виведення символу }
}
}
public class Chars_4{
public static void main(String args[]) {
// перетворення типів даних
byte a = 70;
// char x = a; // не компілюється, знаковий формат не
//переводиться до беззнакового
char x = (char)a;
System.out.println(x); // виведення символу F
}
}
Література для класної роботи:
[Шилдт], с. 85 (п.1),
[metod книга], ст.14 (табл.2) (п.3).

Тести для класної роботи:
[task-mughal] – 2.7 (п.1).

Література для домашньої роботи:
[Шилдт], с. 71, 80…81,
[Хорстманн, т.1], ст.64…66,
[Вязовик], гл.3, ст.13…14,
                   гл.4, с.11…12,
                  гл.7, ст.5,

Тестові завдання для домашньої роботи:

[Sangera]   –  ch.2:  3, 5,                     
[Heller]      –  ch.1: 18
[Вязовик] –   лек. 3: № 3.1.



.