1 Алфавит языка Java Программы на Java это набор пробелов, комментариев, ключевых слов, идентификаторов, литеральных констант, операторов и разделителей.

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



Advertisements
Похожие презентации
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Advertisements

Существует три разновидности комментариев: комментарии в одной строке, комментарии в нескольких строках, комментарии для документирования. Комментарии,
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Данные в программах и алгоритмах Программы и их алгоритмы пишутся для обработки данных. Чтобы реализовать алгоритм, программам необходимо работать с данными.
Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Основы языка Pasсal.
УКАЗАТЕЛИ. Переменная - это именованная область памяти с заданным типом. [=значение]; int a; //Переменная типа integer с именем a int b=2;// Переменная.
Разработка программного обеспечения для сигнальных процессоров TMS320C64xx в IDE Code Composer Studio Часть II. Язык программирования С. Основные понятия.
Алфавит и синтаксис языка программирования Visual Basic.
«Типы данных». Целочисленные типы данных Тип ДиапазонТребуемая память (байт) byte shortint integer word longint
Типы данных Инна Исаева. Переменные Переменная - это как ящик, в котором можно хранить данные. Каждая переменная имеет своё имя, она служит для хранения.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
©ρŧą Базовые конструкции языка.
Лекция 1 по дисциплине «Программные средства математических расчетов» тема: «Основы языка С++» гр. 8Е31 Мамонова Татьяна Егоровна
Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Переменная l. Определение Переменная - именованное место в памяти, в котором можно хранить некоторое значение.
ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ НАЧАЛА ПРОГРАММИРОВАНИЯ.
МАССИВЫ 4 Определение 4 Описание 4 Обращение к элементам массива 4 Связь массивов с указателями 4 Примеры программ.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Транксрипт:

1 Алфавит языка Java Программы на Java это набор пробелов, комментариев, ключевых слов, идентификаторов, литеральных констант, операторов и разделителей. Пробелы Java язык, который допускает произвольное форматирование текста программ. Между отдельным элементами (между которыми нет операторов или разделителей) необходим по крайней мере один пробел, символ табуляции или символ перевода строки. Комментарии Комментарии в одну стоку // … Комментарий в несколько строк /* … */ Комментарии для автоматической генерации документации /** … */ Утилита javadoc умеет различать внутри документирующих комментариев специальные переменные, имена которых начинаются с

2 Алфавит языка Java Зарезервированные ключевые слова Специальные идентификаторы, которые в языке Java используются для описания встроенных (простых) типов, модификаторов и средств управления выполнением программы. Они могут применяться только по назначению, их нельзя использовать в качестве идентификаторов для имен переменных, классов или методов (см. таблицу 1) Идентификаторы Идентификаторы используются для именования классов, методов и переменных. В качестве идентификатора может использоваться любая последовательность строчных и прописных букв, цифр и символов _ (подчеркивание) и $ (доллар). Идентификаторы не должны начинаться с цифры, чтобы транслятор не перепутал их с числовыми литеральными константами. Java язык, чувствительный к регистру букв. Это означает, что Value и VALUE различные идентификаторы.

3 Алфавит языка Java Литералы Явно заданные в тексте программы константы базовых типов (Целые числа, числа с плавающей точкой, логические значения, символы и строки). Целые:1, 256,… (десятичное представление); 0354, 080,… (восьмеричное представление); 0хА56, 0х976F, (шестнадцатеричное представление). Если необходимо хранить целое значение больше 2 млрд., то используется «длинный целый тип» - long (64-ти битовое слово) и литерал снабжается дополнительным символом 256L. Вещественные:1.25,.666, …(обычная запись); 5.1е+06, 3е-03 (экспоненциальная запись). Если вещественное значение двойной точности – тип double (64-ти битовое слово), то добавляется указатель 1.25D, иначе используется обычное вещественное – тип float (32-ти битовое слово) – указатель 1.25F (по умолчанию). Логические:true или false. true в Java не равно 1, a false не равно 0. В Java эти значения могут присваиваться только переменным типа boolean либо использоваться в выражениях с логическими операторами.

4 Алфавит языка Java Литералы Явно заданные в тексте программы константы базовых типов (Целые числа, числа с плавающей точкой, логические значения, символы и строки). Символьные: 'a', 'z', (для видимых символов таблицы ASCII); управляющие последовательности (таблица 2). Символы в Java - индексы в таблице символов UNICODE. Они представляют собой 16-битовые значения, которые можно преобразовать в целые числа и к которым можно применять операторы целочисленной арифметики, например, операторы сложения и вычитания. Строковые:fhg981&2_ - любая последовательность допустимых символов, заключенных в между двумя кавычками. Строчные литералы в Java должны начинаться и заканчиваться в одной и той же строке исходного кода.

