Файл: Понятие переменной в программировании. Виды и типы переменных (Понятие переменных и их использование).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.06.2023

Просмотров: 85

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Массив создается выражением творения массива либо инициализатором массива.

Выражение существа массива описывает вид составляющей, количество уровней вложенных массивов, и длину массива, по последней мере кого-то из уровней инвестиции. Длина массива доступна как окончательный экземпляр переменной length.

Инициализатор массива делает массив и обеспечивает изначальные ценности для всех компонент (Это большая разница в сравнении с Си и Си ++, где это вполне возможно для инициализатора массива, определяющего изначальные ценности для каких-либо, но не всех компонент массива.)

3.1. Доступ к массиву

К составляющей массива обращаются при помощи выражения доступа к массиву, которое состоит из выражения, чье значение - гиперссылка на массив, сопровождаемая индексным выражением, заключенным в скобки [], как в A[i]. Индексация всех массивов наступает с 0. Массив длиной n быть может, индексирован целыми от 0 до n-1.

Массивы обязаны быть индексированы значениями вида int; short, byte, или же кроме того в роли значений индекса имеют все шансы употребляться ценности вида char, по следующим причинам они подвергаются одноместному числовому расширению и становятся значениями вида int (т.е. целые). Попытка доступа к составляющей массива при помощи индекса значение, у которого вида long вызовет оплошность времени компиляции.

Все обращения к массиву проверяются в период исполнения; попытка применять индекс, значение которого меньше нулевой отметки либо больше чем длина массива вызывает генерацию IndexOutOfBoundsException.

Массивы: пример

Пример:

class Gauss {

public static void main(String[] args) {

int[] ia = new int[101];

for (int i = 0; i < ia.length; i++)

ia[i] = i;

int sum = 0;

for (int i = 0; i < ia.length; i++)

sum += ia[i];

System.out.println(sum);

}

}

который вывод:5050

заявляет переменную ia, являющуюся переменной вида массив из целых (int), другими словами int[]. Переменная ia - инициализируется, чтоб сослаться на снова разработанный объект массива, разработанного выражением творящим массив. Выражение, создающее массив описывает, что массив обязан иметь 101 составляющую. Длина массива доступна для применения поля length, как показано в образце программы, заполняющей массив целыми значениями от 0 до 100, которая выводит на экран необходимую сумму данных значений.


3.2. Инициализаторы массивов

Инициализаторы массивов имеют все шансы быть отнесены в описании, создавая массив и присваивая некие исходные значения:

ArrayInitializer:

{ VariableInitializersopt ,opt }

VariableInitializers:

VariableInitializer

VariableInitializers , VariableInitializer

Для большей ясности последующее повторяется:

VariableInitializer:

Expression

ArrayInitializer

Инициализатор массива пишется как перечень выражений разделенных запятой, заключенный в фигурные скобки "{" и "}".

Длина построенного массива будет приравниваться количеству выражений.

Каждое выражение характеризует значение для 1-го составляющая массива. Каждое выражение обязано быть совместимо по присваиванию с типом компонент массива, либо наблюдается оплошность времени компиляции.

Если компонент массива сам считается массивом, тогда выражение, определяющее компонент может само быть инициализатором массива; т.е. инициализатор массива, быть может, вложен.

Последние точка с запятой имеют все шансы появляться после заключительного выражения в инициализаторе массива и игнорируется.

Как в примере:

class Test {

public static void main(String[] args) {

int ia[][] = { {1, 2}, null };

for (int i = 0; i < 2; i++)

for (int j = 0; j < 2; j++)

System.out.println(ia[i][j]);

}

}

который выводит:

1

2

до происхождения NullPointerException при попытке индексирования 2 составляющая массива ia, который равен null.

3.3. Члены массива

Члены массива следующее:

public final поле length (длина), которое имеет количество компонентов массива (length (длина) быть может, лишь неотрицательной)

public способ clone, который переопределяет способ такого же фамилии в классе Object и вовсе не генерирует контролируемых исключительных обстановок.

Массив, следовательно, имеет такие же самые способы, что и последующий класс

class A implements Cloneable {

public final int length = X;

public Object clone() {

try {

return super.clone();

} catch (CloneNotSupportedException e) {

throw new InternalError(e.getMessage());

}

}

}

Любые массив реализуется интерфейсом Cloneable. Данные массивы считаются cloneable, как показано в тестирующей программе:

class Test {

public static void main(String[] args) {

int ia1[] = { 1, 2 };

int ia2[] = (int[])ia1.clone();

System.out.print((ia1 == ia2) + " ");

ia1[1]++;

System.out.println(ia2[1]);

}

}

Которая выводит:

false 2

и демонстрирует что составляющие массивов, обозначенных через ia1 и ia2, считаются всевозможными переменными. (В любых языка Ява данный образчик сбивается при компиляции, по следующим причинам компилятор ошибочно считал, что способ clone для массива может генерировать CloneNotSupportedException.)


Способ clone многомерного массива делает исключительно одномерный новейший массив. Подмассивы оказываются едиными, как показано в случае программы :

class Test {

public static void main(String[] args) throws Throwable {

int ia[][] = { { 1 , 2}, null };

int ja[][] = (int[][])ia.clone();

System.out.print((ia == ja) + " ");

System.out.println(ia[0] == ja[0] && ia[1] == ja[1]);

}

}

Который выводит:

false true

и демонстрирует, что массивы вида int[], которыми считаются ia[0] и ja[0] - это 1 и такой же массив.

Вывод

Итак, переменная являет из себя временное хранилище для этих в вашей программе. Кто обучался информатике в школе, наверняка, не забывает, что "переменные - это такие ящички в каких находится информация...". В тексте программы Вы применяете, какое количество угодно переменных. Отличительная выгода от них - это то, что Вы присваиваете необходимым этим краткий и легко запоминающийся идентификатор.

Ярлычок, так заявить. Согласитесь, если Вы присвоите переменной UserName значение "Иванов Пётр Автагенович", тогда в последующем использовать

8 знаков проще, чем 20 три!!! Переменные имеют все шансы содержать

почти что любую информацию.

Чтобы хорошо применять переменную, необходимо её вначале заявить, зарезервировать под неё память. Для этого применяются последующие основные слова: Dim, Private, Public, Static, Global. Предполагаю ничего не позабыл.

Переменные вполне возможно оглашать на уровне модуля и на уровне процедуры. Под уровнем модуля предполагается часть формы General и обычный модуль, а под уровнем процедуры имеется в виду Sub, Function и т.д.

применения Static. Обрисовывает переменные лишь на уровне процедуры.

Переменная, описанная на уровне процедуры, "живёт" лишь в пределах

данной процедуры в течение работы прибавления.

применения Dim. Обрисовывает переменные, как на уровне модуля, так и на уровне

процедуры. Переменная, описанная на уровне процедуры, живёт исключительно в пределах данной процедуры и прекращает работу по окончанию процедуры. Её мы больше всего и можем использовать как счётчик, т.к. он и необходим тогда нам всего в этой процедуре.

Переменная, описанная на уровне модуля, доступна для всех процедур данного модуля. Т.е. в случае если Вам необходима переменная, которую видят все функции и процедуры, то и заявите её со словом Dim на уровне модуля.

Также юзер может творить собственные личные типы этих! Надо это, например, в случае если у Вас есть группа деталей, связанных по смыслу. Создаётся он с помощью основного слова Type. Для начала образчик. Вы пишите программку для какого-нибудь торгового центра, где артикль, дата поступления и, к примеру, срок годности постигаемого продукта обязаны вводиться в комп и, соответственно, присваиваться переменным.