Скачать презентацию Программирование на Java Лекция 2 Типовые задачи Скачать презентацию Программирование на Java Лекция 2 Типовые задачи

lection2.pptx

  • Количество слайдов: 24

Программирование на Java Лекция 2. Типовые задачи. Программирование на Java Лекция 2. Типовые задачи.

Массивы Массив – группа однотипных переменных, обращение к которым выполняется по общему имени. Доступ Массивы Массив – группа однотипных переменных, обращение к которым выполняется по общему имени. Доступ к элементу массива осуществляется по его индексу. Java допускает создание массивов любого типа. Массивы в Java могут иметь одно или более измерений. Массивы в Java являются объектным типом данных. a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]

Объявление массива тип имя_переменной[]; или тип[] имя_переменной; Пример: int a[]; double[] vec; Объявление массива тип имя_переменной[]; или тип[] имя_переменной; Пример: int a[]; double[] vec;

Создание массива имя_переменной = new тип[количество_элементов]; Пример: a = new int[12]; vec = new Создание массива имя_переменной = new тип[количество_элементов]; Пример: a = new int[12]; vec = new double[4]; При создании массива всем элементам примитивных типов присваивается значание 0 (false), элементам объектных типов присваивается значение null.

Инициализация массива имя_переменной[индекс] = значение; Пример: a[0] = 14; for(int i = 0; i Инициализация массива имя_переменной[индекс] = значение; Пример: a[0] = 14; for(int i = 0; i < 4; i++) vec[i] = i*2 + 1;

Инициализатор массива имя_переменной = {элемент1, элемент2, … , элемент. N} Пример: a = {1, Инициализатор массива имя_переменной = {элемент1, элемент2, … , элемент. N} Пример: a = {1, 2, 3, 4};

Операции объявления, создания и инициализации можно объединить. Пример: int a[] = new int[10]; double Операции объявления, создания и инициализации можно объединить. Пример: int a[] = new int[10]; double vec[] = {1. 0, 0. 0, 2. 5, -1. 3}; boolean flags[] = {true, false};

Многомерные массивы В Java многомерные массивы представляют собой массивы массивов. Пример: int a[][] = Многомерные массивы В Java многомерные массивы представляют собой массивы массивов. Пример: int a[][] = new int[2][2]; double b[][] = {{1. 0, 0. 0}, {0. 0, 1. 0}}; int c[][] = new [3][]; for(int i = 0; i < 3; i++) c[i] = new int[5];

Поля и методы класса массива Ø length - Содержит длину массива. Ø Object clone() Поля и методы класса массива Ø length - Содержит длину массива. Ø Object clone() - Копирует массив. Пример: int a[] = new int[10]; System. out. println(“Длина массива: “ + a. length); int b[] = a. clone();

Класс Arrays Ø Arrays. equals(<тип>[] a 1, <тип>[] a 2) – сравнивает 2 массива. Класс Arrays Ø Arrays. equals(<тип>[] a 1, <тип>[] a 2) – сравнивает 2 массива. Массивы считаются равными, если содержат одинаковое количество элементов и элементы с одинаковыми индексами равны между собой, либо, если оба массива имеют значение null. Ø Arrays. sort(<тип>[] a) – сортирует массив a в порядке возрастания. Ø Arrays. fill(<тип>[] a, <тип> val) – заполняет все элементы массива значением val.

Чтобы использовать класс Arrays, необходимо импортировать его из пакета java. util. import java. util. Чтобы использовать класс Arrays, необходимо импортировать его из пакета java. util. import java. util. Arrays; Пример: int a[] = {3, 3, 3, 3}; int b[] = new int[4]; Arrays. fill(b, 3); if(Arrays. equals(a, b)) System. out. println(“Массивы равны”);

Вывод массивов Пример вывода двумерного массива a. for(int i = 0; i < a. Вывод массивов Пример вывода двумерного массива a. for(int i = 0; i < a. length; i++) { for(int j = 0; j < a[i]. length; j++) System. out. print(a[i][j] + “ “); System. out. println(); }

Строки Конструктор String() Пример String s = new String(); String(chars[]) chars[] = {‘a’, ‘b’, Строки Конструктор String() Пример String s = new String(); String(chars[]) chars[] = {‘a’, ‘b’, ‘c’}; String s = new String(chars); String(chars[], chars[] = {‘a’, int start. Index, int ‘b’, ‘c’, ‘d’, ‘e’, num. Chars) ‘f’}; String s = new String(chars, 2, 3); String(String s = new string. Obj) String(“str”); String s = “str”; Создание из строкового литерала Результат “” “abc” “cde” “str”

Методы класса String int length() Возвращает длину строки char. At(int where) Возвращает символ с Методы класса String int length() Возвращает длину строки char. At(int where) Возвращает символ с индексом where char[] to. Char. Array() Возвращает массив символов, воходящих в строку boolean equals(Object str) Сравнение с другой строкой boolean equals. Ignore. Case(Object str) Сравнение с другой строкой без учёта регистра символов int index. Of(String str) Возвращает индекс первого вхождения подстроки str в строку или -1, если подстрока ни разу не встретилась

String replace(char old. Char, char new. Char) Возвращает строку, в которой символ old. Char String replace(char old. Char, char new. Char) Возвращает строку, в которой символ old. Char заменён на new. Char String concat(String str) Возвращает строку, полученную добавлением строки str в конец строки, для которой вызван метод String to. Lower. Case() Возвращает строку, в которой все символы приведены к нижнему регистру Возвращает строку, в которой все символы приведены к верхнему регистру String to. Upper. Case()

Примеры String str = Примеры String str = "This is a string"; System. out. println("Длина строки: " + str. length()); System. out. println("Символ с индексом 12: " + str. char. At(12)); System. out. println("Слово string начинается с индекса: " + str. index. Of("string")); if(str. equals. Ignore. Case("this IS a String")) System. out. println("Строки равны без учёта регистра"); str = str. replace(' ', '. '); System. out. println("В этой строке пробелы заменены на точки: ". concat(str));

Класс Math Константы: Math. E Math. PI Число e (2, 72…) Число π (3. Класс Math Константы: Math. E Math. PI Число e (2, 72…) Число π (3. 14…) Пример: System. out. println(“Число e равно: “ + Math. E);

Тригонометрические функции double Math. sin(double arg) Синус угла arg, переданного в радианах double Math. Тригонометрические функции double Math. sin(double arg) Синус угла arg, переданного в радианах double Math. cos(double arg) Косинус угла arg, переданного в радианах double Math. tan(double arg) Тангенс угла arg, переданного в радианах double Math. asin(double arg) Возвращает угол, синус которого равен arg double Math. acos(double arg) Возвращает угол, косинус которого равен arg double Math. atan(double arg) Возвращает угол, тангенс которого равен arg double Math. atan 2(double x, Возвращает угол, тангенс которого равен x/y double y)

Экспоненциальные функции double Math. exp(double arg) Экспонента arg double Math. log(double arg) Натуральный логарифм Экспоненциальные функции double Math. exp(double arg) Экспонента arg double Math. log(double arg) Натуральный логарифм от arg double Math. log 10(double arg) Логарифм по основанию 10 от arg double Math. pow(double y, double x) y в степени x double Math. sqrt(double arg) Квадратный корень arg

Прочие функции <тип> Math. abs(<тип> arg) Абсолютное значение arg double Math. ceil(double arg) Наименьшее Прочие функции <тип> Math. abs(<тип> arg) Абсолютное значение arg double Math. ceil(double arg) Наименьшее целое число, большее arg Наибольшее целое число, меньше или равное arg double Math. floor(double arg) <тип> Math. max(<тип> x, <тип> y) Возвращает большее из чисел x и y <тип> Math. min( <тип> x, <тип> y) Возвращает меньшее из чисел x и y double Math. random() double Math. to. Degrees(double arg) Возвращает псевдослучайное число от 0 до 1 Преобразует радианы в градусы double Math. to. Radians(double arg) Преобразует градусы в радианы

Генератор псевдослучайных чисел Для генерации псевдослучайных чисел в Java предназначен класс Random. Этот класс Генератор псевдослучайных чисел Для генерации псевдослучайных чисел в Java предназначен класс Random. Этот класс находится в пакете java. utils. Чтобы использовать методы класса Random, его необходимо создать. Пример: import java. util. Random; //. . . где-то в коде Random r = new Random();

Равномерное распределение Для генерации псевдослучайных чисел равномерного распределения предназначены следующие методы: • next. Boolean() Равномерное распределение Для генерации псевдослучайных чисел равномерного распределения предназначены следующие методы: • next. Boolean() – генерирует значение в диапазоне (false, true) • next. Double(), next. Float() – генерируют значение в диапазоне 0. 0. . 1. 0 • next. Int(), next. Long() – генерирует целое число из области значений целого типа • next. Int(int n) – генерирует целое число в диапазоне 0. . n-1 Пример: int a[] = new int[10]; Random r = new Random(); for(int i = 0; i < a. length; i++) a[i] = r. next. Int(25);

Стандартное нормальное распределение Для генерации псевдослучайных чисел стандартного нормального распределения предназначен метод next. Gaussian(). Стандартное нормальное распределение Для генерации псевдослучайных чисел стандартного нормального распределения предназначен метод next. Gaussian(). Он возвращает псевдослучайное число типа double, подчинённое закону нормального распределения с математическим ожиданием 0. 0 и стандартным отклонением 1. 0. Пример: double a[] = new double[128]; Random r = new Random(); for(int i = 0; i < a. length; i++) a[i] = r. next. Gaussian();

Эти и другие материалы можно найти по адресу http: //drop. io/ibts_java Официальная документация JDK Эти и другие материалы можно найти по адресу http: //drop. io/ibts_java Официальная документация JDK 6 http: //download. oracle. com/javase/6/docs/api/