Скачать презентацию Программирование на Java Лекция 1 Введение в Java Скачать презентацию Программирование на Java Лекция 1 Введение в Java

lection1.pptx

  • Количество слайдов: 33

Программирование на Java Лекция 1. Введение в Java. Программирование на Java Лекция 1. Введение в Java.

Сравнение языков программирования C++ и Java Переносимость на уровне исходного Переносимость на уровне байт-кода. Сравнение языков программирования C++ и Java Переносимость на уровне исходного Переносимость на уровне байт-кода. Принцип: Write once compile Принцип: Write once run anywhere / anywhere (WOCA). everywhere (WORA / WORE). Разрабатывался для системного программирования. Возможно использование процедурного и объектноориентированного программирования. Явное управление памятью, поддержка указателей. Разрабатывался для прикладного программирования в неоднородных компьютерных сетях и программирования бытовых электронных устройств. Полностью объектноориентированный язык. Отсутствие указателей, не допускается прямое обращение к памяти.

Сравнение языков программирования C++ и Java Отсутствие контроля границ массивов. Программа сама управляет выделением Сравнение языков программирования C++ и Java Отсутствие контроля границ массивов. Программа сама управляет выделением и освобождением памяти. Поддержка множественного наследования. Отсутствует стандартный механизм документирования исходного кода. Поддержка оператора goto. Нестрогий контроль типов. Контроль границ массивов. Автоматическая сборка мусора. Множественное наследование реализовано с помощью интерфейсов. Документирование с помощью Javadoc. Отсутствие оператора goto. Поддержка меток в циклах. Строгий контроль типов.

Компиляция программ C++ *. c, *. cpp, *. h (файлы исходного кода) *. obj Компиляция программ C++ *. c, *. cpp, *. h (файлы исходного кода) *. obj (объектные файлы) Исполняемый модуль Java *. java (файлы исходного кода) *. class *. jar (архив Jar)

