Структура java-файла (классы без внутренних классов и блоков-инициализаторов) [ package packageName; ] [ import packageOrClassNameToImport; … ] [ accessSpecifier.

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



Advertisements
Похожие презентации
©ρŧą Базовые конструкции языка.
Advertisements

©Павловская Т.А. Язык С++ Курс «С++. Программирование на языке высокого уровня» Павловская Т.А.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Введение в C++ Урок 1-2.
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Основы языка Pasсal.
Операции Условная операция ? : Если истинно, то результатом будет, иначе. Например, int x = a < b ? a : b вычисляет минимум из a и b.
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Тип, имя и значение переменной.. Переменные. В объектно-ориентированных языках программирования, и в частности в языке Visual Basic, переменные играют.
Переменная - это величина, которая имеет имя, тип и значение. Значение переменной может меняться во время выполнения программы. В компьютерах каждая переменная.
Лекция 2 Введение в язык Си.
Язык программирования Си Приведение типов, операции Потоковый ввод-вывод Югов Иван Олегович МОУ Гимназия 10, г. Тверь.
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
Лекция 30. Преобразования типов в C++ Красс Александр СПбГУ ИТМО, 2009.
Переменная l. Определение Переменная - именованное место в памяти, в котором можно хранить некоторое значение.
Данные в программах и алгоритмах Программы и их алгоритмы пишутся для обработки данных. Чтобы реализовать алгоритм, программам необходимо работать с данными.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Лекция 1 по дисциплине «Программные средства математических расчетов» тема: «Основы языка С++» гр. 8Е31 Мамонова Татьяна Егоровна
Введение в язык программирования С++. Элементы языка общие с С. Полиморфизм. Инкапсуляция.
Типы данных Инна Исаева. Переменные Переменная - это как ящик, в котором можно хранить данные. Каждая переменная имеет своё имя, она служит для хранения.
Транксрипт:

Структура java-файла (классы без внутренних классов и блоков-инициализаторов) [ package packageName; ] [ import packageOrClassNameToImport; … ] [ accessSpecifier ] class ClassName[ typeParameters ] // класс [ extendsOrImplements ] { [ accessSpecifier ] dataType variableName [ = initialValue ] [, …];// поле... [ accessSpecifier ] [ typeParameters ] ClassName ( [ argumentsList ] ) { // конструктор operatorsList } … [ accessSpecifier ] [ typeParameters ] retValueDataType methodName ( [ argumentsList ] ) [ throwsList ] {//метод operatorsList } … } […]//еще классы и/или интерфейсы

Отличия Java от С/С++ Лексика языка Java Тексты программ рассматриваются компилятором как последовательность UNICODE-символов в формате UTF-8 (форматы ASCII и Latin-1 являются допустимыми подмножествами UTF-8). Где угодно можно записать Unicode-символ в таком представлении: \uxxxx, где x – шестнадцатеричная цифра (например, \u0020 – символ пробела). Идентификатор в языке Java - это последовательность букв (не обязательно латинских), цифр (цифра не может быть первым символом), подчеркиваний ( _ ) и любых валютных символов Unicode (например $,, £, ¥ …). Идентификаторы «чувствительны» к регистру символов, т.е. long и Long – это разные слова. Способы записи литералов (123, "строка", 0xfffe, , 1e-13, '\t', …) в основном унаследованы из С/С++. Знаки операций, операторы и комментарии в основном унаследованы от С/С++.

Специальные идентификаторы (зарезервированные слова) abstractdoubleintstrictfp * (1.2) assert ** (1.4) elseinterfacesuper booleanextendslongswitch breakfalsenativesynchronized bytefinalnewthis casefinallynullthrow catchfloatpackagethrows charforprivatetransient classgoto ***protectedtrue const ***ifpublictry continueimplementsreturnvoid defaultimportshortvolatile doinstanceofstaticwhile

Начнем с operatorsList: Отличия Java от С++. Типы данных (1) Java – язык со строгой типизацией. Типы данных: примитивные и ссылочные. Примитивных типов данных в языке Java 8 (нет unsigned): ТипСодержитРазмерДиапазон booleantrue/false1 бит– charсимвол Unicode16 битот \u0000 до \uFFFF byteцелое со знаком8 битот –128 до 127 shortцелое со знаком16 битот –32768 до intцелое со знаком32 битот – до longцелое со знаком64 битот – до floatвещественное32 битот +–1.4Е – 45 до +– Е38 doubleвещественное64 битот +–4.9Е – 324 до +– Е308

Отличия Java от С++. Типы данных (2) Преобразования примитивных типов N- невозможно; E- требуется явное (explicit) указание типа; A- автоматически (automatic); A*- автоматически но с возможной потерей младших разрядов из: в:booleanbyteshortcharintlongfloatdouble boolean-NNNNNNN byteN-AEAAAA shortNE-EAAAA charNEE-AAAA intNEEE-AA*A longNEEEE-A* floatNEEEEE-A doubleNEEEEEE-

Отличия Java от С++. Типы данных (3) Ссылочные типы данных: объекты (экземпляры классов); массивы (примитивных или ссылочных типов). Указателей, с которыми можно явно манипулировать, в языке Java нет. Тем не менее, любой экземпляр класса представлен указателем (ссылкой). Операция. в языке Java по существу эквивалентна операции -> в C/C++: System.out.println( "Hello, World!" ); Здесь имена System и out надо понимать как указатели на объекты, автоматически создаваемые виртуальной машиной при запуске программы на выполнение.

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

Отличия Java от С++. Операции (1) В основном унаследованы от С/С++ PAОперацияТип(ы) операнда(ов)Действие 15L. объект. член классадоступ к полю или методу объекта [ ] … массив [ целое ] …доступ к элементу массива ( ) метод ( список аргументов )вызов метода ++ – – переменнаяпостфиксный инкремент декремент 14R ++ – – переменнаяпрефиксный инкремент декремент + – число / переменнаяунарный плюс минус ~ целоебитовое дополнение ! булевологическое отрицание

Отличия Java от С++. Операции (2) PAОперацияТип(ы) операнда(ов)Действие 13Rnewкласс( список аргументов) создание объекта (type)любой типприведение к указанному типу 12L* / %число умножение деление остаток 11L+ – число сложение вычитание +строка любой типконкатенация строк 10Lцелое сдвиг вправо с размножением знака >>>целое сдвиг вправо с дополнением нулем

Отличия Java от С++. Операции (3) PAОперацияТип(ы) операнда(ов)Действие 9L< >=число больше / больше или равно instanceofссылка типсравнение типов 8L= примитив сравнение на идентичность ! =примитив сравнение на неидентичность = ссылка сравнение на идентичность ! =ссылка сравнение на неидентичность

Отличия Java от С++. Операции (4) PAОперацияТип(ы) операнда(ов)Действие 7L&целое поразрядное умножение &булево логическое умножение 6L^целое поразрядное исключающее ИЛИ ^булево логическое исключающее ИЛИ 5L|целое поразрядное сложение |булево логическое сложение

Отличия Java от С++. Операции (5) PAОперацияТип(ы) операнда(ов)Действие 4L&&булево булевское умножение 3L||булево булевское сложение 2R? :булево любое любоеусловное выражение 1R=переменная любоеприсваивание *= /= %= += –= >= >>>= &= ^= |= переменная любоеприсваивание с операцией

Отличия Java от С++. Операции (6) Любая операция возвращает значение (прямой эффект), которое может быть использовано в другой операции, если, конечно, оно подходит для нее по типу или приводится к подходящему типу (иначе – ошибка периода компиляции или исполнения). Некоторые операции имеют побочный эффект (инкременты, присваивания, new, возможно – операция вызова метода) В том случае, если операндами операции являются числовые типы: возвращается значение типа double если хотя бы один из операндов имеет тип double иначе возвращается значение типа float если хотя бы один из операндов имеет тип float иначе возвращается значение типа long если хотя бы один из операндов имеет тип long иначе возвращается значение типа int, даже если оба операнда имеют тип byte, char или short.

Отличия Java от С++. Операции (7) Поэтому в следующем фрагменте компилятор выдаст ошибку: … short itemIndex = 0; … short finalIndex = itemIndex + 1; Правильной версией последнего оператора может быть такая: short finalIndex = (short)(itemIndex + 1); При вычислении выражений соблюдаются приоритеты знаков операций, их ассоциативность и учитываются круглые скобки. Выполнение каждого оператора начинается с вычисления значений всех указанных в нем операндов (за исключением операндов операций &&, || и ?:). Значения операндов вычисляются в порядке их записи в операторе слева направо. Это следует учитывать в тех случаях, когда используются операции с побочными эффектами. Например, какое значение (5 или 7 ?) получит переменная rezValue в результате выполнения следующего фрагмента: int mixValue = 0; int rezValue = ++mixValue + ++mixValue * ++mixValue;

Отличия Java от С++. Операции (8) Все операции с целыми числами выполняются по модулю (int) или (long). К возникновению исключительных ситуаций приводит только деление на 0 и вычисление остатка по модулю 0 (выбрасывается исключение ArithmeticException). Все переполнения игнорируются. Операции с вещественными числами (float и double) вообще никогда не приводят к исключениям. Вместо этого в тех случаях, когда получается слишком маленький или слишком большой результат, формируются специальные значения: положительный и отрицательный ноль (+ – 0.0); положительная и отрицательная бесконечность (+ – Infinity). Положительный и отрицательный ноль практически одинаковы. Любые операции с бесконечностями вырабатывают либо бесконечность, либо еще одно специальное значение: не-число (NaN – Not a number). Если в какой-либо операции участвует не-число, то результатом будет опять не-число. Не-число может быть получено в результате преобразования строки в число, при выполнении некоторых тригонометрических функций, и в других специальных случаях.