Скачать презентацию Основы программирования на языке Java Лектор Лашин Сергей Скачать презентацию Основы программирования на языке Java Лектор Лашин Сергей

Лекция 01. Программирование на языке Java.ppt

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

Основы программирования на языке Java Лектор: Лашин Сергей Александрович Основы программирования на языке Java Лектор: Лашин Сергей Александрович

Предмет программирования n n Программирование – процесс создания компьютерных программ (программного обеспечения) Программа – Предмет программирования n n Программирование – процесс создания компьютерных программ (программного обеспечения) Программа – последовательность инструкций, предназначенных для выполнения компьютером

Основные этапы разработки программ n n n Анализ Проектирование Реализация Тестирование Внедрение Сопровождение Основные этапы разработки программ n n n Анализ Проектирование Реализация Тестирование Внедрение Сопровождение

История развития программирования Машинные коды 1940 -1946 Ассемблер 1949 -1957 Процедурное программирование 1954 -1957 История развития программирования Машинные коды 1940 -1946 Ассемблер 1949 -1957 Процедурное программирование 1954 -1957 Структурное программирование 1960 Объектно-ориентированное программирование 1986 -…

Этапы развития программирования: Машинные коды Break due to BPX KERNEL 32!Create. File. A DO Этапы развития программирования: Машинные коды Break due to BPX KERNEL 32!Create. File. A DO "? PID; D esp->4 L 20; P RET; ? EAX; x; « 000001 DC 0000000476 " -" ; PID 0010: 0012138 C 64 65 6 D 6 F 2 E 70 72 6 F-74 65 63 74 65 64 2 E 63 demo. protected. c 0010: 0012139 C 72 6 B 2 E 65 78 65 00 00 -00 00 rk. exe. . 00000074 0000000116 "t" ; код возврата n n n Трудность разработки и сопровождения Сильно ограниченный объём понимания кода Непереносимость кода на другую платформу

Этапы развития программирования: Ассемблер Компиляция – перевод текста программы с языка (высокого) уровня в Этапы развития программирования: Ассемблер Компиляция – перевод текста программы с языка (высокого) уровня в машинные коды § Трудность разработки и сопровождения § Непереносимость кода на другую платформу

Этапы развития программирования: Процедурные языки - Фортран INTEGER A, B, C READ(5, 501) A, Этапы развития программирования: Процедурные языки - Фортран INTEGER A, B, C READ(5, 501) A, B, C 501 FORMAT(3 I 5) IF(A. EQ. 0. OR. B. EQ. 0. OR. C. EQ. 0) STOP 1 S = (A + B + C) / 2. 0 AREA = SQRT( S * (S - A) * (S - B) * (S - C)) WRITE(6, 601) A, B, C, AREA 601 FORMAT(4 H A= , I 5, 5 H B= , I 5, 5 H C= , I 5, 8 H AREA= , F 10. 2, 12 HSQUARE UNITS) STOP END § Хорошая читаемость кода § Переносимость кода на другую платформу § Сложности программирования сложных структур данных

Этапы развития программирования: Структурные языки – Паскаль, Си #include <stdio. h> struct student { Этапы развития программирования: Структурные языки – Паскаль, Си #include struct student { char *name; float marks; } student 1, student 2; int main ( ) { struct student 3; student 1. name = "Tom"; student 2. marks = 99. 9; printf (" Name is %s n", student 1. name); printf (" Marks are %f n", student 2. marks); } § Хорошая читаемость кода § Переносимость кода на другую платформу § Возможность программирования сложных структур данных § Сложность создания больших и распределённых программных систем

public class Class. Shape. Main { /** Iterate over all the Shapes, getting their public class Class. Shape. Main { /** Iterate over all the Shapes, getting their areas */ public double total. Areas() { Iterator it = all. Shapes. iterator(); double total = 0. 0; while (it. has. Next()) { Shape s = (Shape)it. next(); total += s. compute. Area(); } return total; } } class Circle extends Shape { double radius; public double compute. Area() { return Math. PI * radius; } } class Rectangle extends Shape { double width, height; public double compute. Area() { return width * height; } } abstract class Shape { protected int x, y; public abstract double compute. Area(); } Этапы развития программирования: Объектно-ориентированные языки – С++, Java § Хорошая читаемость кода § Переносимость кода на другую платформу § Возможность программирования сложных структур данных § Разделение функциональности и «зон ответственности» - разделяй и властвуй § Повторное использование кода §Упрощение создания больших и распределённых программных систем

Компилируемые и интерпретируемые языки Компилируемые языки Интерпретация компилирующего типа Исходный код Компилятор Программа (маш. Компилируемые и интерпретируемые языки Компилируемые языки Интерпретация компилирующего типа Исходный код Компилятор Программа (маш. код) Исходный код Интерпретатор Пошаговое выполнение Исходный код Компилятор Байт-код Виртуальная машина Выполнение

Язык Java n n n n Java – язык и платформа (вирт. машина) Выдающаяся Язык Java n n n n Java – язык и платформа (вирт. машина) Выдающаяся кроссплатформенность Безопасность Реализация концепций ООП Совместимость со «старыми» языками (С/С++ и Фортран) Встроенные в язык средства для работы со строками, сетью, многопоточностью (унификация) Автоматическое управление памятью (сборка мусора)

Задачи курса n n n n Изучение базового синтаксиса Java Изучение основных типов данных Задачи курса n n n n Изучение базового синтаксиса Java Изучение основных типов данных Java Изучение основных принципов ООП Работа со строками Работа с файлами Работа с многопоточностью Работа с биоинформатическими библиотеками

Простейшая программа на Java public class Hello. World. Application { /** * @param args Простейшая программа на Java public class Hello. World. Application { /** * @param args - входные параметры (аргументы командной строки */ public static void main(String[] args) { // точка входа System. out. println("Hello, world!"); // вывод на печать } }

Установка Java n Скачать JDK (1. 6) с сайта www. sun. com q n Установка Java n Скачать JDK (1. 6) с сайта www. sun. com q n n http: //java. sun. com/javase/downloads/index. jsp Установить JDK на компьютер Добавить каталог Java/bin в переменную пути PATH (для работы команд java, javac)

Компиляция и запуск программы n Создать файл с текстом программы q q n n Компиляция и запуск программы n Создать файл с текстом программы q q n n имя файла должно совпадать с именем класса расширение файла должно быть. java (например, Hello. World. Application. java) Скомпилировать программу с помощью программы javac (например, javac Hello. World. Application. java Запустить получившийся. class файл командой java (например, java Hello. World. Application ВНИМАНИЕ: расширение. class НЕ указывается)

Использование интегрированных сред разработки n Eclipse (http: //eclipse. org/) q n n Eclipse IDE Использование интегрированных сред разработки n Eclipse (http: //eclipse. org/) q n n Eclipse IDE for Java Developers Net. Beans (www. netbeans. org) Intelli. J IDEA (www. jetbrains. com/idea) JDeveloper (http: //www. oracle. com/technology/products/j dev/index. html) Многие другие…

Использование интегрированных сред разработки Использование интегрированных сред разработки

Контакты n n n e-mail: lashin@bionet. nsc. ru Тел: +7 -960 -784 -7312 Skype: Контакты n n n e-mail: lashin@bionet. nsc. ru Тел: +7 -960 -784 -7312 Skype: lashin. sergey