5 Алфавит языка Java Разделители Символы, которые влияют на внешний вид и функциональность программного кода (таблица 3). СимволыНазваниеДля чего применяются ( )круглые скобкиВыделяют списки параметров в объявлении и вызове метода, также используются для задания приоритета операций в выражениях, выделения выражений в операторах управления выполнением программы, и в операторах приведения типов. { }фигурные скобкиСодержат значения автоматически инициализируемых массивов, также используются для ограничения блока кода в классах, методах и локальных областях видимости. [ ]квадратные скобкиИспользуются в объявлениях массивов и при доступе к отдельным элементам массива. ;точка с запятойРазделяет операторы.,запятаяРазделяет идентификаторы в объявлениях переменных, также используется для связи операторов в заголовке цикла for..точкаОтделяет имена пакетов от имен подпакетов и классов, также используется для отделения имени переменной или метода от имени класса.

6 Алфавит языка Java Переменные операнд это основной элемент хранения информации в Java-программе, характеризуется комбинацией идентификатора (имя), типа и области действия. Объявление переменной: тип идентификатор [ = значение] [, идентификатор [ = значение ]; Тип это либо один из встроенных типов, то есть, byte, short, int, long, char, float, double, boolean, либо имя класса или интерфейса. В таблице 4 приведено несколько примеров объявления переменных различных типов. Инициализация начального значения переменной в общем случае автоматически не происходит. Нулем инициализируются только переменные классов (таблица 5). Концепция границ Границы определяются расстановкой фигурных скобок { } и определяют видимость и время жизни имен (переменных). { int x = 12; /* доступно только x */ { int q = 96; /* доступны и x, и q */ } /* Доступно только x */ /* q за границами */ } операнд, определенная внутри границ, доступна только до конца этой границы. { int x = 12; { int x = 96; /* недопустимо */ } Компилятор объявит, что переменная x уже определена.

7 Алфавит языка Java Операторы (символы операций) Операции это нечто, выполняющее некоторое действие над одним или двумя аргументами и выдающее результат (таблица 6). Синтаксически символы операций чаще всего размещаются между идентификаторами и литералами. Присвоение значений переменным: Присвоение: переменная = значение Суффиксный инкремент: переменная++ (i++; i=i+1;) Суффиксный декремент: переменная-- (i--; i=i-1;) Префиксный инкремент: ++переменная (++i; i=i+1;) Префиксный декремент: -- переменная (--i; i=i-1;) Элементарные арифметические операторы (операнд – переменная или литерал): Сложение: операнд + операнд Вычитание: операнд - операнд Умножение: операнд * операнд Деление: операнд / операнд Деление по модулю: операнд % операнд Битовый сдвиг влево: операнд > операнд Битовый сдвиг влево с заполнением нулями: операнд

8 Алфавит языка Java Суффиксные формы операторов декремент и инкремент возвращают значение переменной перед увеличением (или уменьшением) ее значения. Таким образом, в результате выполнения фрагмента кода temp = 1; Sуstеm.оut.рrintln("Результат равен" + temp++ + ".");. будет выведена строка "Результат равен 1." Префиксные формы операторов декремент и инкремент возвращают значение переменной после увеличения (или уменьшения) ее значения. Таким образом, в результате выполнения фрагмента кода temp = 1; Sуstеm.оut.рrintln("Результат равен" + ++temp + "."); будет выведена строка "Результат равен 2." Операторы (символы операций) Операции это нечто, выполняющее некоторое действие над одним или двумя аргументами и выдающее результат (таблица 6). Синтаксически символы операций чаще всего размещаются между идентификаторами и литералами.

9 Алфавит языка Java Операторы (символы операций) Операции это нечто, выполняющее некоторое действие над одним или двумя аргументами и выдающее результат (таблица 6). Синтаксически символы операций чаще всего размещаются между идентификаторами и литералами. Комбинированные операторы: Сложение и присвоение: переменная += значение (i+=3; i=i+3;) Вычитание и присвоение: переменная -= значение Умножение и присвоение: переменная *= значение Деление и присвоение: переменная /= значение Модуль и присвоение: переменная %= значение Логическое И и присвоение: переменная &= значение Логическое ИЛИ и присвоение: переменная |= значение Исключающее ИЛИ и присвоение: переменная ^= значение Сдвиг влево и присвоение: переменная = значение Сдвиг влево с заполнением нулями и присвоение: переменная

10 Алфавит языка Java Операторы отношения ОператорРезультат ==равно !=не равно >больше = больше или равно

11 Алфавит языка Java Приоритеты операторов Высший ( )[ ]. МнемоникаТип оператораОператоры У насУнарные АварияАрифметические * / % + - СлучиласьСравнение > = B ? X : Y ПолуживойПрисваивание= (и комбинированное присваивание, как *=) Низший Тернарный оператор if-then-else Быстрый условный оператор, который можно использовать как элемент в выражениях: выражение1? выражение2: выражение3 Круглые скобки ( ) используются для явной установки приоритета. Квадратные скобки [ ] используются для индексирования переменной-массива. Оператор. (точка) используется для выделения элементов из ссылки на объект.

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

13 Где размещаются переменные в Java Регистры. Располагаются внутри процессора. Java-переменные в регистрах не размещаются для обеспечения переносимости программ. Стек. Он расположен в области обычной RAM (память произвольного доступа - random-access memory), но имеет прямую поддержку процессора через указатель стека. Компилятор Java, зная во время создания программы точный размер и продолжительность жизни данных простых типов, помещает их в стек. Для обеспечения гибкости манипулирования объектами в стек помещаются ссылки на объекты. Куча. Это пул памяти общего назначения (также в области RAM), где живут объекты Java. В отличии от стека компилятору нет необходимости знать, как много места необходимо выделить из кучи для хранилища или как долго это хранилище будет оставаться в куче. Статическое хранилище. Статическое здесь используется в смысле в фиксированном месте (хотя это тоже в RAM). Статическое хранилище содержит данные, которые доступны в течение всего времени выполнения программы. Вы можете использовать ключевое слово static, чтобы указать, что определенный элемент объекта - статический, но сам Java-объект никогда не помещается в статическое хранилище. Хранилище констант. Константные значения часто помещаются прямо в код программы, что является безопасным, так как они никогда не могут измениться. Иногда константы огораживают себя так, что они могут быть по выбору помещены в память только для чтения (ROM). Не RAM хранилище. Если данные живут полностью вне программы, они могут существовать, пока программа не работает, вне управления программы. Два основных примера - это потоковые объекты, в которых объекты переведены в поток байтов, обычно для посылки на другую машину, и объекты представления, в которых объекты помещаются на диск, так что они сохраняют свое состояние, даже когда программа завершена. Фокус этих типов хранилищ в переводе объектов во что-то, что может существовать на другом носителе, и даже могут быть воскрешены в обычный объект в RAM, когда необходимо.

14 Типы данных Java типРазрядностьДиапазон long int … short byte типРазрядност ь Диапазон double641.7е е+ 308 float323.4е е+ 038 типРазрядностьДиапазон char16160 … Размер памяти, выделяемой под размещение объектов, определяется динамическим образом на основе описаний (необходимых размеров) их элементов.

15 Массивы в Java Java-массив гарантированно инициализируется и нельзя получить доступ вне его пределов. Цена такой проверки диапазона - выделение дополнительной памяти к каждому массиву для проверки индексов во время выполнения. При создании массива объектов фактически создается массив ссылок на объекты, каждая ссылка инициализируется специальным значение null (пустая ссылка). В дальнейшем каждая ссылка (элемент массива) должна быть инициализирована соответствующим непустым значением, т.е. связана с реальным объектом. При создании массива с элементами простого типа создается ссылка на соответствующее количество простых переменных. Например: int days [ ]; объявляет переменную days, тип которой массив целых чисел типа int. Для того, чтобы зарезервировать память под массив, используется специальный оператор new. days = new int [12]; Таким образом массиву days выделяется память для хранения двенадцати целых чисел, которым присваивается значение 0 (НОЛЬ). Итак, теперь days это ссылка на двенадцать целых чисел (нулей).

16 Массивы в Java Явно определить значения элементов массива (инициализировать не по умолчанию) можно двумя способами: int days[]; days = new int[12]; days[0] = 31; days[1] = 28; days[2] = 31; days[3] = 30; days[4] = 31; days[5] = 30; days[6] = 31; days[7] = 31; days[8] = 30; days[9] = 31; days[10] = 30; days[11] = 31; int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; Результат работы этих двух фрагментов одинаков: создается массив, элементами которого является число дней в месяцах не високосного года. Размерность массива в Java начинается с нуля!

17 Массивы в Java Настоящих многомерных массивов в Java не существует, они определяются как массивы массивов. Внутренняя реализация двумерной матрицы массив массивов. double matrix [][] = new double [4][4]; - (ссылка на 16 чисел – нулей) Следующий фрагмент кода инициализирует такое же количество памяти, но память под вторую размерность отводится вручную. Это сделано для того, чтобы наглядно показать, что матрица на самом деле представляет собой вложенные массивы. 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 }; Если распечатать эту матрицу, получим: Следующий фрагмент приводит к инициализации матрицы диагональными элементами, равными 1: double m[][]; m = new double[4][4]; m[0][0] = 1; m[1][1] = 1;Результат: m[2][2] = 1; m[3][3] = 1;

18 Массивы в Java Java строго следит за тем, чтобы вы случайно не записали или не попытались получить значения, выйдя за границы массива. Если же вы попытаетесь использовать в качестве индексов значения, выходящие за границы массива отрицательные числа либо числа, которые больше или равны количеству элементов в массиве, то получите сообщение об ошибке времени выполнения. Текущее количество инициализированных элементов массива можно получить используя специальную конструкцию: имя.length Например, если int days[]; days = new int[12]; то days.length равно 12

19 Алфавит языка Java Задание на самостоятельную практику: Математики: Написать на Java программу, для поиска максимального элемента массива из целых чисел. Экономисты: Написать на Java программу, для поиска минимального элемента массива вещественных чисел.