Содержание
- 2. Java комментарии. Javadoc Существует специальный синтаксис для оформления документации в виде комментариев и инструмент для выделения
- 3. На выходе javadoc получается HTML файл, который можно просмотреть любым веб-обозревателем. Этот инструмент позволяет создавать и
- 4. Комментарий для документации начинается с последовательности символов /** и заканчивается последовательностью */. Для нормальной работы утилиты
- 5. Общая форма комментариев После начальной комбинации символов /** располагается текст, являющийся описанием класса, переменной или метода.
- 6. Дескрипторы javadoc @author Описание документирует автора класса. При вызове утилиты javadoc нужно задать опцию -author, чтобы
- 7. @deprecated (не рекомендуемый) Описание определяет, что класс, интерфейс или член класса является устаревшим. Рекомендуется включать дескрипторы
- 8. @exception имя_исключения пояснение Описывает исключение для данного метода. Здесь имя_исключения указывает полное имя исключения, а пояснение
- 9. {@linkplain пакет.класс#элемент текст} Встраивает ссылку. Ссылка отображается шрифтом основного текста. {@literal описание} Позволяет встраивать текст в
- 10. @return пояснение Описывает возвращаемое значение метода. @see ссылка @see пакет.класс#элемент текст Обеспечивает ссылку на дополнительную информацию.
- 11. @since выпуск Показывает, что класс или элемент класса был впервые представлен в определенном выпуске. Здесь выпуск
- 12. {@value} Отображает значение следующей за ним константы, которой должно являться поле static. {@value пакет.класс#поле} Отображает значение
- 13. Пример: /** * Объект Attr определяет атрибут в * виде пары name/value , где * name
- 14. class Attr { /** name - имя атрибута. */ private final string name; /** value -
- 15. /** * Создает новый атрибут с заданными именем * name . * и исходным значением value
- 16. /** * Задает новое значение атрибута. * Старое значение будет возвращено при * вызове {@link #getvalue}.
- 17. /** * возвращает строку вида * name=value . */ public String toString(){ return name + "='"
- 19. ОБРАБОТКА СТРОК Класс String Каждая строка, создаваемая с помощью оператора new или с помощью литерала (заключённая
- 20. Класс String поддерживает несколько конструкторов, например (список не полный): String() String(String str) String(byte asciichar[ ]) String(char[
- 21. Таким образом, объект класса String можно создать, присвоив ссылке на класс значение существующего литерала, или с
- 22. int compareTo(String s) int compareToIgnoreCase(String s) – лексикографическое сравнение строк с учетом и без учета регистра.
- 23. String substring(int n) – извлечение из строки подстроки, начиная с позиции n; int length() – определение
- 24. String trim() – удаление всех пробелов в начале и конце строки; char charAt(int position) – возвращение
- 25. static String format(String format, Object... args), static String format(Locale l, String format, Object... args) Пример: String
- 26. Пример: public class DemoString { static int i; public static void main(String[] args) { char s[]
- 27. Классы StringBuilder и StringBuffer Классы StringBuilder и StringBuffer являются “близнецами” и по своему предназначению близки к
- 28. Методы классов StringBuilder и StringBuffer: void setLength(int n) – установка размера буфера; void ensureCapacity(int minimum) –
- 29. StringBuffer deleteCharAt(int index) – удаление символа; StringBuffer delete(int start, int end) – удаление подстроки; StringBuffer reverse()
- 30. public class DemoStringBuffer { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); System.out.println("длина
- 31. Лексический анализ текста Класс StringTokenizer содержит методы, позволяющие разбивать текст на лексемы, отделяемые разделителями. Набор разделителей
- 32. Некоторые методы: String nextToken() – возвращает лексему как String объект; boolean hasMoreTokens() – возвращает true, если
- 33. На экране получим: Java | StringTokenizer | Example1
- 34. Регулярные выражения Класс java.util.regex.Pattern применяется для определения регулярных выражений (шаблонов), для которых ищется соответствие в строке,
- 35. Если в строке, проверяемой на соответствие, необходимо, чтобы в какой-либо позиции находился один из символов некоторого
- 36. . любой символ \d [0-9] \D [^0-9] \s символ "пробела“. Эквивалентно [ \t\n\x0B\f\r] \S [^\s] \w
- 37. При создании регулярного выражения могут использоваться логические операции: ab после a следует b a|b a либо
- 38. a? a один раз или ни разу a* a ноль или более раз a+ a один
- 39. Pattern compile(String regex) – возвращает Pattern, который соответствует regex. Matcher matcher(CharSequence input) – возвращает Matcher,с помощью
- 40. С помощью метода matches() класса Pattern можно проверять на соответствие шаблону целой строки, но если необходимо
- 41. boolean matches() – проверяет, соответствует ли вся строка шаблону; boolean lookingAt() – пытается найти последовательность символов,
- 42. Иногда необходимо сбросить состояние Matcher’а в исходное, для этого применяется метод reset(). Для замены всех подпоследовательностей
- 43. Matcher useAnchoringBounds(boolean b) – если установлен в true, то начало и конец региона соответствуют символам ^
- 44. String group(int group) – возвращает конкретную группу; int groupCount() – возвращает количество групп; int start() –
- 45. Рассмотрим пример: import java.util.regex.*; public class DemoRegular { public static void main(String[] args) { //проверка на
- 46. Pattern p2 = Pattern.compile(regex); Matcher m2 = p2.matcher(s); while (m2.find()){ System.out.println("e-mail: " + m2.group());} //разбивка строки
- 47. На экране получим: true e-mail: mymail@a.ua e-mail: rom@b.ua java tiger java mustang
- 48. Пример. Группы и квантификаторы: public class Groups { public static void main(String[] args) { myMatches("([a-z]*)([a-z]+)", "abdcxyz");
- 49. public static void myMatches(String regex, String input) { Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input);
- 50. На экране получим: First group: abdcxy Second group: z First group: a Second group: bdcxyz First
- 51. Интернационализация текста Класс java.util.Locale позволяет учесть особенности региональных представлений алфавита, символов. Автоматически виртуальная машина использует текущие
- 52. Locale myLocale = new Locale(“ua”, “UA”); Получить доступ к текущему варианту региональных параметров можно следующим образом:
- 53. Для создания приложений, поддерживающих несколько языков можно использовать взаимодействия классов java.util.ResourceBundle и Locale. Класс ResourceBundle предназначен
- 54. Символы, следующие за базовым именем, показывают код языка, код страны и тип операционной системы. Например, файл
- 55. Чтобы выбрать определенный объект ResourceBundle, следует вызвать метод ResourceBundle.getBundle(параметры). Следующий фрагмент выбирает text объекта ResourceBundle для
- 56. В случае если общее определение файла ресурсов не задано, то метод getBundle() генерирует исключительную ситуацию MissingResourceException.
- 57. import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Locale; import java.util.ResourceBundle; public class HamletInternational { public static void main(String[]
- 58. try {i = (char) System.in.read();} catch (IOException e1) {e1.printStackTrace();} switch (i) { case '1': country =
- 59. try { String st = rb.getString("str1"); String s1 =new String(st.getBytes(), "UTF-8"); System.out.println(s1); st = rb.getString("str2"); String
- 60. Файл text_en_US.properties содержит следующую информацию: str1 = To be or not to be? str2 = This
- 61. Интернационализация чисел Стандарты представления дат и чисел в различных странах могут существенно отличаться. Чтобы сделать такую
- 62. NumberFormat nf = NumberFormat.getInstance( new Locale("RU")); с конкретными региональными установками или с установленными по умолчанию для
- 63. Рассмотрим пример: import java.text.*; import java.util.Locale; public class DemoNumberFormat { public static void main(String args[]) {
- 64. try{ //преобразование строки в германский стандарт iGe = nfGe.parse(str).doubleValue(); //преобразование строки в американский стандарт iUs =
- 65. На экране получим: iGe = 1234,567000 iUs = 1,234000 iFr = 1,000000 1,234.567 1 234,567
- 66. Интернационализация дат Учитывая исторически сложившиеся способы отображения даты и времени в различных странах и регионах мира,
- 67. DateFormat df = DateFormat.getDateInstance( DateFormat.MEDIUM, new Locale(“UA”)); или по умолчанию: DateFormat.getDateInstance(); Константа DateFormat.MEDIUM указывает на то,
- 68. С помощью метода Date parse(String source) можно преобразовать переданную в виде строки дату в объектное представление
- 69. public class DemoDateFormat { public static void main(String[] args) { DateFormat df = DateFormat.getDateInstance( DateFormat.MEDIUM, Locale.US);
- 70. df =DateFormat.getDateInstance(DateFormat.FULL, new Locale("ru","RU")); System.out.println(df.format(d)); df=DateFormat.getDateInstance(DateFormat.FULL, Locale.GERMAN); System.out.println(df.format(d)); d = new Date(); //загрузка в объект df
- 72. Скачать презентацию