Языки программирования
<<  Java 2 Micro Edition Объектно – ориентированное программирование на Delphi - 2  >>
Java 2 Micro Edition
Java 2 Micro Edition
Отличия Java от C++
Отличия Java от C++
Отличия Java от C++
Отличия Java от C++
Глобальные переменные
Глобальные переменные
Goto
Goto
Указатели
Указатели
Распределение памяти
Распределение памяти
Хрупкие типы данных
Хрупкие типы данных
Ненадежное приведение типов
Ненадежное приведение типов
Раздельные файлы заголовков
Раздельные файлы заголовков
Ненадежные структуры
Ненадежные структуры
Препроцессорная обработка
Препроцессорная обработка
Лексические основы
Лексические основы
Лексические основы
Лексические основы
Пробелы
Пробелы
Комментарии
Комментарии
Зарезервированные ключевые слова
Зарезервированные ключевые слова
Идентификаторы
Идентификаторы
Литералы
Литералы
Целые литералы
Целые литералы
Литералы с плавающей точкой
Литералы с плавающей точкой
Логические литералы
Логические литералы
Символьные литералы
Символьные литералы
Управляющие последовательности
Управляющие последовательности
Строчные литералы
Строчные литералы
Разделители
Разделители
Разделители
Разделители
Простые типы
Простые типы
Простые типы
Простые типы
Целые числа
Целые числа
Целые числа
Целые числа
Числа с плавающей точкой
Числа с плавающей точкой
Символы
Символы
Тип boolean
Тип boolean
Приведение типа
Приведение типа
Автоматическое преобразование типов в выражениях
Автоматическое преобразование типов в выражениях
Автоматическое преобразование типов в выражениях
Автоматическое преобразование типов в выражениях
Переменные
Переменные
Переменные
Переменные
Объявление переменной
Объявление переменной
Массивы
Массивы
Массивы
Массивы
Массивы
Массивы
Многомерные массивы
Многомерные массивы
Многомерные массивы
Многомерные массивы
Многомерные массивы
Многомерные массивы
Операторы
Операторы
Операторы
Операторы
Арифметические операторы
Арифметические операторы
Целочисленные битовые операторы
Целочисленные битовые операторы
Операторы отношения
Операторы отношения
Булевы логические операторы
Булевы логические операторы
Приоритеты операторов
Приоритеты операторов
Условные операторы
Условные операторы
if-else
if-else
switch
switch
switch
switch
Циклы
Циклы
Циклы
Циклы
while
while
do-while
do-while
for
for
for
for
Передача управления
Передача управления
break
break
break
break
continue
continue
return
return
Исключения
Исключения
Оператор запятая
Оператор запятая

Презентация на тему: «Java 2 Micro Edition». Автор: Сергей Жерздев. Файл: «Java 2 Micro Edition.ppt». Размер zip-архива: 58 КБ.

Java 2 Micro Edition

содержание презентации «Java 2 Micro Edition.ppt»
СлайдТекст
1 Java 2 Micro Edition

Java 2 Micro Edition

Язык Java

Лаборатория информационных технологий (ИТЛаб)

Проект ТЭЛМА

Жерздев С.В.

При поддержке фирмы Intel?

1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

2 Отличия Java от C++

Отличия Java от C++

2 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

3 Отличия Java от C++

Отличия Java от C++

Большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный с С и C++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++, но исключены недостатки последнего.

3 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

4 Глобальные переменные

Глобальные переменные

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

4 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

5 Goto

Goto

До того, как в C++ появился механизм работы с исключениями, goto активно использовался для выхода из циклов в исключительных ситуациях. В Java оператора goto нет. Зато в Java есть операторы continue и break с меткой, восполняющие отсутствие goto в тех единственных случаях, когда использование последнего было бы оправдано. А мощный хорошо определенный встроенный в Java механизм исключений делает ненужным использование goto во всех остальных ситуациях.

5 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

6 Указатели

Указатели

Указатели или адреса в памяти — наиболее мощная и наиболее опасная черта C++. При-чиной большинства ошибок в сегодняшнем коде является именно неправильная работа с указателями. Хотя в Java дескрипторы объектов и реализованы в виде указателей, в ней отсутствуют возможности работать непосредственно с указателями. Вы не можете преобразовать целое число в указатель, а также обратиться к произвольному адресу памяти.

6 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

7 Распределение памяти

Распределение памяти

