1 страница. Примечание. Пробы 1 -3 имеют общую цель — выявить способность ребенка к синтаксическому структурированию письменной речи
Примечание. Пробы 1 -3 имеют общую цель — выявить способность ребенка к синтаксическому структурированию письменной речи. В связи с этим к ним дается общий комментарий.
Для детей младшего школьного возраста:
Тест 1. Письменный диалог
Дается задание написать кому-нибудь записку.
Тест 2. Сочинение
Дается задание написать сочинение либо на заданную тему, либо на любую другую, придуманную ребенком самостоятельно.
Основная патологическая симптоматика.
Основные нарушения письменного монолога те же, что и устного, однако встречаются они значительно чаще (ввиду большей объективной психолого-лингвистической сложности монолога в сравнении с диалогом). Выявляют состояние одного из наиболее важных компонентов мышления.
Диагностическое значение теста. Неспособность к письменному монологу препятствует возможности обучения в школе и интеллектуальному развитию в целом.
Приоритетные методы формирования и коррекции функции.
1. Развитие вербально-логического процессуального мышления в устной речи, а именно способности к построению максимально развернутых устных текстов.
2.Опора на графические образы слов как дополнительные мнемонические средства для усвоения типовых моделей письменной речи (клише).
Вопросы по java
1.Базовые типы данных и литералы. Операторы. Классы-оболочки.Операторы управления.
В языке Java используются базовые типы данных, значения которых разме- щаются в стековой памяти (stack). Эти типы обеспечивают более высокую производительность вычислений по сравнению с объектами. Кроме этого, для каждого базового типа имеются классы-оболочки, которые инкапсулируют данные базовых типов в объекты, располагаемые в динамической памяти (heap).
В Java используются целочисленные литералы, например: 35 – целое десятичное число, 071 – восьмеричное значение, 0х51 – шестнадцатеричное значение. Целочисленные литералы по умолчанию относятся к типу int. Если необходимо определить длинный литерал типа long, в конце указывается символ L (например: 0xffffL). Если значение числа больше значения, помещающегося в int (2147483647), то Java автоматически предполагает, что оно типа long. Литералы с плавающей точкой записываются в виде 1.618 или в экспоненци- альной форме 0.112E-05 и относятся к типу double, таким образом, действи- тельные числа относятся к типу double. Если необходимо определить литерал типа float, то в конце литерала следует добавить символ F. Символьные литералы определяются в апострофах ('a', '\n', '\141', '\u005a' ). Для раз- мещения символов используется формат Unicode, в соответствии с которым для каждого символа отводится два байта. В формате Unicode первый байт содержит код управляющего символа или национального алфавита, а второй байт соответ- ствует стандартному ASCII коду, как в C++. Любой символ можно представить в виде '\ucode', где code представляет двухбайтовый шестнадцатеричный код символа. Java поддерживает управляющие символы, не имеющие графического изображения; '\n'– новая строка, '\r' – переход к началу, '\f' – новая страница, '\t'– табуляция, '\b' – возврат на один символ, '\uxxxx' – шестнадцате- ричный символ Unicode, '\ddd'– восьмеричный символ и др. Начиная с J2SE 5.0 используется формат Unicode 4.0. Поддержку четырехбайтным символам обеспечивает наличие специальных методов в классе Character. К литералам относятся булевские значения true и false, а также null – значение по умолчанию для ссылки на объект. При инициализации строки всегда создается объект класса String – это не массив символов и не строка. Строки, заключенные в двойные апострофы, считаются литералами и размещаются в пуле литералов, но в то же время такие строки представляют собой объекты.
Кроме базовых типов данных, в языке Java широко используются соответ- ствующие классы-оболочки (wrapper-классы) из пакета java.lang: Boolean, Character, Integer, Byte, Short, Long, Float, Double. Объекты этих классов могут хранить те же значения, что и соответствующие им базовые типы.
Операторы управления Оператор выбора if имеет следующий синтаксис: if (boolexp) { /*операторы*/} //1 else { /*операторы*/ } //2
2.
Массивы.
Массив представляет собой объект, где имя массива является объектной ссылкой. Элементами массива могут быть значения базового типа или объекты. Индексирование элементов начинается с нуля. Все массивы в языке Java являются динамическими, поэтому для создания массива требуется выделение памяти с помощью оператора new или прямой инициализации. Значения элементов неини- циализированного массива, для которого выделена память, устанавливаются в значения по умолчанию для массива базового типа или null для массива объект- ных ссылок. Для объявления ссылки на массив можно записать пустые квадратные скобки после имени типа, например: int a[]. Аналогичный результат получится при записи int[] a.
Многомерных массивов в Java не существует, но можно объявлять массив массивов. Для задания начальных значений массивов существует специальная форма инициализатора, например: int arr[][] = { { 1 }, { 2, 3 }, { 4, 5, 6 }, { 7, 8, 9, 0 } };
3. Класс Маth.
Класс java.lang.Math содержит только статические методы для физиче- ских и технических расчетов, а также константы E и PI.
Все методы класса вызываются без создания экземпляра класса (создать эк- земпляр класса Math невозможно). В классе определено большое количество ме- тодов для математических вычислений, а также ряд других полезных методов, таких как floor(), ceil(), rint(), round(), max(), min(), которые выполняют задачи по округлению, поиску экстремальных значений, нахождению ближайшего целого и т.д.
4.Переменные класса и константы. Ограничение доступа. Конструкторы. Методы.
Классы инкапсулируют переменные и методы – члены класса. Переменные класса объявляются в нем следующим образом: cпецификатор тип имя; В языке Java могут использоваться статические переменные класса, объявлен- ные один раз для всего класса со спецификатором static и одинаковые для всех экземпляров (объектов) класса, или переменные экземпляра класса, создаваемые для каждого объекта класса. Поля класса объявляются со спецификаторами до- ступа public, private, protected или по умолчанию без спецификатора. Кроме данных – членов класса, в методах класса используются локальные пере- менные и параметры методов. В отличие от переменных класса, инкапсули- руемых нулевыми элементами, переменные методов не инициализируются по умолчанию.
Переменные со спецификатором final являются константами. Специфи- катор final можно использовать для переменной, объявленной в методе, а также для параметра метода
Язык Java предоставляет несколько уровней защиты, обеспечивающих возможность настройки области видимости данных и методов. Из-за наличия пакетов Java работает с четырьмя категориями видимости между элементами классов: по умолчанию – дружественные члены класса доступны классам, находящимся в том же пакете; private – члены класса доступны только членам данного класса; protected – члены класса доступны классам, находящимся в том же пакете, и подклассам – в других пакетах; public – члены класса доступны для всех классов в этом и других пакетах.
Если у элемента вообще не указан модификатор уровня доступа, то такой элемент будет виден и доступен из подклассов и классов того же пакета. Именно такой уровень доступа используется по умолчанию. Если же необходимо, чтобы элемент был доступен из другого пакета, но только подклас- сам того класса, которому он принадлежит, нужно объявить такой элемент со спецификатором protected.
Конструктор это метод, который автоматически вызывается при создании объекта класса и выполняет действия по инициализации объекта. Конструктор имеет то же имя, что и класс; вызывается не по имени, а только вместе с ключе- вым словом new при создании экземпляра класса. Конструктор не возвращает значение, но может иметь параметры и быть перегружаемым. Деструкторы в языке Java не используются, объекты уничтожаются сборщи- ком мусора после прекращения их использования (потери ссылки). Аналогом де- структора является метод finalize(). Исполняющая среда языка Java будет вызывать его каждый раз, когда сборщик мусора будет уничтожать объект класса, которому не соответствует ни одна ссылка
Все функции Java объявляются только внутри классов и называются метода- ми. Простейшее определение метода имеет вид: returnType methodName(список_параметров) { // тело метода return value; // если нужен возврат значения (returnType не void) }
5.Статические методы и поля. Модификатор native. Модификатор synchronized. Логические блоки.
Поля данных, объявленные в классе как static, являются общими для всех объектов класса и называются переменными класса. Если один объект изменит значение такого поля, то это изменение увидят все объекты.
Вызов статического метода также следует осуществлять с помощью указания: ClassName.methodName().
Приложение на языке Java может вызывать методы, написанные на языке С++. Такие методы объявляются с ключевым словом native, которое сообщает компи- лятору, что метод реализован в другом месте. Например: public native int loadCripto(int num); Методы, помеченные native, можно переопределять обычными методами в подклассах.
При использовании нескольких потоков управления в одном приложении необходимо синхронизировать методы, обращающиеся к общим данным. Когда интерпретатор обнаруживает synchronized, он включает код, блокирующий доступ к данным при запуске потока и снимающий блок при его завершении. Вызов методов уведомления о возвращении блокировки объекта notifyAll(), notify() и метода остановки потока wait() класса Object (суперкласса для всех классов языка Java) предполагает использование модифи- катора synchronized, так как эти методы предназначены для работы с пото- ками.
При описании класса могут быть использованы логические блоки. Логиче- ским блоком называется код, заключенный в фигурные скобки и не принадлежа- щий ни одному методу текущего класса, например: { /* код */ } static { /* код */ } При создании объекта класса они вызываются последовательно, в порядке разме- щения, вместе с инициализацией полей как простая последовательность операто- ров, и только после выполнения последнего блока будет вызван конструктор класса. Операции с полями класса внутри логического блока до явного объявле- ния этого поля возможны только при использовании ссылки this, представляю- щую собой ссылку на текущий объект.
6.Параметризованные классы. Параметризованные методы. Методы с переменным числом параметров.
К наиболее важным новшествам версии языка J2SE 5 можно отнести появле- ние параметризованных (generic) классов и методов, позволяющих использовать более гибкую и в то же время достаточно строгую типизацию, что особенно важ- но при работе с коллекциями. Параметризация позволяет создавать классы, интерфейсы и методы, в которых тип обрабатывае- мых данных задается как параметр.
Объявление generic-типа в виде <T>, несмотря на возможность использо- вать любой тип в качестве параметра, ограничивает область применения разра- батываемого класса. Переменные такого типа могут вызывать только методы класса Object. Доступ к другим методам ограничивает компилятор, предупре- ждая возможные варианты возникновения ошибок. Чтобы расширить возможности параметризованных членов класса, можно ввести ограничения на используемые типы при помощи следующего объявления класса: public class OptionalExt <T extends Tип> { private T value; } Такая запись говорит о том, что в качестве типа Т разрешено применять толь- ко классы, являющиеся наследниками (суперклассами) класса Tип, и соответ- ственно появляется возможность вызова методов ограничивающих (bound) типов.
Параметризованный (generic) метод определяет базовый набор операций, ко- торые будут применяться к разным типам данных, получаемых методом в каче- стве параметра, и может быть записан, например, в виде: <T extends Тип> returnType methodName(T arg) {} <T> returnType methodName(T arg) {} Описание типа должно находиться перед возвращаемым типом. Запись пер- вого вида означает, что в метод можно передавать объекты, типы которых явля- ются подклассами класса, указанного после extends. Второй способ объявления метода никаких ограничений на передаваемый тип не ставит. Generic-методы могут находиться как в параметризованных классах, так и в обычных. Параметр метода может не иметь никакого отношения к параметру сво- его класса.
Возможность передачи в метод нефиксированного числа параметров позволя- ет отказаться от предварительного создания массива объектов для его последую- щей передачи в метод.
public class DemoVarargs {
public static int getArgCount(Integer... args)
{
if (args.length == 0) System.out.print("No arg=");
for (int i : args) System.out.print("arg:" + i + " ");
return args.length;
}
public static void main(String args[])
{
System.out.println("N=" + getArgCount(7, 71, 555));
Integer[] i = { 1, 2, 3, 4, 5, 6, 7 };
System.out.println("N=" + getArgCount(i));
System.out.println(getArgCount());
}
В результате выполнения этой программы будет выведено:
arg:7 arg:71 arg:555 N=3
arg:1 arg:2 arg:3 arg:4 arg:5 arg:6 arg:7 N=7
No arg=0
7.Перечисления. Аннотации.
Типобезопасные перечисления (typesafe enums) в Java представляют собой классы и являются подклассами абстрактного класса java.lang.Enum. При этом объекты перечисления инициализируются прямым объявлением без помощи оператора new. При инициализации хотя бы одного перечисления происходит инициализация всех без исключения оставшихся элементов данного перечисления.
Перечисление как подкласс класса Enum может содержать поля, конструкто- ры и методы, реализовывать интерфейсы. Каждый тип enum может использо- вать методы: static enumType[] values() – возвращает массив, содержащий все элементы перечисления в порядке их объявления; static T valueOf(Class<T> enumType, String arg) – возвра- щает элемент перечисления, соответствующий передаваемому типу и значению передаваемой строки; static enumType valueOf(String arg) – возвращает элемент пере- числения, соответствующий значению
передаваемой строки; int ordinal() – возвращает позицию элемента перечисления.
8.Наследование. Использование final.
Отношение между классами, при котором характеристики одного класса (су- перкласса) передаются другому классу (подклассу) без их повторного описания, называется наследованием.
Подкласс наследует переменные и методы суперкласса, используя ключевое слово extends. Класс может также реализовывать любое число интерфейсов, используя ключевое слово – implements. Подкласс имеет прямой доступ ко всем открытым переменным и методам родительского класса, как будто они находятся в подклассе. Исключение составляют члены класса, помеченные private (во всех случаях) и «по умолчанию» для подкласса в другом пакете. В любом случае (даже если ключевое слово extends отсутствует) класс автома- тически наследует свойства суперкласса всех классов – класса Object.
Нельзя создать подкласс для класса, объявленного со спецификатором final
9.Использование super и this.
Ключевое слово super используется для вызова конструктора суперкласса и для доступа к члену суперкласса. Например: super(список_параметров);/* вызов конструктора суперкласса с передачей параметров или без нее*/ super.id = 71; /* обращение к атрибуту суперкласса */ super.getId(); // вызов метода суперкласса Вторая форма super используется для доступа из подкласса к переменной id суперкласса. Третья форма специфична для Java и обеспечивает вызов из под- класса переопределенного метода суперкласса, причем если в суперклассе этот метод не определен, то будет осуществляться поиск по цепочке наследования до тех пор, пока метод не будет найден. Каждый экземпляр класса имеет неявную ссылку this на себя, которая пе- редается также и методам. После этого метод «знает», какой объект его вызвал. Вместо обращения к атрибуту id в методах можно писать this.id, хотя и не обязательно, так как записи id и this.id равносильны.
10. Переопределение методов и полиморфизм. Полиморфизм и расширяемость.
Способность Java делать выбор метода, исходя из типа объекта во время вы- полнения, называется поздним связыванием. При вызове метода его поиск про- исходит сначала в данном классе, затем в суперклассе, пока метод не будет найден или не достигнут Object – суперкласс для всех классов. Если два метода с одинаковыми именами и возвращаемыми значениями находятся в одном классе, то списки их параметров должны отличаться. То же относится к методам, наследуемым из суперкласса. Такие методы являются пе- регружаемыми (overloading). При обращении вызывается тот метод, список па- раметров которого совпадает со списком параметров вызова. Если объявление метода подкласса полностью, включая параметры, совпадает с объявлением ме- тода суперкласса (порождающего класса), то метод подкласса переопределяет (overriding) метод суперкласса. Переопределение методов является основой концепции динамического связывания, реализующей полиморфизм. Когда пере- определенный метод вызывается через ссылку суперкласса, Java определяет, какую версию метода вызвать, основываясь на типе объекта, на который имеет- ся ссылка.
Все методы Java являются виртуальными (ключевое слово virtual, как в C++, не используется). Статические методы могут быть переопределены в подклассе, но не могут быть полиморфными, так как их вызов не затрагивает объекты. Их следует вызы- вать только с использованием имени класса.
В объектно-ориентированном программировании применение наследования предоставляет возможность расширения и дополнения программного обеспече- ния, имеющего сложную структуру с большим количеством классов и методов. В задачи базового класса в этом случае входит определение интерфейса (как спосо- ба взаимодействия) для всех наследников.
11. Статические методы и полиморфизм.
Переопределение статических методов класса не имеет практического смыс- ла, так как обращение к статическому атрибуту или методу осуществляется по- средством задания имени класса, которому они принадлежат. К статическим ме- тодам принципы «позднего связывания» неприменимы. При использовании ссыл- ки для доступа к статическому члену компилятор при выборе метода или поля учитывает тип ссылки, а не тип объекта, ей присвоенного.
12. Абстракция и абстрактные классы.
Абстрактные классы объявляются с ключевым словом abstract и содержат объявления абстрактных методов, которые не реализованы в этих классах, а будут реализованы в подклассах. Объекты таких классов создать нельзя, но можно со- здать объекты подклассов, которые реализуют эти методы. При этом допустимо объявлять ссылку на абстрактный класс, но инициализировать ее можно только объектом производного от него класса. Абстрактные классы могут содержать и полностью реализованные методы, а также конструкторы и поля данных. С помощью абстрактного класса объявляется контракт (требования к функци- ональности) для его подклассов.
13. Клонирование объектов. “Сборка мусора” и освобождение ресурсов.
Объекты в методы передаются по ссылке, в результате чего в метод передает- ся ссылка на объект, находящийся вне метода. Поэтому если в методе изменить значение поля объекта, то это изменение коснется исходного объекта. Во избежа- ние такой ситуации для защиты внешнего объекта следует создать клон (копию) объекта в методе. Класс Object содержит protected-метод clone(), осу- ществляющий побитовое копирование объекта производного класса. Однако сна- чала необходимо переопределить метод clone() как public для обеспечения возможности вызова из другого пакета. В переопределенном методе следует вы- звать базовую версию метода super.clone(), которая и выполняет собственно клонирование. Чтобы окончательно сделать объект клонируемым, класс должен реализовать интерфейс Cloneable. Интерфейс Cloneable не содержит мето- дов относится к помеченным (tagged) интерфейсам, а его реализация гарантирует, что метод clone() класса Object возвратит точную копию вызвавшего его объекта с воспроизведением значений всех его полей. В противном случае метод генерирует исключение CloneNotSupportedException. Следует отметить, что при использовании этого механизма объект создается без вызова конструкто- ра. В языке C++ аналогичный механизм реализован с помощью конструктора ко- пирования.
Когда никаких ссылок на объект не существует, то есть все ссылки на него вышли из области видимости программы, предполагается, что объект больше не нужен, и память, занятая объектом, может быть освобождена. “Сборка мусора” происходит нере- гулярно во время выполнения программы. Форсировать “сборку мусора” невоз- можно, можно лишь “рекомендовать” ее выполнить вызовом метода Sys- tem.gc() или Runtime.getRuntime().gc(), но виртуальная машина выполнит очистку памяти тогда, когда сама посчитает это удобным. Вызов ме- тода System.runFinalization() приведет к запуску метода finalize() для объектов утративших все ссылки.
14. Интерфейсы.
Интерфейсы подобны полностью абстрактным классам, но не являются клас- сами. Ни один из объявленных методов не может быть реализован внутри интер- фейса. В языке Java существуют два вида интерфейсов: интерфейсы, определяю- щие контракт для классов посредством методов, и интерфейсы, реализация кото- рых автоматически (без реализации методов) придает классу определенные свой- ства. К последним относятся, например, интерфейсы Cloneable и Serializ- able, отвечающие за клонирование и сохранение объекта в информационном потоке соответственно. Все объявленные в интерфейсе методы автоматически трактуются как public и abstract, а все поля – как public, static и final, даже если они так не объявлены. Класс может реализовывать любое число интерфейсов, указы- ваемых через запятую после ключевого слова implements, дополняющего определение класса. После этого класс обязан реализовать все методы, получен- ные им от интерфейсов, или объявить себя абстрактным классом. На множестве интерфейсов также определена иерархия наследования, но она не имеет отношения к иерархии классов. Определение интерфейса имеет вид: [public] interface Имя [extends Имя1, Имя2,…, ИмяN] { /*реализация интерфейса*/
15. Статический импорт.
Константы и статические методы класса можно использовать без указания принадлежности к классу, если применить статический импорт, как это показано в следующем примере. // пример # 10 : статический импорт: ImportDemo.java package chapt06; import static java.lang.Math.*;
public class ImportDemo {
public static void main(String[] args) { double radius = 3; System.out.println(2 * PI * radius); System.out.println(floor(cos(PI/3))); }
}
Если необходимо получить доступ только к одной константе класса или ин- терфейса, например Math.E, то статический импорт производится в следующем виде: import static java.lang.Math.E; import static java.lang.Math.cos;//для одного метода
16. Внутренние (inner) классы. Вложенные (nested) классы. Анонимные (anonymous).
Классы могут взаимодействовать друг с другом не только посредством насле- дования и использования ссылок, но и посредством организации логической структуры с определением одного класса в теле другого. В Java можно определить (вложить) один класс внутри определения другого класса, что позволяет группировать классы, логически связанные друг с другом, и динамично управлять доступом к ним. С одной стороны, обоснованное использо- вание в коде внутренних классов делает его более эффектным и понятным. С дру- гой стороны, применение внутренних классов есть один из способов сокрытия кода, так как внутренний класс может быть абсолютно недоступен и не виден вне класса-владельца. Внутренние классы также используются в качестве блоков про- слушивания событий (глава «События»). Одной из важнейших причин использо- вания внутренних классов является возможность независимого наследования внутренними классами. Фактически при этом реализуется множественное насле- дование со своими преимуществами и проблемами.
Нестатические вложенные классы принято называть внутренними (inner) классами. Доступ к элементам внутреннего класса возможен из внешнего класса только через объект внутреннего класса, который должен быть создан в коде ме- тода внешнего класса. Объект внутреннего класса всегда ассоциируется (скрыто хранит ссылку) с создавшим его объектом внешнего класса – так называемым внешним (enclosing) объектом.
Если не существует необходимости в связи объекта внутреннего класса с объ- ектом внешнего класса, то есть смысл сделать такой класс статическим. Вложенный класс логически связан с классом-владельцем, но может быть ис- пользован независимо от него. При объявлении такого внутреннего класса присутствует служебное слово static, и такой класс называется вложенным (nested). Если класс вложен в ин- терфейс, то он становится статическим по умолчанию. Такой класс способен наследовать другие классы, реализовывать интерфейсы и являться объектом наследования для любого класса, обладающего необходимыми правами доступа. В то же время статический вложенный класс для доступа к нестатическим членам и методам внешнего класса должен создавать объект внешнего класса, а напря- мую имеет доступ только к статическим полям и методам внешнего класса. Для создания объекта вложенного класса объект внешнего класса создавать нет необ- ходимости. Подкласс вложенного класса не способен унаследовать возможность доступа к членам внешнего класса, которыми наделен его суперкласс.
Анонимные (безымянные) классы применяются для придания уникальной функциональности отдельно взятому объекту для обработки событий, реализации блоков прослушивания и т.д. Можно объявить анонимный класс, который будет расширять другой класс или реализовывать интерфейс при объявлении одного, единственного объекта, когда остальным объектам этого класса будет соответ- ствовать реализация метода, определенная в самом классе. Объявление анонимно- го класса выполняется одновременно с созданием его объекта посредством опера- тора new. Анонимные классы эффективно используются, как правило, для реализации (переопределения) нескольких методов и создания собственных методов объекта. Этот прием эффективен в случае, когда необходимо переопределение метода, но создавать новый класс нет необходимости из-за узкой области (или одноразового) применения метода. Конструкторы анонимных классов нельзя определять и переопределять. Ано- нимные классы допускают вложенность друг в друга, что может сильно запутать код и сделать эти конструкции непонятными.
TypeQuest unique = new TypeQuest() {// анонимный класс #1
public void addNewType() { // новая реализация метода
System.out.println( "добавлен вопрос со свободным ответом");
}
};// конец объявления анонимного класса
TypeQuest – некий класс, мы не хочем из-за одного метода addNewType() создавать новый класс наследник, поэтому вот так переопределили метод
17. Класс String.
Каждая строка, создаваемая с помощью оператора new или с помощью лите- рала (заключённая в двойные апострофы), является объектом класса String. Особенностью объекта класса String является то, что его значение не может быть изменено после создания объекта при помощи какого-либо метода класса, так как любое изменение строки приводит к созданию нового объекта. При этом ссылку на объект класса String можно изменить так, чтобы она указывала на другой объект и тем самым на другое значение.
String concat(String s) или “+” – слияние строк; boolean equals(Object ob) и equalsIgnoreCase(String s) – сравнение строк с учетом и без учета регистра соответственно; int compareTo(String s) и compareToIgnoreCase(String s) – лексикографическое сравнение строк с учетом и без учета регистра. Метод осу- ществляет вычитание кодов символов вызывающей и передаваемой в метод строк и возвращает целое значение. Метод возвращает значение нуль в случае, когда equals() возвращает значение true; boolean contentEquals(StringBuffer ob) – сравнение строки и содержимого объекта типа StringBuffer; String substring(int n, int m) – извлечение из строки подстроки длины m-n, начиная с позиции n. Нумерация символов в строке начинается с нуля; String substring(int n) – извлечение из строки подстроки, начиная с позиции n; int length() – определение длины строки; int indexOf(char ch) – определение позиции символа в строке; static String valueOf(значение) – преобразование переменной базового типа к строке; String toUpperCase()/toLowerCase() – преобразование всех сим- волов вызывающей строки в верхний/нижний регистр; String replace(char с1, char с2) – замена в строке всех вхожде- ний первого символа вторым символом; String intern() – заносит строку в “пул” литералов и возвращает ее объектную ссылку; String trim() – удаление всех пробелов в начале и конце строки; char charAt(int position) – возвращение символа из указанной по- зиции (нумерация с нуля); boolean isEmpty() – возвращает true, если длина строки равна 0; byte[] getBytes(), getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – извлечение символов строки в массив байт или символов;
Дата добавления: 2015-01-10; просмотров: 5384;