Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Java.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
3.45 Mб
Скачать

Тема 1.13 Автоупакока и автораспаковка.

Начиная с JDK 5 в Java существуют два новых средства: автоупаковка (autoboxing) и автораспаковка (autounboxing). Данная возможность позволяет не использовать методы типа типValue() для преобразования примитивного типа в объект. Так, автоупаковка происходит каждый раз, когда элементарный тип должен быть преобразован в примитивный тип, автораспаковка – наоборот. Автораспаковка/автораспаковка может быть осуществлена, когда аргумент передается в метод или значение из метода возвращается, или в выражениях.

Листинг 1.17

public class Main {

public static void main(String[] args) {

Integer objI;

int i = 100;

// пример ручной упаковки и распаковки

objI = Integer.valueOf(i);

System.out.println("1: " + objI.intValue());

// пример автоматической упаковки/распаковки

objI = 2000;

i = objI;

System.out.println("2: objI=" + objI + " i=" + i);

// автоматическая упаковка/распаковка в методы

double d;

d = getDouble(2.345);

System.out.println("3: d=" + d);

// автоматическая упаковка/распаковка в выражении

objI++;

i = objI / 2 + 10;

System.out.println("4: objI=" + objI + " i=" + i);

// упаковка/распаковка булевского типа

Boolean bool;

bool = true;

if (bool) {

System.out.println("true");

} else {

System.out.println("false");

}

// упаковка/ распаковка символьного типа

Character ch;

ch = 'd';

char c = ch;

System.out.println(c);

}

public static double getDouble(Double d) {

return d;

}

}

Тема 1.14 Операторы

Рисунок 1.36 – Операторы управления

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

Всякий язык программирования должен иметь средства записи алгоритмов. Они называются операторами (statements) языка. Операторы управления языка Java показаны на рис 1.36. Минимальный набор операторов должен содержать оператор для записи линейных вычислений, условный оператор для записи разветвлений и оператор цикла.

Обычно состав операторов языка программирования шире: для удобства записи алгоритмов в язык включаются несколько операто­ров цикла, оператор варианта, операторы перехода, операторы опи­сания объектов. В языке Java нет оператора goto.

Все операторы языка Java можно разделить на:

  • операторы описания переменных и других объектов;

  • операторы-выражения;

  • операторы присваивания;

  • условные операторы if;

  • операторы циклов while, do-while, for;

  • операторы варианта switch;

  • операторы перехода break, continue и return;

  • блок {};

  • пустые операторы – просто точка с запятой.

Всякий оператор завершается точкой с запятой. Можно поставить точку с запятой в конце любого выражения, и оно станет оператором. Но смысл это имеет только для операций присваивания, инкремента и декремента и вызовов методов. В остальных случаях это бесполезно, потому что вычисленное значение выражения потеряется. Точка с запятой в Java не разделяет операторы, а является частью оператора.

Линейное выполнение алгоритма обеспечивается последова­тельной записью операторов. Переход со строки на строку в исходном тексте не имеет никакого значения для компилятора, он осуществля­ется только для наглядности и читаемости текста.