Распределение памяти в С, а значит и в C++, опирается на вызовы библиотечных функци. Если вы попытаетесь освободить блок памяти, который вы уже освободили ранее — готовьтесь к худшему. Обратная проблема, когда вы просто забываете освободить ненужный больше блок памяти. Поскольку в Java каждая сложная структура данных — это объект, память под такие структуры резервируется в куче (heap) с помощью оператора new. Вам не придется вызывать delete, поскольку Java — система с так называемым сборщиком мусора.

7 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

8 Хрупкие типы данных

Хрупкие типы данных

C++ получил в наследство от С все обычные типы данных последнего. К несчастью, реальный диапазон и точность этих типов колеблется в зависимости от конкретной реализации транслятора. Различные трансляторы C++ могут резервировать под целый тип 16, 32 или 64 бита в зависимости от разрядности машинного слова. В Java эта проблема решена, поскольку в ней для всех базовых числовых типов используются соглашения, не зависящие от конкретной реализации среды.

8 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

9 Ненадежное приведение типов

Ненадежное приведение типов

Приведение типов в С и C++ — мощный механизм, который позволяет произвольным образом изменять тип указателей. Поскольку объекты в C++ — это просто указатели на адреса памяти, в этом языке во время исполнения программы нет способа обнаруживать случаи приведения к несовместимым типам. Дескрипторы объектов в Java включают в себя информацию о классе объекта, так что Java может выполнять проверку совместимости типов на фазе исполнения кода, возбуждая исключение в случае ошибки.

9 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

10 Раздельные файлы заголовков

Раздельные файлы заголовков

В С++ используются файлы заголовков, в которые можно было поместить прототипы классов и распространять их вместе с оттранслированными двоичными файлами, содержащими реализации этих классов. Поддержка этих файлов заголовков становилась непосильной задачей по мере роста размеров библиотек классов. В Java отсутствуют файлы заголовков. Тип и видимость членов класса при трансляции встраиваются внутрь файла *.class (файла с байт-кодом). Интерпретатор Java пользуется этой информацией в процессе выполнения кода.

10 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

11 Ненадежные структуры

Ненадежные структуры

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

11 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

12 Препроцессорная обработка

Препроцессорная обработка

Работа препроцессора C++ которого заключается в поиске специальных команд, начи-нающихся с символа #. Эти команды позволяют выполнять простую условную трансляцию и расширение макроопределений. Java управляется со своими задачами без помощи препроцессора, вместо принятого в С стиля определения констант с помощью директивы #define в ней используется ключевое слово final.

12 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

13 Лексические основы

Лексические основы

13 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

14 Лексические основы

Лексические основы

Исходный файл на языке Java — это текстовый файл, содержащий в себе одно или не-сколько описаний классов. Транслятор Java предполагает, что исходный текст программ хранится в файлах с расширениями *.java. Язык Java требует, чтобы весь программный код был заключен внутри поименованных классов. Получаемый в процессе трансляции независимый от процессора байт-код для каждого класса записывается в отдельном выходном файле, с именем совпадающем с именем класса, и расширением *.class.

14 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

15 Пробелы

Пробелы

Java допускает произвольное форматирование текста программ. Для того, чтобы программа работала нормально, нет никакой необходимости выравнивать ее текст специальным образом, при условии, что между отдельными лексемами (между которыми нет операторов или разделителей) имеется по крайней мере по одному пробелу, символу табуляции или символу перевода строки.

15 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

16 Комментарии

Комментарии

Комментарии, которые начинаются с символов // заканчиваются в конце строки. Комментарии, которые находятся между символами /* и */. Документирующий комментарий перед объявлением открытого класса, метода или переменной находится между символами /** и */. Программа javadoc, которая используется для автоматической генерации документации, умеет различать в таких комментариях некоторые специальные переменные, имена которых начинаются с символа @.

16 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

17 Зарезервированные ключевые слова

Зарезервированные ключевые слова

Зарезервированные ключевые слова — это специальные идентификаторы, используются для того, чтобы идентифицировать встроенные типы, модификаторы и средства управления выполнением программы. Эти ключевые слова совместно с синтаксисом операторов и разделителей входят в описание языка Java. Они могут применяться только по назначению, их нельзя использовать в качестве идентификаторов для имен переменных, классов или методов. Кроме этого, в Java есть зарезервированные имена методов.

17 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

18 Идентификаторы

Идентификаторы

