Основы программирования. Знакомство с Java

Содержание

Слайд 2

Зачем изучаем программирование? Возможность обучаться на ФИСТ: Студенческая весна/осень, Садовка, тусовка,

Зачем изучаем программирование?

Возможность обучаться на ФИСТ: Студенческая весна/осень, Садовка, тусовка, скидки

на билеты и т.п.
Интересно: no comments
Получить квалификацию в нужной отрасли
Обзор зарплат за I квартал 2017 года
Информационные технологии
http://www.kaus-group.ru/knowledge/salaries/salary-it/
Бухгалтерия / Экономисты
http://www.kaus-group.ru/knowledge/salaries/salary-economists/
Слайд 3

Обзор зарплат – экономисты/бухгалтера

Обзор зарплат – экономисты/бухгалтера

Слайд 4

Обзор зарплат – экономисты/бухгалтера

Обзор зарплат – экономисты/бухгалтера

Слайд 5

Обзор зарплат – экономисты/бухгалтера

Обзор зарплат – экономисты/бухгалтера

Слайд 6

Обзор зарплат – Информационные технологии

Обзор зарплат – Информационные технологии

Слайд 7

Почему Java? http://www.tiobe.com/tiobe-index/ 2017.01

Почему Java?

http://www.tiobe.com/tiobe-index/ 2017.01

Слайд 8

Почему Java? http://www.tiobe.com/tiobe-index/ 2018.01

Почему Java?

http://www.tiobe.com/tiobe-index/ 2018.01

Слайд 9

Неформальное введение в ООП

Неформальное введение в ООП

Слайд 10

Что такое ООП?

Что такое ООП?

Слайд 11

Объект Кот

Объект Кот

Слайд 12

Какие свойства есть у кота?

Какие свойства есть у кота?

Слайд 13

Объект Кот

Объект Кот

Слайд 14

А методы?

А методы?

Слайд 15

Объект Кот

Объект Кот

Слайд 16

А что с другими животными?

А что с другими животными?

Слайд 17

Собака

Собака

Слайд 18

Сравнение свойств Кота и Собаки

Сравнение свойств Кота и Собаки

Слайд 19

Сравнение методов Кота и Собаки

Сравнение методов Кота и Собаки

Слайд 20

Домашние животные

Домашние животные

Слайд 21

Принцип наследования

Принцип наследования

Слайд 22

Схема наследования

Схема наследования

Слайд 23

Несколько терминов

Несколько терминов

Слайд 24

UML – диаграмма классов UML = Unified Modeling Language

UML – диаграмма классов

UML = Unified Modeling Language

Слайд 25

источник вдохновения http://www.slideshare.net/smirik/ruby-11754239

источник вдохновения

http://www.slideshare.net/smirik/ruby-11754239

Слайд 26

Java - Поехали! Eclipse

Java - Поехали!

Eclipse

Слайд 27

Задача 2 Используя while вывести числа от 1 до 10. Пример

Задача 2

Используя while вывести числа от 1 до 10.
Пример вывода: 1

2 3 4 5 6 7 8 9 10

while (условное_выражение) {
Действие;
}

Слайд 28

Задача 2: трассировка Используя while вывести числа от 1 до 10.

Задача 2: трассировка

Используя while вывести числа от 1 до 10.
Пример вывода:

1 2 3 4 5 6 7 8 9 10
Слайд 29

Задача 3 Используя while вывести числа от 1 до 10. Поместить

Задача 3

Используя while вывести числа от 1 до 10.
Поместить четные числа

в квадратные скобки, а нечетные – в круглые (использовать развилку).
Пример вывода: (1) [2] (3) [4] (5) [6] (7) [8] (9) [10]

if (условное_выражение) {
Действие_1
} else {
Действие_2
}

Слайд 30

Задача 3: трассировка Используя while вывести числа от 1 до 10.

Задача 3: трассировка

Используя while вывести числа от 1 до 10.
Поместить четные

числа в квадратные скобки, а нечетные – в круглые (использовать развилку).
Пример вывода: (1) [2] (3) [4] (5) [6] (7) [8] (9) [10]
Слайд 31

