
- •Концептуальные и математические основы системной методологии анализа и принятия управленческих решений
- •Основные принципы системного анализа
- •Система. Основные признаки системы
- •Классификация систем
- •Классификация проблем системного анализа по степени из структуризации
- •Методология системного анализа
- •Компьютерные технологии анализа и принятия решений в системах обработки информации и управления Основы языка java
- •Основы работы в NetBeans Типы данных Java
- •Правила именования переменных
- •Перечень ключевых и зарезервированных слов в Java
- •Область видимости переменных
- •Операции с числовыми аргументами
- •Преобразование типов данных в Java
- •Приоритет операций
- •Класс Math
- •Одномерные массивы
- •Многомерные массивы
- •Органицация консольного ввода и вывода
- •Специальные строковые операции
- •Объекты, классы, поля методы и объекты
Многомерные массивы
В Java многомерные массивы – это фактически массивы массивов. Они выглядят и действуют подобно обычным многомерным массивам.
Чтобы объявить многомерную переменную массива, нужно определить каждый дополнительный индекс, используя дополнительный набор квадратных скобок
int[][] twoD = new int[3][5];
Если создать двумерный массив и определить переменную x, которая на него ссылается, то используя x и два числа в паре квадратных скобок можно обратиться к любому элементу двумерного массива.
В то же время, используя переменную x и одно число в паре квадратных скобок, можно обратиться к одномерному массиву, который является элементом двумерного массива. Его можно инициализировать новым массивом с некоторой другой длиной. В результате таблица перестанет быть прямоугольной, а примет произвольную форму.
При создании многомерных массивов с помощью new необходимо указывать все пары квадратных скобок соответственно количеству измерений. Но заполненной обязательно должна быть только самая левая пара скобок, это значение задаст длину самого верхнего массива массивов.
Если заполнить следующую пару, то этот массив заполнится не значениями по умолчанию null, а новыми созданными массивами с меньшей на единицу размерностью.
Если заполнена вторая пара скобок, то можно заполнить третью и так далее.
Аналогично, для создания многомерных массивов можно использовать инициализаторы. В этом случае используется столько фигурных скобок, сколько требуется.
int[][] I =
{
{1,2}
,{3}
,{}
};
Из объектов массивов можно вызывать метод clone(), который позволяет создавать копию, или клон массива.
Присваивание вида
int[] b = a
не приведёт к копированию массива. В этом случае переменная b станет ссылаться на тот же объект массив.
Копирование массивов можно выполнять в цикле, но значительно быстрее работает метод System.arraycopy().
Быстрое заполнение массива одинаковыми значениями может осуществляться методом
java.util.Arrays.fill(mas_name, number)
Для сортировки массива используется метод
Arrays.Sort()
Органицация консольного ввода и вывода
Информацию можно вывести на стандартное устройство вывода, то есть в консольное окно, вызвав один из методов
System.out.print
Syste.out.println
Для реализации операции чтения информации из консоли, надо создать объект
Scanner
и связать его со стандартным входным потоком
System.in
Scaner s = new Scaner(Sustem.in);
Сделав это можно получить в своё распоряжение многочисленные методы класса Scaner, предназначенные для чтения входных данных. Например, метод nextLine обеспечивает чтение строки текста.
Для того, чтобы прочитать одно слово используется метод next. При этом разделителями между словами считаются пробелы.
Для чтения целочисленного значения используется метод nextInt.
Метод nextDouble читает очередное число с плавающей точкой.
Строки
Как и в большинстве других языков программирования, строка в Java – это последовательность символов. Но в отличие от многих других языков, которые реализуют строки, как символьные массивы в Java строки реализуются как объекты экземпляра класса String.
Класс String инкапсулирует действия со строками. Объект этого типа – это строка, состоящая из произвольного числа символов.
Литеральные константы типа String представляют собой последовательности символов, заключённые в двойные кавычки.
После создания объекта класса String, символы, входящие в строку, нельзя изменять. Это ограничение обусловлено двумя причинами:
Над объектом класса String можно выполнять все типы строковых операций. Для того, чтобы изменить версию существующей строки, нужно создать новый объект типа String, который содержит необходимую модификацию. При этом исходная строка остаётся неизменной. Этот подход используется потому, что фиксированные, неизменяемые строки можно реализовать более эффективно, чем изменяемые.
Для тех случаев, когда нужна изменяемая строка существует класс с именем StringBuffer, объекты которого могут изменяться после их создания.
Классы String и StringBuffer определены в пакете java.lang. Таким образом они доступны всем программам автоматически. Оба класса, объявлены как final, и это означает, что ни один из этих классов не может иметь подклассов.
Когда говорят, что строки объектов типа String являются неизменяемыми, это означает, что содержимое объекта String не может быть модифицировано после того, как он был создан. Однако переменную, объявленную как ссылку на объект класса String можно в любой момент изменить, так чтобы она указывала на другой объект класса String.