Лекция 3. Лексика языка Java Курс по программированию на языке Java для магистров 1 года обучения. 10 семестр, 2011 год, ТУИТ, кафедра ПОИТ Ст.преп.И.В.Хан.

Презентация:



Advertisements
Похожие презентации
Операции Условная операция ? : Если истинно, то результатом будет, иначе. Например, int x = a < b ? a : b вычисляет минимум из a и b.
Advertisements

Существует три разновидности комментариев: комментарии в одной строке, комментарии в нескольких строках, комментарии для документирования. Комментарии,
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Алфавит и синтаксис языка программирования Visual Basic.
Константы Константы подразделяются, в зависимости от их типа, на 5 групп: целочисленные; перечисления; вещественные (с плавающей точкой); символьные; строковые.
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
Числовые выражения В языке Q-basic. Переменные. Переменная - это область данных в памяти, имеющая имя. Переменная - это величина, которая может меняться.
Чтобы писать программы в среде программирования необходимо изучить его знаковую систему.
Язык программирования Turbo Pascal. Программирование Программирование – это запись разработанного алгоритма на языке программирования. 4 Автор языка Паскаль.
Данные в программах и алгоритмах Программы и их алгоритмы пишутся для обработки данных. Чтобы реализовать алгоритм, программам необходимо работать с данными.
Основы языка Pasсal.
Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Оператор присваивания. Арифметические выражения. Типы данных. Продолжаем изучать основы Turbo Pascal.
Тип, имя и значение переменной. В объектно-ориентированных языках программирования переменные играют такую же важную роль, как и в процедурных языках.
ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Урок 3 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Обучающая программа по изучению языка программирования Бейсик Электронное пособие для учащихся.
Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Оператор ввода с клавиатуры Переменные величины. В большинстве случаев при решении задач в ходе работы программы, оператору описания необходимо менять.
Транксрипт:

Лекция 3. Лексика языка Java Курс по программированию на языке Java для магистров 1 года обучения. 10 семестр, 2011 год, ТУИТ, кафедра ПОИТ Ст.преп.И.В.Хан

Лексика языка Java. Лекция посвящена описанию лексики языка Java. Лексика описывает, из чего состоит текст программы, каким образом он записывается и на какие простейшие слова (лексемы) компилятор разбивает программу при анализе. Лексемы (или tokens в английском варианте) – это основные "кирпичики", из которых строится любая программа на языке Java. Эта тема раскрывает многие детали внутреннего устройства языка, и невозможно написать ни одной строчки кода, не затронув ее.

Темы лекции 3. Лексика языка. Кодировка Анализ программы Утверждения и выражения Java. Переменные и примитивные типы данных. Константы. Комментарии. Литералы. Арифметика. Сравнение. Логические операторы. Математика

Кодировка в программах Java. Для записи лексем используется код ASCII – American Standard Code for Information Interchange, Американский стандартный код обмена информацией 128 Для комментариев, идентификаторов, символьных и строковых литералов используется Unicode. От \u0000 до \uFFFF Какая версия Unicode используется в настоящее время можно узнать на сайте

Анализ программы пробелы (white spaces); комментарии (comments); основные лексемы (tokens).

Пробелы в Java ASCII-символ SP, space, пробел, \u0020, десятичный код 32; ASCII-символ HT, horizontal tab, символ горизонтальной табуляции, \u0009, десятичный код 9; ASCII-символ FF, form feed, символ перевода страницы (был введен для работы с принтером), \u000c, десятичный код 12; завершение строки.

Комментарии в Java Комментарии не влияют на результирующий бинарный код и используются только для ввода пояснений к программе. В Java комментарии бывают двух видов: Строчные - // Блочные - /* */ и комментарий разработчика /** */ для документирования, ставятся перед объявлением класса интерфейсов, полей, методов и конструкторов

Основные лексемы в Java идентификаторы (identifiers); ключевые слова (key words); литералы (literals); разделители (separators); операторы (operators).

Идентификаторы в Java Идентификаторы – это имена, которые даются различным элементам языка для упрощения доступа к ним. Имена имеют пакеты, классы, интерфейсы, поля, методы, аргументы и локальные переменные. Идентификаторы можно записывать символами Unicode, то есть на любом удобном языке. Длина имени не ограничена.

Идентификаторы в Java Идентификатор состоит из букв и цифр. В нотации Бэкуса-Науэра это правило может быть записано так: ::= { | }[…n]

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

Зарезервированные слова языка Java abstractbooleanbreakbytebyvalue casecastcatchcharclass constcontinuedefaultdodouble elseextendsfalsefinalfinally floatforfuturegenericgoto ifimplementsimportinnerinstanceof intinterfacelongnativenew nulloperatorouterpackageprivate protectedpublicrestreturnshort staticstrictfpsuperswitchsyncronized thisthrowthrowstransienttrue tryvarvoidvolatilewhile

Литералы (константы) в Java Литералы позволяют задать в программе значения для числовых, символьных и строковых выражений, а также null-литералов. Всего в Java определено 6 видов литералов: целочисленный (integer); дробный (floating-point); булевский (boolean); символьный (character); строковый (string); null-литерал (null-literal).

Целочисленные литералы в Java Целочисленные литералы позволяют задавать целочисленные значения в виде десятеричном – традиционная запись восьмеричном – запись начинается с нуля, запрещены 8 и 9 шестнадцатеричном – запись начинается с 0x или 0X, кроме цифр от 0 до 9 используются A, B, C, D, E, F

