В языке программирования С++ символьные массивы имеют особый ареол, поскольку там символьные массивы — одно из средств реализации текстовых строк. В Java в отношении символьных массивов все обстоит намного про- ще — это обычный, с точки зрения создания и применения, массив, элемента- ми которого являются символы. Правда, и в Java в использовании символьных массивов есть некоторые особенности. Однако эти особенности скорее связаны
со спецификой типа char, чем со структурой или свойствами непосредственно массива. В листинге 3.5 приведен простой пример.
Листинг 3.5.Символьный массив
class CharArray{
public static void main(String[] args){ char[] words=new char[]
Символьный массив создается стандартным способом: одновременно с объявле- нием переменной массива words списком символов инициализируются элементы массива. В результате выполнения команды System.out.println(words) на экран выводится сообщение Символьный массив. Интересно здесь то, что для вывода зна- чений элементов символьного массива аргументом метода println() указано имя массива (переменная массива words). Причина такого удобства кроется в спосо- бах автоматического преобразования разных объектов (в том числе символьного массива) в текстовый формат. Эта тема рассматривается в главе 8, посвященной работе с текстом (классы String и StringBuffer).
Другой пример объявления и использования символьных массивов приведен в листинге 3.6.
В программе выполняется достаточно простое кодирование слова, записан- ного по буквам в массив words. Этот массив объявляется и инициализируется значениями элементов, соответствующими слову Слово. Далее объявляется еще один символьный массив code. Его размер равен размеру массива words. Заполнение элементов массива code выполняется в рамках инструкции цикла. Для этого в теле цикла использована команда code[i]=(char)(words[i]+i+1). В данном случае при вычислении выражения words[i]+i+1 символ words[i] преобразуется в числовой формат (код символа) и к нему прибавляется зна- чение i+1. Полученное число благодаря инструкции явного приведения типа
преобразуется в символ. Этот символ записывается в массив code. Далее оба массива выводятся на экран. В результате выполнения программы получаем следующее:
Слово Тнсжу
Для «расшифровки» полученного «слова» можно применить обратную проце- дуру. Предлагаем читателю сделать это самостоятельно.