Задача 3: Код public class Class3 { public static void main(String[]

Задача 3: Код

 public class Class3 {
public static void main(String[] args) {
int

i = 1;
while (i <= 10) {
if (i % 2 == 0) {
System.out.printf("[%d] ", i );
} else {
System.out.printf("(%d) ", i );
}
i++;
}
}
}
Слайд 32

Задача 4 Написать программу для разложения числа на простые множители. Пример

Задача 4

Написать программу для разложения числа на простые множители.
Пример вывода: 240

= 1 * 2 * 2 * 2 * 2 * 3 * 5
Слайд 33

Задача 5 Написать программу для разложения числа на простые множители. Вывод

Задача 5

Написать программу для разложения числа на простые множители. Вывод сделать

при помощи отдельного метода (функции)
Пример вывода: 240 = 1 * 2 * 2 * 2 * 2 * 3 * 5
Слайд 34

Задача 5: код public class Class5 { private static void printDivs(int

Задача 5: код

public class Class5 {
private static void printDivs(int number) {
int

div = 2;
System.out.printf("%d = 1", number);
while (div <= number) {
if (number % div == 0) {
number /= div;
System.out.printf(" * %d", div );
} else {
div++;
}
}
}
public static void main(String[] args) {
printDivs(920);
}
}
Слайд 35

Задача 6 Написать программу для разложения числа на простые множители. Ввод

Задача 6

Написать программу для разложения числа на простые множители. Ввод –

с консоли.
Пример ввода: Number = 1000
Пример вывода: 1000 = 1 * 2 * 2 * 2 * 5 * 5 * 5
Где читать и откуда брать код?
Файл «Основные управляющие конструкции v 5.0.docx»
стр. 25-27
Конвертация строк в число (parseXxx()) и обратно (toString())
Слайд 36

Задача 7 Написать программу для разложения числа на простые множители. Ввод

Задача 7

Написать программу для разложения числа на простые множители. Ввод –

с консоли. Обработать все исключения.
Пример ввода 1: Number = 1000
Пример вывода 1: 1000 = 1 * 2 * 2 * 2 * 5 * 5 * 5
Пример ввода 2: Number = один
Пример вывода 2: Exception!!!
java.lang.NumberFormatException: For input string: "один"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Class7.main(Class7.java:23)
Слайд 37

Задача 7: код public class Class7 { public static void main(String[]

Задача 7: код

 public class Class7 { 
public static void main(String[] args) {
try

{
//Создаем объект br для чтения данных из консоли
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
// Ввод Number
// выводим приглашение к вводу Number
System.out.print("Number = ");
//Читаем из консоли строку
String s = br.readLine(); 
// конвертируем введенные строки в целое число
int number = Integer.parseInt(s); 
printDivs(number);
} catch (Exception e) {
System.out.printf("Exception!!!\n");
// TODO Auto-generated catch block
e.printStackTrace();
}

private static void printDivs(int number) { /* Код из предыдущего примера */ }
 }
Слайд 38

Задача 8 Создать оконное приложение 1. Две кнопки. Поле для ввода

Задача 8

Создать оконное приложение 1. Две кнопки. Поле для ввода текста.

Кнопка «=0» текст сбрасывает.
Кнопка «+1» добавляет к тексту «+1».
Где читать?
Файл «Разработка GUI v 5.0.docx»
стр. 1-67
Слайд 39

Задача 8: Неполный код public class Win1 { private JTextField textField;

Задача 8: Неполный код

public class Win1 {
private JTextField textField;
private void initialize()

{
JButton btnNewButton = new JButton("=0");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
textField.setText("=0");
}
});
btnNewButton.setBounds(24, 35, 107, 23);
frmTitle.getContentPane().add(btnNewButton);
JButton btnNewButton_1 = new JButton("+1");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = textField.getText();
textField.setText(s + "+1");
}
});
btnNewButton_1.setBounds(221, 35, 107, 23);
frmTitle.getContentPane().add(btnNewButton_1);
textField = new JTextField();
textField.setBounds(24, 84, 304, 50);
frmTitle.getContentPane().add(textField);
textField.setColumns(10);
}
}
Слайд 40

Задача 9 Создать оконное приложение 2. Поле для ввода числа number.

Задача 9

Создать оконное приложение 2. Поле для ввода числа number. Кнопка

по нажатию на которую число number разлагается на простые множители и выводит в поле для вывода множителей.
Слайд 41

Задача 9: Неполный код (1) public class Win2 { private JTextField

Задача 9: Неполный код (1)

public class Win2 {
private JTextField textFieldNumber;
private JTextField

textFieldDivs;
private JLabel lblNewLabel;
private void initialize() {
JButton btnNewButton = new JButton("\u0414\u0415\u041B\u0410\u0419!");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String s = textFieldNumber.getText();
int number = Integer.parseInt(s);
textFieldDivs.setText(printDivs(number));
} catch (Exception ex) {
textFieldDivs.setText("ERROR");
}
}
});
btnNewButton.setBounds(94, 82, 200, 63);
frame.getContentPane().add(btnNewButton);
}
Слайд 42

Задача 9: Неполный код (2) private static String printDivs(int number) {

Задача 9: Неполный код (2)

private static String printDivs(int number) {
int div

= 2;
String s = "" + number + " = 1";
while (div <= number) {
if (number % div == 0) {
number /= div; 
s = s + " * " + div; 
} else {
div++;
}
}
return s;

}
Слайд 43

Домашнее задание Прочитать «Основные управляющие конструкции v 5.0.docx» ВСЮ! Установить Eclipse

Домашнее задание

Прочитать «Основные управляющие конструкции v 5.0.docx» ВСЮ!
Установить Eclipse
Прочитать «Разработка GUI

v 5.0.docx» стр 1-67.
Установить WindowBuilder (стр 7-10)