Целочисленные литералы в Java Для записи очень больших целочисленных чисел (тип long) следует в конце числа писать L или l, в противном случае компилятор выдаст сообщение об ошибке. Максимальные допустимые значения: L L 0x7fffffffffffffffL // наибольшие отрицательные значения: L L -0x L

Дробные литералы в Java Дробные литералы представляют собой числа с плавающей десятичной точкой. Правила записи таких чисел такие же, как и в большинстве современных языков программирования. Примеры: e10 3.1E-20

Дробные литералы в Java дробный литерал состоит из следующих составных частей: целая часть; десятичная точка (используется ASCII-символ точка); дробная часть; порядок (состоит из латинской ASCII-буквы E в произвольном регистре и целого числа с опциональным знаком + или -); окончание-указатель типа.

Дробные литералы в Java Целая и дробная части записываются десятичными цифрами, а указатель типа (аналог указателя L или l для целочисленных литералов типа long) имеет два возможных значения – латинская ASCII-буква D (для типа double ) или F (для типа float ) в произвольном регистре. Если указатель типа опущен, считается что литерал имеет тип double.

Дробные литералы в Java В спецификация IEEE 754 (полное название – IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard (IEEE, New York)) – описаны не только конечные дробные величины, но и еще несколько особых значений, а именно: положительная и отрицательная бесконечности (positive/negative infinity); значение "не число", Not-a-Number, сокращенно NaN; положительный и отрицательный нули.

Предельные значения Максимальное положительное конечное значение дробного литерала: для float: e+38f для double: e+308 Минимальное положительное ненулевое значение: для float: e-45f для double: e-324

Булевские литералы в Java Логические литералы имеют два возможных значения – true и false. Эти два зарезервированных слова не являются ключевыми, но также не могут использоваться в качестве идентификатора.

Символьные литералы в Java Символьные литералы описывают один символ из набора Unicode, заключенный в одиночные кавычки, или апострофы (ASCII-символ single quote, \u0027). Например: 'a' // латинская буква а ' ' // пробел 'K' // греческая буква каппа Допускается также запись: '\u0041' // латинская буква A '\u0410' // русская буква А '\u0391' // греческая буква A

Символьные литералы в Java Символьный литерал должен содержать строго один символ, или специальную последовательность, начинающуюся с \. Для записи специальных символов (неотображаемых и служебных, таких как ", ', \) используются следующие обозначения: \b \u0008 backspace BS – забой \t \u0009 horizontal tab HT – табуляция \n \u000a linefeed LF – конец строки \f \u000c form feed FF – конец страницы \r \u000d carriage return CR – возврат каретки \" \u0022 double quote " – двойная кавычка \' \u0027 single quote ' – одинарная кавычка \\ \u005c backslash \ – обратная косая черта \шестнадцатеричный код от \u0000 до \u00ff символа в шестнадцатеричном формате.

Строковые литералы в Java Строковые литералы состоят из набора символов и записываются в двойных кавычках. Длина может быть нулевой или сколь угодно большой. Любой символ может быть представлен специальной последовательностью, начинающейся с \. "" // литерал нулевой длины "\"" //литерал, состоящий из одного символа " "Простой текст" //литерал длины 13

null-литерал в Java Null-литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта ссылка никуда не ссылается, объект отсутствует. Разумеется, его можно применять к ссылкам любого объектного типа данных. Типы данных рассматриваются далее в лекции.

Разделители в Java Разделители – это специальные символы, которые используются в служебных целях языка. Назначение каждого из них будет рассмотрено по ходу изложения курса. Вот их полный список: ( ) [ ] { } ;.,

Операторы в языке Java Операторы используются в различных операциях – арифметических, логических, битовых, операциях сравнения и присваивания. Следующие 37 лексем (все состоят только из ASCII-символов) являются операторами языка Java: = > = != && || * / & | ^ % > >>>+= -= *= /= &= |= ^= %= >= >>>=

Работа с операторами Операторы присваивания и сравнения Арифметические операции Логические операции

Присвоение и сравнение оператор присваивания = и оператор сравнения == различаются. x = 1; // присваиваем переменной x значение 1 x == 1 // сравниваем значение переменной x с единицей Оператор сравнения всегда возвращает булевское значение true или false. Оператор присваивания возвращает значение правого операнда.

Арифметика Наряду с четырьмя обычными арифметическими операциями +, -, *, /, существует оператор получения остатка от деления %, который может быть применен как к целочисленным аргументам, так и к дробным. Унарные операторы инкрементации ++ и декрементации --, как обычно, можно использовать как справа, так и слева. Битовые операции

Логические операторы Логические операторы "и" и "или" (& и |) можно использовать в двух вариантах. Первый вариант операторов (&, |) всегда вычисляет оба операнда, Второй – ( &&, || ) не будет продолжать вычисления, если значение выражения уже очевидно.

Математика – пакет java.Math Math.pow – возведение в степень Math.sqrt – квадратный корень Math.tan – тангенс Math.sin – синус Math.cos – косинус Math.atan – арктангенс Math.exp – экспонента Math.log – логарифм Math.PI – число пи Math.E – число е

Типы данных Целочисленные byte short int long char (также является целочисленным типом) Дробные float double Булевские

Рекомендуемые источники Брюс Эккель, Философия Java, 4-е издание, Санкт-Петербург, 2009 Анил Хамраджани Гибкая разработка приложений на Java Spring, Hibernate и Eclipse, из-во Вильямс, Москва 2008 Sams Teach Yourself Java 6 in 21 Days, Rogers Cadenhead, Laura Lemay. USA, Sams Publishing, intuit.ru