Выполнение программ C++ Java Исполняемый модуль (имеет формат, поддерживаемый требуемой операционной системой, и содержит Выполнение программ C++ Java Исполняемый модуль (имеет формат, поддерживаемый требуемой операционной системой, и содержит инструкции требуемой архитектуры процессора) Архив Jar или файл *. class (содержит платформеннонезависимый байт-код) Операционная система JVM (Java Virtual Machine) – Виртуальная машина Java. (преобразует байт-код в инструкции целевого процессора во время выполнения, Ji. T (Just in Time) –компиляция) Операционная система

Необходимое программное обеспечение • • JDK (Java Development Kit) – набор инструментов разработки на Необходимое программное обеспечение • • JDK (Java Development Kit) – набор инструментов разработки на языке Java (включён в Mac OS X, для Windows требуется скачать с сайта http: //www. oracle. com/technetwork/javase/downlo ads/index. html) Интегрированная среда разработки (IDE, Integrated development environment).

IDE В настоящее время существует несколько свободно распространяемых сред разработки на Java: • Net. IDE В настоящее время существует несколько свободно распространяемых сред разработки на Java: • Net. Beans (http: //netbeans. org/) • Eclipse (http: //www. eclipse. org/) • JDeveloper (http: //www. oracle. com/technetwork/developertools/jdev/overview/index. html) А также, коммерческие IDE, такие как: • Intelli. J IDEA (http: //www. jetbrains. com/idea/) • JBuilder (http: //www. embarcadero. com/products/jbuilder)

Создание проекта на Java в среде Net. Beans Создание проекта на Java в среде Net. Beans

Первая программа import java. io. *; public class Main { public static void main(String[] Первая программа import java. io. *; public class Main { public static void main(String[] args) throws IOException { double a, b, c, d; Buffered. Reader in = new Buffered. Reader( new Input. Stream. Reader(System. in)); System. out. print("Введите коэффициент a: "); a = Double. parse. Double(in. read. Line()); System. out. print("Введите коэффициент b: "); b = Double. parse. Double(in. read. Line()); System. out. print("Введите коэффициент c: "); c = Double. parse. Double(in. read. Line()); if ((d = b * b - 4 * a * c) < 0) { d = 0. 5 * Math. sqrt(-d) / a; a = -0. 5 * b / a; System. out. printf("x 1 = %. 2 f - i%. 2 fnx 2 = %. 2 f + "i%. 2 fn", a, d); } else { d = 0. 5 * Math. sqrt(d) / a; a = -0. 5 * b / a; System. out. printf("x 1 = %. 2 fnx 2 = %. 2 fn", a - d, a + d); } } }

Целочисленные типы данных Тип long int short byte Оболочеч Ширина (в Область допустимых значений Целочисленные типы данных Тип long int short byte Оболочеч Ширина (в Область допустимых значений ный класс битах) Long 64 -9223372036854775808. . 9223372036854775807 Integer 32 -2147483648. . 2147483647 Short 16 -32768. . 32767 Byte 8 -128. . 127

Операторы для работы с целочисленными данными Оператор + * / % = ++ -+= Операторы для работы с целочисленными данными Оператор + * / % = ++ -+= -= *= /= %= Назначение Сложение Вычитание Умножение Целочисленное деление Остаток от деления Присваивание Инкремент Декремент Сложение с присваиванием Вычитание с присваиванием Умножение с присваиванием Целочисленное деление с присваиванием Остаток от деления с присваиванием Пример a+b a-b a*b a/b a%b a=b a++, ++a a--, --a a+=b a-=b a*=b a/=b a%=b

Вещественные типы Имя Оболочеч Ширина (в Область допустимых ный класс битах) значений по модулю Вещественные типы Имя Оболочеч Ширина (в Область допустимых ный класс битах) значений по модулю double Double 64 4. 9 e-324. . 1. 8 e+308 float Float 32 1. 4 e-045. . 3. 4 e+038

Операторы для работы с вещественными типами Оператор + * / % = ++ -+= Операторы для работы с вещественными типами Оператор + * / % = ++ -+= -= *= /= %= Назначение Сложение Вычитание Умножение Деление Остаток от деления Присваивание Инкремент Декремент Сложение с присваиванием Вычитание с присваиванием Умножение с присваиванием Деление с присваиванием Остаток от деления с Пример a+b a-b a*b a/b a%b a=b a++, ++a a--, --a a+=b a-=b a*=b a/=b a%=b

Символьный тип Имя char Оболочечный Ширина (в класс битах) Character 16 Область допустимых значений Символьный тип Имя char Оболочечный Ширина (в класс битах) Character 16 Область допустимых значений u 0000. . u. FFFF Примеры символьных констант Запись Непосредственно символ Значение символа в восьмеричной форме Значение символа в шестнадцатеричной форме Пример ‘a’ ‘141’ ‘u 0061’

Логический тип Имя Оболочечный Область допустимых значений класс boolean Boolean true, false Логические операторы Логический тип Имя Оболочечный Область допустимых значений класс boolean Boolean true, false Логические операторы Оператор && || ! Назначение Логическое ИЛИ Логическое НЕ Пример a&&b a||b !a

Операторы сравнения Оператор == != > < >= <= Назначение Равно Не равно Больше Операторы сравнения Оператор == != > < >= <= Назначение Равно Не равно Больше Меньше Больше или равно Меньше или равно Пример a==b a!=b a>b a=b a<=b

Комментарии • Однострочный комментарий открывается двумя прямыми слешами //. Всё, что стоит правее этих Комментарии • Однострочный комментарий открывается двумя прямыми слешами //. Всё, что стоит правее этих символов является комментарием и игнорируется компилятором. Пример: // Это комментарий • Многострочный комментарий заключается в скобки из символов /* и */. Всё что находится внутри этих скобок является комментарием и игнорируется компилятором. Пример: /* Это многострочный Комментарий */

Составной оператор представляет собой несколько операторов, заключённых в фигурные скобки {}. Этот оператор используется, Составной оператор представляет собой несколько операторов, заключённых в фигурные скобки {}. Этот оператор используется, если требуется последовательность нескольких операторов в конструкциях, предусматривающих использование только одного оператора, например, после оператора if. Пример: { Оператор1; Оператор2; }

Условный оператор if if( условие ) оператор1; else оператор2; Условный оператор if if( условие ) оператор1; else оператор2;

Редуцированная форма оператора if if( условие ) оператор1; Редуцированная форма оператора if if( условие ) оператор1;

Оператор выбора switch( выражение ) { case значение 1: операторы; break; case значение 2: Оператор выбора switch( выражение ) { case значение 1: операторы; break; case значение 2: операторы; break; // и т. д. default: операторы; }

Оператор цикла for( блок инициализации; условие выполнения тела цикла; блок изменения счётчиков ) оператор; Оператор цикла for( блок инициализации; условие выполнения тела цикла; блок изменения счётчиков ) оператор;

Цикл с предусловием while( условие ) оператор; Цикл с предусловием while( условие ) оператор;

Цикл с постусловием do-while do оператор; while( условие ) Цикл с постусловием do-while do оператор; while( условие )

Операторы прерывания • continue – прерывание выполнение тела цикла и переход к следующей итерации. Операторы прерывания • continue – прерывание выполнение тела цикла и переход к следующей итерации. • break – выход из текущего цикла или оператора switch. • return – выход из текущей функции. Если функция возвращает какое-либо значение, после оператора return должно быть указано это значение. • System. exit(int n) – выход из программы с кодом завершения n. Выход считается нормальным, если n равно 0. В противном случае выход считается аварийным.

Консольный ввод-вывод • System. in – стандартный поток ввода. • System. out – стандартный Консольный ввод-вывод • System. in – стандартный поток ввода. • System. out – стандартный поток вывода. • System. err – стандартный поток вывода сообщений об ошибках.

Вывод Для вывода информации в потоки System. out и System. err используются следующие методы: Вывод Для вывода информации в потоки System. out и System. err используются следующие методы: • print(<аргумент>) – выводит текстовое представление аргумента в поток вывода. • println(<аргумент>) – выводит текстовое представление аргумента в поток вывода и переводит курсор на новую строку. • println() – отправляет в поток вывода символ перевода строки. • printf(…) – функция полностью аналогична функции printf языка C.

Примеры: System. out. print(2. 65); System. out. println(a); System. out. println(“текстовая строка”); System. err. Примеры: System. out. print(2. 65); System. out. println(a); System. out. println(“текстовая строка”); System. err. printf(“Ошибка %dn”, err_num);

Ввод Для ввода данных с текстовой консоли удобно использовать вспомогательные классы Input. Stream. Reader Ввод Для ввода данных с текстовой консоли удобно использовать вспомогательные классы Input. Stream. Reader и Buffered. Reader. Класс Buffered. Reader буферизует ввод, позволяя вводить информацию построчно. Если требуется ввести числовые данные, то для преобразования введённого текста к числовому виду можно использовать оболочечные классы.

Примеры: // создание экземпляра класса Buffered. Reader на основе // стандартного потока ввода System. Примеры: // создание экземпляра класса Buffered. Reader на основе // стандартного потока ввода System. in Buffered. Reader in = new Buffered. Reader(new Input. Stream. Reader( System. in)); // ввод вещественного значения double a = Double. parse. Double(in. read. Line()); // ввод целочисленного значения int b = Integer. parse. Int(in. read. Line()); // ввод строки целиком String c = in. read. Line();