Идентификаторы используются для именования классов, методов и переменных. В качестве идентификатора может использоваться любая последовательность строчных и прописных букв, цифр и символов _ (подчеркивание) и $ (доллар). Идентификаторы не должны начинаться с цифры, чтобы транслятор не перепутал их с числовыми литеральными константами. Java — язык, чувствительный к регистру букв.

18 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

19 Литералы

Литералы

Константы в Java задаются их литеральным представлением.

19 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

20 Целые литералы

Целые литералы

Любое целочисленное значение, например, 3, 42 — это целый литерал. Кроме десятичных, в качестве целых литералов могут использоваться также числа с основанием 8 и 16. Java распознает восьмеричные числа по стоящему впереди нулю. Шестнадцатеричная константа различается по стоящим впереди символам нуль-х (0х или 0Х). Целые литералы являются значениями типа int (32-битовое слово). К числам можно приписать справа строчную или прописную букву L, указав таким образом, что данное число относится к типу long (64-битовое слово).

20 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

21 Литералы с плавающей точкой

Литералы с плавающей точкой

В обычном формате число с плавающей точкой состоит из некоторого количества десятичных цифр, стоящей после них десятичной точки, и десятичных цифр дробной части. В экспоненциальном формате после перечисленных элементов указывается порядок (положительное или отрицательное десятичное число), следующий за символом Е или e. Числа с плавающей точкой по умолчанию рассматриваются, как значения типа double. Для констант типа float, справа к литералу надо приписать символ F или f.

21 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

22 Логические литералы

Логические литералы

У логической переменной может быть лишь два значения — true (истина) и false (ложь). Логические значения true и false не преобразуются ни в какое числовое представление. В Java эти значения могут присваиваться только переменным типа boolean либо использоваться в выражениях с логическими операторами.

22 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

23 Символьные литералы

Символьные литералы

Символы в Java — это индексы в таблице символов UNICODE. Они представляют собой 16-битовые значения, которые можно преобразовать в целые числа и к которым можно при-менять операторы целочисленной арифметики, например, операторы сложения и вычитания. Символьные литералы помещаются внутри пары апострофов (' '). Все видимые символы таблицы ASCII можно прямо вставлять внутрь пары апострофов: - 'a', 'z', '@'. Для символов, которые невозможно ввести непосредственно, используются управляющие последовательности.

23 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

24 Управляющие последовательности

Управляющие последовательности

\ddd Восьмеричный символ \uxxxx Шестнадцатиричный символ UNICODE \' Апостроф \" Кавычка \\ Обратная косая черта \r Возврат каретки (carriage return) \n Перевод строки (line feed, new line) \f Перевод страницы (form feed) \t Горизонтальная табуляция (tab) \b Возврат на шаг (backspace)

24 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

25 Строчные литералы

Строчные литералы

Строчные литералы в Java — это произвольный текст, заключенный в пару двойных ка-вычек (""). Все управляющие последовательности, которые определены для символьных литералов, работают точно так же и в строках. Строчные литералы в Java должны начинаться и заканчиваться в одной и той же строке исходного кода. В этом языке, в отличие от многих других, нет управляющей последовательности для продолжения строкового литерала на новой строке.

25 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

26 Разделители

Разделители

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

26 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

27 Разделители

Разделители

[ ] Используются в объявлениях массивов и при доступе к отдельным элементам массива. ; Разделяет операторы. , Разделяет идентификаторы в объявлениях переменных, также используется для связи операторов в заголовке цикла for. . Отделяет имена пакетов от имен подпакетов и классов, также используется для отделения имени переменной или метода от имени переменной.

27 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

28 Простые типы

Простые типы

28 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

29 Простые типы

Простые типы

Простые типы в Java не являются объектно-ориентированными, они аналогичны простым типам большинства традиционных языков программирования. Их можно разделить на четыре группы: Целые (byte, short, int и long). Эти типы предназначены для целых чисел со знаком. Типы с плавающей точкой (float и double). Они служат для представления чисел, имеющих дробную часть. Символьный тип (char). Предназначен для представления символов, например, букв или цифр. Логический тип (boolean). Используется для представления логических величин.

29 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

30 Целые числа

Целые числа

В языке Java понятие беззнаковых чисел отсутствует. Все числовые типы этого языка — знаковые. В языке имеется 4 целых типа, занимающих 1, 2, 4 и 8 байтов в памяти. Для каждого типа — byte, short, int и long, есть свои естественные области применения. Всякий раз, когда в одном выражении фигурируют переменные типов byte, short, int и целые литералы, тип всего выражения перед завершением вычислений приводится к int.

30 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

31 Целые числа

Целые числа

