Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Атомарнихтипів Number ( Double , Float , Integer , Long ), Character , Boolean . Призначення та оглядосновнихметодів.
Бібліотека класів мови включає в себе набір допоміжних класів. Ці класи розташовані в пакетах java.lang і java.util. Java використовує вбудовані примітивні типи даних, наприклад, int і charдля забезпечення високої продуктивності. Ці типи даних не належать до класової ієрархії Java. Вони передаються методам по значенню, передати їх по посиланню неможливо. З цієї причини для кожного примітивного типу в Java реалізований спеціальний клас. Клас Number представляє собою інтерфейс для роботи з усіма стандартними скалярними типами: - long, int, float і double. Doubleі Float - підкласи класу Number. Ці класи містять декілька сервісних функцій, які полегшують роботу зі значеннями double і float. У кожного з класів є конструктори, що дозволяють ініціалізувати об'єкти значеннями типів double і float. Ці об'єкти можна ініціалізувати і об'єктом String, що містить текстове представлення дійсного числа. Клас Integer - клас - оболонка для чисел типів int, short і byte, a клас Long - відповідно для типу long. Крім успадкованих методів свого суперкласу Number, класи Integer і Long містять методи для розбору текстового представлення чисел, і навпаки, для подання чисел у вигляді текстових рядків. Різні варіанти цих методів дозволяють вказувати підставу (систему числення), використовувану при перетворенні. Зазвичай використовуються двійкова, вісімкова, десяткова і шістнадцятковій системи числення. parseInt (String) перетворює текстове представлення цілого числа, що міститься в змінній String, в значення типу int. toString (int) перетворює передане як параметр ціле число в текстове представлення в десятковій системі. Character - В даному класі знаходиться статичні константи та методи для роботи з окремими символами. Існує доволі велика кількість статичних логічних методів, які перевіряють характеристики символа, що передається в якості аргумента метода. isLowerCase () повертає true, якщо символ-параметр нижнього регістру isUpperCase () робить те ж саме у випадку символів верхнього регістру. isDigit () і isSpace () повертають true для цифр і пропусків, відповідно. toLowerCase () і to U pperCase () виконують перетворення символів з верхнього в нижній регістр і назад. Клас Boolean - призначений загальним чином для представлення логічного значення в методі по посиланні визначені дві змінні true та false. Дані змінні відносяться до стрінгового типу. Конструктор bollean створює об’єкт, який містить значення true якщо рядок повертає значення true (слово true може бути написане будь-яким регістром). І повертає значення false, якщо повертається рядок з будь-яким іншим змістом. Для повернення логічного значення, що зберігається в об’єкті використовують логічний метод Booleanvallue..
40. Поняття про утилітах мови програмування Ява. Прості оболонки для атомарних типів Number (Double, Float, Integer, Long), Character, Boolean. Призначення та огляд основних методів. Мова програмування Java є повністю об’єктно-орієнтованою. Це означає, що все що можливо в Java представлено об’єктами. Але в мові програмування Java існує 8 примітивних типів, які порушують дане правило. По-перше, арифметичні дії швидше та простіше виконувати над простими числами, а не з об’єктами класу. По-друге, в нових версіях Java залишили спадковість перших версій Java, яка була побудована без ООП. Для даних типів в мові Java створили відповідні класи, які називаються класи оболонки примітивних типів. В основному класи оболонки призначені не для обрахунків, а для дій, які виконуються при роботі з класами, а саме: створення об’єктів, перетворення об’єктів, одержання чисельних значень об’єктів в різних формах та передача об’єктів в методи по посиланню. В мові програмування Java для кожного примітивного типу існує відповідний клас. По даній ієрархії числові класи мають загальний батьківський клас Number, в якому описані 6 методів, що повертають значення, яке міститься в класі у відповідний тип. bytevalue(); doublevalue(); floatvalue(); intvalue(); longvalue(); shortvalue(); Ці методи визначені в кожному з 6-ти числових класів оболонок. В кожному з 6-ти числових класів оболонок є статичні методи, що перетворюють рядки символів типу string у відповідний примітивний тип. Byte.parseByte(); Double.parseDouble(); Float.parseFloat(); Integer.parseInteger(); Short.parseShort(); Long.parseLong(); В кожному з цих класів є статичні константи, що вказують на діапазон числових значень відповідного примітивного типу: MAX_VALUE MIN_VALUE Крім того в класах Float та Double є ще три: NaN POSITIVE_INFINITY NEGATIVE_INFINITY Та логічні методи перевірки: isNaN() isLhFanity() Клас Boolean В даному класі, який призначений загальним чином для логічного значення в методі по посиланні визначені дві змінні true та false. Дані змінні відносяться до стрінгового типу. Конструктор bollean створює об’єкт, який містить значення true якщо рядок повертає значення true (слово true може бути написане будь-яким регістром). І повертає значення false, якщо повертається рядок з будь-яким іншим змістом. Для повернення логічного значення, що зберігається в об’єкті використовують логічний метод Booleanvallue.
Клас Character В даному класі знаходиться статичні константи та методи для роботи з окремими символами. Існує доволі велика кількість статичних логічних методів, які перевіряють характеристики символа, що передається в якості аргумента метода. Приклад:
41. Поняття про утилітах мови програмування Ява. Утиліти Runtime, System, Date, Math, Random. Призначення та огляд основних методів. Runtime Класс Runtime инкапсулирует интерпретатор Java. Вы не можете создать нового представителя этого класса, но можете, вызвав его статический метод, получить ссылку на работающий в данный момент объект Runtime. Обычно апплеты и другие непривелигированные программы не могут вызвать ни один из методов этого класса, не возбудив при этом исключения SecurityException. Одна из простых вещей, которую вы можете проделать с объектом Runtime - его останов, для этого достаточно вызвать метод exit(int code). Управление памятью Хотя Java и представляет собой систему с автоматической сборкой мусора, вы для проверки эффективности своего кода можете захотеть узнать, каков размер "кучи" и как много в ней осталось свободной памяти. Для получения этой информации нужно воспользоваться методами totalMemory и freeMemory. ВНИМАНИЕ! При необходимости вы можете "вручную" запустить сборщик мусора, вызвав метод gc. Если вы хотите оценить, сколько памяти требуется для работы вашему коду, лучше всего сначала вызвать gc, затем free-Memory, получив тем самым оценку свободной памяти, доступной в системе. Запустив после этого свою программу и вызвав freeMemory внутри нее, вы увидите, сколько памяти использует ваша программа. Выполнение других программ В безопасных средах вы можете использовать Java для выполнения других полновесных процессов в своей многозадачной операционной системе. Несколько форм метода ехес позволяют задавать имя программы и ее параметры.
В очередном примере используется специфичный для Windows вызов ехес, запускающий процесс notepad - простой текстовый редактор. В качестве параметра редактору передается имя одного из исходных файлов Java. Обратите внимание - ехес автоматически преобразует в строке-пути символы "/" в разделители пути в Windows - "\". class ExecDemo { public static void main(String args[]) { Runtime r = Runtime. getRuntime(); Process p = null; String cmd[] = { "notepad", "/java/src/java/lang/Runtime.java" }; try { p = r.exec(cmd); } catch (Exception e) { System.out.println("error executing " + cmd[0]); } } }System Класс System содержит любопытную коллекцию глобальных функций и переменных. В большинстве примеров этой книге для операций вывода мы использовали метод System.out.println(). В следующей главе будут детально рассмотрены потоки InputStream и OutputStream. Метод currentTimeMillis возвращает текущее системное время в виде миллисекунд, прошедших с 1 января 1970 года. Метод arraycopy можно использовать для быстрого копирования массива любого типа из одного места в памяти в другое. Ниже приведен пример копирования двух массивов с помощью этого метода. class ACDemo { static byte a[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 }; static byte b[] = { 77, 77, 77, 77, 77, 77, 77, 77, 77, 77 }; public static void main (String args[]) { System.out.println("a = " + new String(a, 0)); System.out.println("b = " + new String(b, 0)); System.arraycopy(a, 0, b, 0, a.length); System.out.println("a = " + new String(a, 0)); System.out.println("b = " + new String(b, 0)); System.arraycopy(a, 0, a, 1, a.length - 1); System.arraycopy(b, 1, b, 0, b.length - 1); System.out.println("a = " + new String(a, 0)); System.out.println("b = " + new String(b, 0)); } }Как вы можете заключить из результата работы этой программы, копирование можно выполнять в любом направлении, используя в качестве источника и приемника один и тот же объект. Date Класс Date используется для операций с датой и временем. Через него вы можете получить доступ к дате, месяцу, году, дню недели, часам, минутам, секундам. У объектов этого класса - несколько конструкторов. Самый простой - Date() - инициализирует объект текущими датой и временем. Три остальных конструктора предлагают дополнительные возможности задавать начальные значения для нового объекта.
Get и set Класс Date включает в себя набор методов для получения и установки отдельных атрибутов, хранящихся в объекте. Каждая из функций семейства get - getYear, getMonth, getDate, getDay, getHours, getMi-nutes и getSeconds - возвращает целое значение. Каждой из функций семейства set - setYear, setMonth, setDate, setHours, setMinutes и setSeconds - в качестве параметра передается целое значение. Вы также можете получить представление объекта Date в виде значения типа long с помощью метода getTime. Возвращаемое этим методом значение представляет собой число миллисекунд, прошедших после 1 января 1970 года.
Math Класс Math содержит функции с плавающей точкой, которые используются в геометрии и тригонометрии. Кроме того, в нем есть две константы, используемые в такого рода вычислениях: - Е (приблизительно 2.72) и PI (приблизительно 3.14159). Тригонометрические функции Приведенные ниже три функции имеют один параметр типа double, представляющий собой угол в радианах, и возвращают значение соответствующей тригонометрической функции.
Следующие четыре функции возвращают угол в радианах, соответствующий значению, переданному им в качестве параметра.
Степенные, показательные и логарифмические функции
Округление
Кроме того, в классе Math имеются полиморфные версии методов для получения модуля, нахождения минимального и максимального значений, работающие с числами типов int, long, float и double:
Random Класс Random - это генератор псевдослучайных чисел. Используемый в нем алгоритм был взят из раздела 3.2.1 "Искусства программирования" Дональда Кнута. Обычно в качестве начального значения используется текущее время, что снижает вероятность получения повторяющихся последовательностей случайных чисел. Из объекта класса Random можно извлекать 5 типов случайных чисел. Метод nextInt возвращает целое число, равномерно распределенное по всему диапазону этого типа. Аналогично, метод nextLong возвращает случайное число типа long. Методы nextFloat и nextDouble возвращают случайные числа соответственно типов float и double, равномерно распределенные на интервале 0.0..1.0. И, наконец, метод nextGaussian возвращает нормально распределенное случайное число со средним значением 0.0 и дисперсией 1.0.
42. Робота з рядками. Оболонка String. Основні методи. В пакет java.lang встроен класс, инкапсулирующий структуру данных, соответствующую строке. Этот класс, называемый String, не что иное, как объектное представление неизменяемого символьного массива. В этом классе есть методы, которые позволяют сравнивать строки, осуществлять в них поиск и извлекать определенные символы и подстроки. Класс StringBuffer используется тогда, когда строку после создания требуется изменять. И String, и StringBuffer объявлены final, что означает, что ни от одного из этих классов нельзя производить подклассы. Это было сделано для того, чтобы можно было применить некоторые виды оптимизации позволяющие увеличить производительность при выполнении операций обработки строк. Как и в случае любого другого класса, вы можете создавать объекты типа String с помощью оператора new. Для создания пустой строки используется конструктор без параметров: String s = new String():Приведенный ниже фрагмент кода создает объект s типа String инициализируя его строкой из трех символов, переданных конструктору в качестве параметра в символьном массиве. char chars[] = { 'а', 'b', 'с' }:String s = new String(chars); System.out.println(s);Этот фрагмент кода выводит строку "abc". Итак, у этого конструктора - 3 параметра: String(char chars[], int начальныйИндекс, int числоСимволов);Используем такой способ инициализации в нашем очередном примере: char chars[] = { 'a', 'b', 'с', 'd', 'e', 'f' }:String s = new String(chars,2,3);System.out.println(s);Этот фрагмент выведет "cde". лас String в Java містить понад 50 методів, які можуть бути корисні при програмуванні. Нижче наведено список з найбільш корисних методів. Методи String |
||||||||||
Тип повернення | Назва методу та його аргументи | Опис | |||||||||
char | charAt(int index) | Повертає char значення за вказаним індексом | |||||||||
int | codePointAt(int index) | Повертає символ (Unicode code point) за вказаним індексом | |||||||||
int | codePointBefore(int index) | Повертає символ (Unicode code point) перед вказаним індексом | |||||||||
int | codePointCount(int beginIndex, int endIndex) | Повертає кількість кодових точок Unicode у зазначеному інтервалі в рядку. | |||||||||
int | compareTo(String anotherString) | Порівнює два рядки лексикографічно | |||||||||
int | compareToIgnoreCase(String str) | Порівнює два рядки лексикографічно, ігноруючи різницю в регістрах літер | |||||||||
String | concat(String str) | приєднує зазначений рядок str в кінець рядка | |||||||||
boolean | contains(CharSequence s) | Повертає true, тільки якщо рядок містить зазначену послідовність значень char | |||||||||
boolean | contentEquals(CharSequence cs) | Порівнює рядок із зазначеною послідовністю символів(CharSequence) | |||||||||
boolean | endsWith(String suffix) | Перевіряд чи рядок закінчується зазначеним суфіксом | |||||||||
boolean | equals(Object anObject) | Порівнює рядок із зазначеним об'єктом | |||||||||
boolean | equalsIgnoreCase(String anotherString) | Порівнює рядок з іншим рядком, ігноруючи регістр | |||||||||
byte[] | getBytes() | Кодує рядок у послідовність байт використовуючи символьний набір(charset) по замовчуванню, результат зберігається у новому байтовому масиві | |||||||||
byte[] | getBytes(Charset charset) | Кодує рядок у послідовність байт використовуючи наданий символьний набір(charset), результат зберігається у новий байтовий масив | |||||||||
byte[] | getBytes(String charsetName) | кодує рядок у послідовність байт використовуючи названий символьний набір, результат зберігається у новому байтовому масиві | |||||||||
void | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | Копіює символи з рядка у символьний масив | |||||||||
int | hashCode() | Повертає ХЕШ-код для рядки | |||||||||
int | indexOf(int ch) | Повертає індекс першого входження зазначеного символу в рядок | |||||||||
int | indexOf(int ch, int fromIndex) | Повертає індекс символу у рядку починаючи пошук із зазначеного індексу | |||||||||
int | indexOf(String str) | Повертає індекс першого знаходження підрядка у рядку | |||||||||
int | indexOf(String str, int fromIndex) | Повертає індекс в рядку підрядка, починаючи пошук із зазначеної позиції | |||||||||
boolean | isEmpty() | Повертає true, тільки тоді, якщо довжина(length()) становить 0. | |||||||||
int | lastIndexOf(int ch) | Повертає індекс останнього входження зазначеного символу в рядку | |||||||||
int | lastIndexOf(int ch, int fromIndex) | Повертає індекс останнього входження зазначеного символу, шукаючи його із зазначеної позиції в рядку | |||||||||
int | lastIndexOf(String str) | Повертає індекс останнього входження зазначеного підрядка | |||||||||
int | lastIndexOf(String str, int fromIndex) | Повертає індекс останнього входження зазначеного підрядка, шукаючи його із зазначеного індексу у рядку | |||||||||
int | length() | Повертає довжину даного рядка | |||||||||
boolean | matches(String regex) | Говорить чи відповідає даний рядок заданому регулярному виразу | |||||||||
String | replace(char oldChar, char newChar) | Повертає новий рядок заміняючи усі входження символу(oldChar) в рядку на новий символ (newChar) | |||||||||
String | replace(CharSequence target, CharSequence replacement) | Заміняє в рядку підрядок target новою послідовністю replacement | |||||||||
String | replaceAll(String regex, String replacement) | Заміняє кожен підрядок в рядку, що співпадає з регулярним виразом(regex) новим підрядком(replacement) | |||||||||
String | replaceFirst(String regex, String replacement) | Заміняє перший підрядок, що відповідає заданому регулярному виразу на підрядок для заміни | |||||||||
String[] | split(String regex) | Розбиває рядок за певним правилом поданим у регулярному виразі | |||||||||
String[] | split(String regex, int limit) | Розбиває рядок за певним правилом поданим у регулярному виразі | |||||||||
boolean | startsWith(String prefix) | Перевіряє чи поточний рядок починається з заданого префікса | |||||||||
String | substring(int beginIndex) | Повертає підрядок з поточного рядка | |||||||||
String | substring(int beginIndex, int endIndex) | Повертає підрядок з поточного рядка | |||||||||
char[] | toCharArray() | Перетворює рядок у новий символьний масив | |||||||||
String | toLowerCase() | Перетворює усі символи рядка у нижній регістер використовуючи locale правило по замовчуванню | |||||||||
String | toLowerCase(Locale locale) | Перетворює усі символи рядка у нижній регістр використовуючи правило Locale. | |||||||||
String | toUpperCase() | Конвертує всі символи рядка у верхній регістер використовуючи locale правило по замовчуванню | |||||||||
String | toUpperCase(Locale locale) | Перетворює усі символи рядка у верхній регістер використовуюче правило подане у Locale. | |||||||||
String | trim() | Повертає копію рядка усуваючи пробіли спереду і ззаду рядка | |||||||||
static String | valueOf(boolean b) | Повертає рядкове представлення аргументу boolean типу | |||||||||
static String | valueOf(char c) | Повертає рядкове представлення char аргументу | |||||||||
static String | valueOf(char[] data) | Повертає рядкове представлення масиву типу char | |||||||||
static String | valueOf(double d) | Повертає рядкове представлення double аргументу | |||||||||
static String | valueOf(float f) | Повертає рядкове представлення float аргументу | |||||||||
static String | valueOf(int i) | Повертає рядкове представлення int аргументу. | |||||||||
static String | valueOf(long l) | Повертає рядкове представлення аргументу типу long | |||||||||
static String | valueOf(Object obj) | Повертає представлення об'єкту у вигляді рядка |
43. Робота з легковажним процесами. Пріоритет під процесу,
синхронізація під процесів, обмін повідомленнями.
Параллельное программирование, связанное с использованием легковесных процессов, или подпроцессов (multithreading, light-weight processes) - концептуальная парадигма, в которой вы разделяете свою программу на два или несколько процессов, которые могут исполняться одновременно.
ЗАМЕЧАНИЕ
Во многих средах параллельное выполнение заданий представлено в том виде, который в операционных системах называется многозадачностью. Это совсем не то же самое, что параллельное выполнение подпроцессов. В многозадачных операционных системах вы имеете дело с полновесными процессами, в системах с параллельным выполнением подпроцессов отдельные задания называются легковесными процессами (light-weight processes, threads).
| Поделиться: |
Читайте также:
Последнее изменение этой страницы: 2021-12-07; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!
infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.19.251 (0.043 с.)