Содержание
- 2. Компилируемые языки программирования Компиляция – преобразование текста программы, написанного на языке высокого уровня (C, C++, Pascal),
- 3. Компилируемые языки программирования Плюсы: Высокая скорость исполнения программы Отсутствие необходимости в дополнительном программном обеспечения для запуска
- 4. Компилируемые языки программирования
- 5. Интерпретируемые языки программирования Интерпретация – анализ текста программы, написанного на языке высокого уровня (JavaScript, PHP), и
- 6. Интерпретируемые языки программирования Плюсы: Кроссплатформенность Минусы: Для запуска необходима дополнительная программа-интерпретатор Низкая скорость работы
- 7. Интерпретируемые языки программирования
- 8. Язык программирования Java
- 9. Область применения Консольные приложения Настольные приложения (AWT, Swing) Апплеты Мидлеты Сервлеты
- 10. Отличия от C++ Отсутствие указателей и прямого доступа к памяти Механизм сборки мусора Отсутствуют деструкторы Неотделимость
- 11. Отличия от C++ Отсутствие структур и объединений Отсутствуют шаблоны (templates), вместо них используют обобщения (generics) Отсутствуют
- 12. Первая программа // D:\java\proj\by\vsu\HelloWorld.java package by.vsu; public class HelloWorld { public static void main(String[] args) {
- 13. Компиляция программы C:\Users\user> _
- 14. Компиляция программы C:\Users\user> D: D:> _
- 15. Компиляция программы C:\Users\user> D: D:> cd java\proj D:\java\proj> _
- 16. Компиляция программы C:\Users\user> D: D:> cd java\proj D:\java\proj> javac by\vsu\HelloWorld.java D:\java\proj> _
- 17. Запуск программы C:\Users\user> D: D:> cd java\proj D:\java\proj> javac by\vsu\HelloWorld.java D:\java\proj> java by.vsu.HelloWorld Hello World D:\java\proj>
- 18. Ввод данных // ReadChar.java public class ReadChar { public static void main(String[] args) { int x;
- 19. Типы данных
- 20. Целочисленные литералы 23 – десятичное число 012 – восьмеричное число 0x7a – шестнадцатеричное число тип литералов
- 21. Дробные литералы 1.234 0.123E-03 литералы типа double литерал типа float обозначается F 2.34F
- 22. Символьные литералы ‘a’ ‘\123’ ‘\u9ae8’ ‘\n’ ‘\t’
- 23. Идентификаторы Не могут начинаться с цифры Не могут содержать знаки арифметических и логических операторов Не могут
- 24. Переменные int a; char b = ‘#’;
- 25. Область видимости // операторы (1) – x недоступна while(a // операторы (2) – x недоступна int
- 26. Арифметические операторы
- 27. Операторы сравнения
- 28. Логические операторы
- 29. Пример логических операторов int a = 1, b = 0; int c = 1, d =
- 30. Классы-оболочки
- 31. Иерархия классов-оболочек
- 32. Математические константы Math.PI Math.E
- 33. Математические методы Math.abs(x); Math.sqrt(x); Math.cbsr(x); Math.pow(x, y); Math.hypot(x, y);
- 34. Математические методы Math.cos(x); Math.sin(x); Math.tan(x);
- 35. Математические методы Math.acos(x); Math.asin(x); Math.atan(x); Math.atan2(y, x);
- 36. Математические методы Math.toDegrees(x); Math.toRadians(x);
- 37. Математические методы Math.cosh(x); Math.sinh(x); Math.tanh(x);
- 38. Математические методы Math.exp(x); Math.log(x); Math.log10(x);
- 39. Математические методы Math.ceil(x); Math.floor(x); Math.round(x);
- 40. Математические методы Math.random(); Math.min(x, y); Math.max(x, y);
- 41. Массивы. Объявление массива []; Или [] ;
- 42. Пример объявления массивов int a[]; double[] b; int a[], b, c[], d; int[] a, b, c[],
- 43. Массивы. Создание массива new [ ];
- 44. Пример создания массива int a[]; ... a = new int[5]; int a[] = new int[5]; a
- 45. Обращение к элементу массива System.out.println(a[6]); a[4] = 234;
- 46. Заполнение массива double array[] = new double[10]; for(int i = 0; i array[i] = 10 *
- 47. Вывод массива for(int i = 0; i System.out.print(array[i]); System.out.print(‘·’); }
- 48. Инициализация массива new [] { }
- 49. Пример инициализации массива int a[]; a = new int[] {1, 2, 3}; char b[] = new
- 50. Операции с массивами int a[] = {1, 2, 3}; int b[] = a; int c[] =
- 51. Операции с массивами a == b // true a == c // false a == d
- 52. Массив как класс int a[] = new int[N]; ... int b[] = a.clone(); // a ==
- 53. Сравнение массивов int a[] = {/* элементы */}; int b[] = {/* элементы */}; boolean isEquals
- 54. Массив массивов int[] array[]; тип имя переменной массив int[][] array; или int array[][];
- 55. Создание двумерных массивов int[][] matrix = new int[56][]; for(int i = 0; i i++) { matrix[i]
- 56. Создание и обработка двумерных массивов int[][] a = new int[N][M]; for(int i = 0; i for(int
- 57. Инициализация двумерных массивов int[][] a = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9,
- 58. Инициализация двумерных массивов int[][] a = { {1}, {2, 3}, {4, 5, 6}, {7, 8, 9,
- 59. Класс Имя Атрибуты, Поля, Переменные Операции, Методы, Функции
- 60. Принципы ООП Инкапсуляция Наследование Абстракция Полиморфизм Раннее связывание Позднее связывание
- 61. Описание класса class ArrayAlgorythms { int[] array; void sort(boolean reverse) { // реализация } int max()
- 62. Создание экземпляра класса ArrayAlgorythms aa = new ArrayAlgorythms(); aa.array = new int[50]; ... aa.sort(true); ... int
- 63. Создание экземпляра класса ArrayAlgorythms aa = null; aa = new ArrayAlgorythms(); aa = null;
- 64. Пакеты package math.geometry; class Line { double A, B, C; Line() { ... } }
- 65. package graphics.paint; class Line { int x1, y1, x2, y2; Line() { ... } } Пакеты
- 66. package main.console; ... Line a = new Line(); Line b = new Line(); Пакеты
- 67. package main.console; ... math.geometry.Line a = new math.geometry.Line(); graphics.paint.Line b = new graphics.paint.Line(); Пакеты
- 68. package math.analysis; import math.geometry.*; class Parabola { Line tangent(double x) { // реализация } } Пакеты
- 69. package math.analysis; import math.geometry.Line; class Parabola { Line tangent(double x) { // реализация } } Пакеты
- 70. Имя класса math.geometry.Line полное имя класса Line краткое имя класса
- 71. Можно не импортировать Классы из того же пакета Классы из пакета java.lang
- 72. Наследование class Aaa { void aaa(); } class Bbb extends Aaa { void bbb(); }
- 73. Aaa x = new Aaa(); x.aaa(); //x.bbb(); ОШИБКА Bbb y = new Bbb(); y.aaa(); y.bbb(); Наследование
- 74. Aaa z = new Bbb(); z.aaa(); //z.bbb(); ОШИБКА Наследование
- 75. Области видимости // виден везде public class ClassA { } // виден только в своем пакете
- 76. Области видимости
- 77. Примеры областей видимости private int variable1; void method1() { ... } public double variable2; String variable3;
- 78. Модификатор final Класс Поле Метод
- 79. final class TestA { } // ОШИБКА class TestB extends TestA { } Модификатор final
- 80. class TestA { void methodA() {/* 1 */} final void methodB() {/* 2 */} } class
- 81. class TestA { final int X = 10; } Модификатор final
- 82. Модификатор static class Test { int x; static int y; void methodA() {} static void methodB()
- 83. Test a = new Test(); a.x = 10; a.y = 20; a.methodA(); a.methodB(); Test.y = 20;
- 84. Test a = new Test(); Test b = new Test(); a.y = 20; System.out.println(b.y); // 20
- 85. Test a = new Test(); a.y = 20; Test b = new Test(); System.out.println(b.y); // 20
- 86. Test.y = 20; Test a = new Test(); System.out.println(a.y); // 20 Test b = new Test();
- 87. Test a = new Test(); a.x = 10; a.y = 20; a.methodA(); a.methodB(); Test.y = 20;
- 88. Вызов методов суперкласса class TestA { void run() {/*1*/} } class TestB extends TestA { void
- 89. Конструкторы class Test { Test() { ... } }
- 90. class Test { Test(int x) { ... } } Конструкторы
- 91. class Test { Test(int x) { ... } Test() { ... } } Конструкторы
- 92. class SubTest extends Test { SubTest() { super(); } } Конструкторы
- 93. class SubTest extends Test { SubTest() { super(34); } } Конструкторы
- 94. class Test { Test(int x) { ... } Test() { this(34); } } Конструкторы
- 95. Класс Object Базовый для всех классов в Java Неявно является родителем класса, даже при отсутствии ключевого
- 96. public class Man { private String surname, name, patronymic; public Man(String surname, String name, String patronymic)
- 97. public String toString() { return surname + ‘ ’ + name.charAt(0) + ‘.’ + patronymic.charAt(0) +
- 98. Man man = new Man(“Пушкин”, “Александр”, “Сергеевич”); System.out.println(man); // Пушкин А.С. Класс Object
- 99. public class Man { private String surname, name, patronymic; public Man(String surname, String name, String patronymic)
- 100. public boolean equals(Object a) { if(a instanceof Man) { Man m = (Man) a; return surname.equals(
- 101. public boolean equals(Object a) { if(a instanceof Man) { Man m = (Man) a; return name.equals(m.name)
- 102. private int age; public boolean equals(Object a) { if(a instanceof Man) { Man m = (Man)
- 103. public int hashCode() { /* реализация */ } Класс Object
- 104. Пример полиморфизма class Stone { double weight; double price; double cost() { return price * weight;
- 105. Пример полиморфизма class Jewel extends Stone { double transparent; double cost() { return super.cost() * transparent;
- 106. Пример полиморфизма class RareJewel extends Jewel { double cost() { return super.cost() * Math.log(Math.E + weight);
- 107. Пример полиморфизма static Stone generate() { int t = (int)(3*Math.random()); switch(t) { case 0: return new
- 108. Пример полиморфизма Stone[] s = new Stone[25]; for(int i = 0; i s[i] = generate(); }
- 109. Пример абстрактного класса public class Circle { private double radius; public double area() { return Math.PI
- 110. public class Rectangle { private double width; private double height; public double area() { return width
- 111. public class Rectangle extends Figure { public double area() {/*...*/} } public class Circle extends Figure
- 112. public class Figure { public double area() { /* ??? */ } } Пример абстрактного класса
- 113. public class Figure { abstract public double area(); } Пример абстрактного класса
- 114. abstract public class Figure { abstract public double area(); } Пример абстрактного класса
- 115. abstract public class A { abstract public void aaa(); abstract public void bbb(); } Абстрактные методы
- 116. abstract public class B extends A { abstract public void aaa(); public void bbb() { /*
- 117. public class C extends B { public void aaa() { /* реализация */ } } Абстрактные
- 118. A x = new A(); // ОШИБКА B y = new B(); // ОШИБКА C z
- 119. abstract public class A { public void aaa() { /* реализация */ } public void bbb()
- 120. Пример абстрактного класса без абстрактных методов public class Author { private String surname; private String name;
- 121. public class Book { private String title; private Author author; private Integer year; } Пример абстрактного
- 122. public class Reader { private String surname; private String name; private String patronymic; private Long phone;
- 123. public class Usage { private Reader reader; private Book book; private Date issueDay; private Date returnDay;
- 124. public class Person { private String surname; private String name; private String patronymic; } Пример абстрактного
- 125. public class Author extends Person { private String degree; } Пример абстрактного класса без абстрактных методов
- 126. public class Reader extends Person { private Long phone; private String address; } Пример абстрактного класса
- 127. abstract public class Person { private String surname; private String name; private String patronymic; } Пример
- 128. Пример чтения данных public class BookTxtReader { public Book[] read() { /* реализация */ } }
- 129. public class BookDBReader { public Book[] read() { /* реализация */ } } Пример чтения данных
- 130. abstract public class BookReader { abstract public Book[] read(); } Пример чтения данных
- 131. abstract public class BookReader { abstract public Book[] readBooks(); abstract public Author[] readAuthors(); } Пример чтения
- 132. abstract public class BookReader { public Book[] read() { /* readAuthors() */ /* readBooks() */ }
- 133. abstract public class BookReader { public final Book[] read() { /* readAuthors() */ /* readBooks() */
- 134. Пример сортировки public class ReaderSorter { public Reader[] sort( Reader[] readers ) { /* реализация */
- 135. public class ReaderSorter { public Reader[] sortByName( Reader[] readers ) { /* реализация */ } public
- 136. abstract public class ReaderComparator { abstract public int compare( Reader r1, Reader r2 ); } Пример
- 137. public class ReaderSorter { public Reader[] sort( Reader[] readers, ReaderComparator comparator ) { /* начало цикла
- 138. public class ReaderByNameComparator extends ReaderComparator { public int compare(Reader r1, Reader r2) { /* реализация */
- 139. public class ReaderByAddressComparator extends ReaderComparator { public int compare(Reader r1, Reader r2) { /* реализация */
- 140. Reader[] readers = /* создание массива */ ReaderSorter sorter = new ReaderSorter(); ReaderComparator comparator; comparator =
- 141. abstract public class ReaderComparator { abstract public int compare( Reader r1, Reader r2 ); } Пример
- 142. public interface ReaderComparator { int compare(Reader r1, Reader r2); } Пример сортировки
- 143. public class ReaderByNameComparator implements ReaderComparator { public int compare(Reader r1, Reader r2) { /* реализация */
- 144. public class ReaderByAddressComparator implements ReaderComparator { public int compare(Reader r1, Reader r2) { /* реализация */
- 145. Интерфейсы public interface A { int x; // public final static void test(); // abstract public
- 147. Скачать презентацию