byte — знаковый 8-битовый. Диапазон — от -128 до 127. Он лучше всего подходит для хранения произвольного потока байтов, загружаемого из сети или из файла. short — знаковый 16-битовый. Диапазон — от -32768 до 32767. При хранении это тип, в котором старший байт стоит первым. int — знаковый 32-битовый. Диапазон — от -2147483648 до 2147483647. Этот тип прекрасно подходит для использования при обработке массивов и для счетчиков. long — знаковый 64-битовый.

31 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

32 Числа с плавающей точкой

Числа с плавающей точкой

В Java реализован стандартный (IEEE-754) набор типов для чисел с плавающей точкой — float и double и операторов для работы с ними. В переменных с обычной, или одинарной точностью, (тип float), для хранения вещественного значения используется 32 бита. Диапазон значений 3.4е-038.. 3.4е+ 038. В случае двойной точности (тип double), для хранения значений используется 64 бита. Диапазон значений 1.7е-308.. 1.7е+ 308. Все трансцендентные математические функции возвращают результат типа double.

32 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

33 Символы

Символы

Поскольку в Java для представления символов в строках используется кодировка Unicode, разрядность типа char в этом языке — 16 бит. В нем можно хранить десятки тысяч символов интернационального набора символов Unicode. Диапазон типа char — 0..65536. Unicode — это объединение десятков кодировок символов, он включает в себя латинский, греческий, арабский алфавиты, кириллицу и многие другие наборы символов. Хотя величины типа char и не используются, как целые числа, вы можете оперировать с ними так, как если бы они были целыми.

33 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

34 Тип boolean

Тип boolean

В языке Java имеется простой тип boolean, используемый для хранения логических зна-чений. Переменные этого типа могут принимать всего два значения — true (истина) и false (ложь). Значения типа boolean возвращаются в качестве результата всеми операторами срав-нения. Кроме того, boolean — это тип, требуемый всеми условными операторами управления — такими, как if, while, do.

34 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

35 Приведение типа

Приведение типа

В Java автоматическое преобразование возможно только в том случае, когда точности представления чисел переменной-приемника достаточно для хранения исходного значения. В противном случае необходимо использовать оператор приведения типа. Для приведения величины к определенному типу перед ней нужно указать этот тип, заключенный в круглые скобки. int a = 100; byte b = (byte) a;

35 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

36 Автоматическое преобразование типов в выражениях

Автоматическое преобразование типов в выражениях

Если в выражении используются переменные типов byte, short и int, то тип всего выражения автоматически повышается до int. Если же в выражении тип хотя бы одной переменной — long, то и тип всего выражения тоже повышается до long. Если выражение содержит операнды типа float, то и тип всего выражения автоматически повышается до float. Если же хотя бы один из операндов имеет тип double, то тип всего вы-ражения повышается до double.

36 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

37 Автоматическое преобразование типов в выражениях

Автоматическое преобразование типов в выражениях

Точность, требуемая для хранения промежуточных результатов, может быть выше, чем требуется для представления окончательного результата. Например, показанный ниже код, приводит к сообщению об ошибке на фазе трансляции (из-за автоматического преобразования типа результата в int). byte b = 50; b = b* 2; ^ Incompatible type for =. Explicit cast needed to convert int to byte.

37 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

38 Переменные

Переменные

38 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

39 Переменные

Переменные

Переменная — это основной элемент хранения информации в Java-программе. Переменная характеризуется комбинацией идентификатора, типа и области действия. В зависимости от того, где вы объявили переменную, она может быть локальной, например, для кода внутри цикла for, либо это может быть переменная экземпляра класса, доступная всем методам данного класса. Локальные области действия объявляются с помощью фигурных скобок.

39 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

40 Объявление переменной

Объявление переменной

Основная форма объявления переменной такова: тип идентификатор [ = значение] [, идентификатор [ = значение...]; Тип — это либо один из встроенных типов, либо имя класса или интерфейса. Переменные, для которых начальные значения не указаны, автоматически инициализируются нулем. int a, b, с; int d = 3, e, f = 5;

40 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

41 Массивы

Массивы

Для объявления типа массива используются квадратные скобки. В приведенной ниже строке объявляется переменная month_days, тип которой — “массив целых чисел типа int”. int month_days []; Для того, чтобы зарезервировать память под массив, используется специальный оператор new. В приведенной ниже строке кода с помощью оператора new массиву month_days выде-ляется память для хранения двенадцати целых чисел. month_days = new int [12];

41 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

42 Массивы

Массивы

Имеется возможность автоматически инициализировать массивы. Инициализатор массива представляет собой список разделенных запятыми выражений, заключенный в фигурные скобки. Запятые отделяют друг от друга значения элементов массива. При таком способе создания массив будет содержать ровно столько элементов, сколько требуется для хранения значений, указанных в списке инициализации. int month_days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

42 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

43 Массивы

Массивы

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

43 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

44 Многомерные массивы

Многомерные массивы

Настоящих многомерных массивов в Java не существует. Зато имеются массивы массивов, которые ведут себя подобно многомерным массивам, за исключением нескольких незначительных отличий. Приведенный ниже код создает матрицу из шестнадцати элементов типа double, каждый из которых инициализируется нулем. Внутренняя реализация этой матрицы — массив массивов double. double matrix [][] = new double [4][4];

44 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

45 Многомерные массивы

Многомерные массивы

Следующий фрагмент кода инициализирует такое же количество памяти, но память под вторую размерность отводится вручную. double matrix [][] = new double [4][]; matrix [0] = new double[4]; matrix[1] = new double[4]; matrix[2] = new double[4]; matrix[3] = { 0, 1, 2, 3 };

45 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

46 Многомерные массивы

Многомерные массивы

Для задания начальных значений массивов существует специальная форма инициализатора, пригодная и в многомерном случае. Обратите внимание на тот факт, что внутри инициализатора массива можно использовать не только литералы, но и выражения. double m[][] = { { 0*0, 1*0, 2*0, 3*0 }, { 0*1, 1*1, 2*1, 3*1 }, { 0*2. 1*2, 2*2, 3*2 }, { 0*3, 1*3. 2*3, 3*3 } };

46 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

47 Операторы

Операторы

47 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

48 Операторы

Операторы

Операторы в языке Java — это специальные символы, которые сообщают транслятору о том, что вы хотите выполнить операцию с некоторыми операндами. По количеству операндов операторы делятся на: унарные (префиксные и постфиксные); бинарными (инфиксные); тернарный. В Java имеется 44 встроенных оператора. Их можно разбить на 4 класса - арифметические, битовые, операторы сравнения и логические.

48 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

49 Арифметические операторы

Арифметические операторы

Арифметические операторы используются для вычислений так же как в алгебре. Допустимые операнды должны иметь числовые типы. + сложение += сложение с присваиванием - вычитание (унарный минус) -= с присваиванием * умножение *= умножение с присваиванием / деление /= деление с присваиванием % деление по модулю %= с присваиванием ++ инкремент -- декремент Операторы инкремента и декремента имеют как префиксную, так и в постфиксную форму.

49 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

50 Целочисленные битовые операторы

Целочисленные битовые операторы

Для целых числовых типов данных, определен набор операторов, с помощью которых можно проверять и модифицировать состояние отдельных битов. ~ побитовое унарное отрицание (NOT) & побитовое И (AND) &= побитовое AND с присваиванием | побитовое ИЛИ (OR) |= побитовое OR с присваиванием ^ побитовое исключающее ИЛИ (XOR) ^= с присваиванием >> сдвиг вправо >> = сдвиг вправо с присваиванием >>> сдвиг вправо с заполнением 0 >>>= с присваиванием << сдвиг влево <<= сдвиг влево с присваиванием

50 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

51 Операторы отношения

Операторы отношения

Для того, чтобы можно было сравнивать два значения, в Java имеется набор операторов, описывающих отношение и равенство. == равно != не равно > больше < меньше >= больше или равно <= меньше или равно

51 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

52 Булевы логические операторы

Булевы логические операторы

Булевы логические операторы оперируют только с операндами типа boolean. Все бинарные логические операторы воспринимают в качестве операндов два значения типа boolean и возвращают результат того же типа. & логическое И (AND) &= AND с присваиванием | логическое ИЛИ (OR) |= OR с присваиванием ^ логическое XOR ^= XOR с присваиванием || и && операторы OR и AND быстрой оценки == равно != не равно ! логическое отрицание (NOT) ?: тернарный оператор if-then-else

52 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

53 Приоритеты операторов

Приоритеты операторов

В Java действует определенный порядок, или приоритет, операций. Круглые скобки () используются для явной установки приоритета. Квадратные скобки [] используются для индексирования переменной-массива. Оператор . (точка) использует-ся для выделения элементов из ссылки на объект.

53 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

54 Условные операторы

Условные операторы

54 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

55 if-else

if-else

В обобщенной форме этот оператор записывается следующим образом: if (логическое выражение) оператор1; [ else оператор2;] Раздел else необязателен. На месте любого из операторов может стоять составной оператор, заключенный в фигурные скобки. Логическое выражение — это любое выражение, возвращающее значение типа boolean.

55 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

56 switch

switch

Оператор switch обеспечивает способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма этого оператора такова: switch ( выражение ) { case значение1: break; case значениеN: break; default: }

56 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

57 switch

switch

Результатом вычисления выражения может быть значение любого простого типа, при этом каждое из значений, указанных в операторах case, должно быть совместимо по типу с выражением в операторе switch. Все эти значения должны быть уникальными литералами. Если значению выражения не соответствует ни один из операторов case, управление передается коду, распо-ложенному после ключевого слова default. Оператор default необязателен. Внутри оператора switch break без метки при-водит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий.

57 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

58 Циклы

Циклы

58 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

59 Циклы

Циклы

Любой цикл можно разделить на 4 части инициализацию, тело, итерацию, условие завершения. В Java есть три циклические конструкции: while (с пред-условием), do-while (с пост-условием) и for (с параметром).

59 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

60 while

while

Этот цикл многократно выполняется до тех пор, пока значение логического выражения равно true. Ниже приведена общая форма оператора while: [ инициализация; ] while ( условие ) { тело; [ итерация; ] }

60 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

61 do-while

do-while

Иногда возникает потребность выполнить тело цикла по крайней мере один раз. Для таких случаев используется циклическая конструкция do-while. Ее общая форма записи такова: [ инициализация; ] do { тело; [ итерация; ] } while ( условие );

61 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

62 for

for

В этом операторе предусмотрены места для всех четырех частей цикла. Ниже приведена общая форма оператора записи for. for ( инициализация; условие; итерация ) тело; Если начальные условия таковы, что при входе в цикл условие ложно, то операторы тела и итерации не выполняются ни одного раза.

62 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

63 for

for

В канонической форме цикла for происходит увеличение значения счетчика. for (int i = 1; i <= 10; i++) System.out.println("i = " + i); Обратите внимание — переменные можно объявлять внутри раздела инициализации оператора for. Переменная, объявленная внутри опера-тора for, действует в пределах этого оператора.

63 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

64 Передача управления

Передача управления

64 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

65 break

break

Для того, чтобы в некоторых случаях заменять goto, в Java предусмотрен оператор break. Этот оператор сообщает исполняющей среде, что следует прекратить выполнение именованного блока и передать управление оператору, следующему за указанным блоком. Для именования блоков в языке Java используются метки. Оператор break при работе с циклами и в операторах switch может использоваться без метки. В таком случае подразумевается выход из текущего блока.

65 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

66 break

break

В следующей программе два вложенных блока, и у одного своя уникальная метка. Оператор break, стоящий во внутреннем блоке, вызывает переход на оператор, следующий за блоком b. boolean t = true; b:{ { System.out.println("Выполнено"); if (t) break b; System.out.println("He выполнено"); } System.out.println("He выполнено"); } System.out.println("Выполнено");

66 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

67 continue

continue

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

67 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

68 return

return

В Java для реализации процедурного интерфейса к объектам классов используется разновидность подпрограмм, называемых методами. В любом месте программного кода метода можно поставить оператор return, который приведет к немедленному завершению работы и передаче управления коду, вызвавшему этот метод. Кроме передачи управления, с помощью оператора return можно возвратить некоторое значение. return значение ;

68 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

69 Исключения

Исключения

Последний способ вызвать передачу управления при выполнении кода — использование встроенного в Java механизма обработки исключительных ситуаций. Для этой цели в языке предусмотрены операторы try, catch, throw и finally.

69 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

70 Оператор запятая

Оператор запятая

Иногда возникают ситуации, когда разделы инициализации или итерации цикла for требуют нескольких операторов. Поскольку составной оператор в фигурных скобках в заголовок цикла for вставлять нельзя, Java предоставляет альтернативный путь — применение запятой (,) для разделения нескольких операторов. int a, b; for (a = 1, b = 4; a < b; a++, b--) { System.out.println("a = " + a); System.out.println("b = " + b); }

70 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В.

«Java 2 Micro Edition»
http://900igr.net/prezentacija/informatika/java-2-micro-edition-89325.html
cсылка на страницу

Языки программирования

23 презентации о языках программирования
Урок

Информатика

130 тем
Слайды