Upload
andriy-gladkiy
View
174
Download
0
Embed Size (px)
Citation preview
2
В цьому уроці ви:взнаєте про платформу .NET і мову C#;познайомитесь з базовим синтаксисом мови;взнаєте про змінні, типи і операції над ними;взнаєте про приведення типів в C#;взнаєте про літерали;взнаєте про розгалуження і цикли;отримаєте базові знання про об’єкти і класи;створите най простішу програму
Andrey Gladky [email protected]
3
Архітектура .Net.Net Framework
CLR BCL Мови програмування
C# VB.NET
Andrey Gladky [email protected]
CTS CLS
9
Базовий синтаксисВирази:• Визначення змінних• Операції присвоєння• Виклик функції
• Закінчуються на ‘;’• Об'єднуються за допомогою {i}• Коментарі:• Однорядкові - //• Багаторядкові - /* */
• Чутливі до регістру
Andrey Gladky [email protected]
11
ЗмінніЗмінна – логічна коміркаЗмінна зберігає інформаціюМає визначений типВиди:• Типи значень• Типи посилань
Andrey Gladky [email protected]
12
Типи значеньСтруктури• Числові типи• Символьні типи• Логічні типи• Користувацькі структури
• Перерахування
Andrey Gladky [email protected]
16
Основні типи значеньТип Опис
bool Логічний оператор. Може приймати значення “істина” (true) і “хибне” (false).
byte Займає в пам’яті один байт. Може зберігати в себе число в діапазоні 0-254
char Зберігає в себе один текстовий символ.
double Тип з плаваючою комою подвійної точності. Приймає значення в діапазоні ±5.0 × 10-324 - ±1.7 × 10308, має точність 15, 16 знаків після коми.
enum Тип перерахування. Визначається користувачем. Містить в собі задану кількість різних значень, які потім можуть приймати змінні цього типу.
float Число з плаваючою комою. Приймає значення в діапазоні ±1.5 × 10-45 - ±3.4 × 1038, має точність 7 знаків після коми.
int Ціле число. Може приймати значення в діапазоні -2 147 483 648 - 2 147 483 647.
struct Структура – тип даних, який може зберігати в собі змінні, методи, конструктори, тобто володіє всі властивостями об’єкта, однак являється типом значення.
Andrey Gladky [email protected]
17
Типи посиланьЗмінна 1
Змінна 3
Змінна 2Значення 1
Значення 2
Значення 3
Значення 4
Значення 5
Значення 6
Andrey Gladky [email protected]
18
Символьні типиТип даних char використовується для представлення
символьної інформації у форматі Unicode
Деякі корисні методи
Andrey Gladky [email protected]
20
Інші типи данихСеред вище перерахованих типів даних в .Net Framework передбачені такі типи як object i string.Тип даних string (.Net Class: System.String) представляєсобою колекцію Unicode символів.Клас String містить сукупність наступних статичних методів:• Compare – порівнює два рядки передані в якості аргументів;• CompareOrdinal -- порівнює два рядки передані в якості аргументів з урахуванням регістру;• Concat – повертає результат об’єднання масиву рядків;• Copy – створює новий екземпляр рядка;• Equals – порівнює значення двох рядків;• IsNullOrEmpty -- визначає являється рядок пустим або
еквівалентним Null.Andrey Gladky [email protected]
21
Нестандартні методи• Clone – повертає посилання на новий екземпляр рядка;• Contains – визначає чи містить поточний рядок вказанев параметрах значення;• CopyTo – копіює поточний рядок у вказаний масив
символів; • EndsWith – визначає чи закінчується поточний рядок
вказаним значенням;• Insert – вставляє під рядок у вказану позицію в поточнийрядок;• Remove – видаляє з поточного рядка всі входження
вказаного під рядка;• Replace – замінює вказаний під рядок новим під рядком;• Split – ділить рядок на масив рядків, основуючись на
переданому масиві розділювачів(сепароторів);Andrey Gladky [email protected]
22
• StartsWith – визначає чи починається поточний рядок з вказаного під рядка;
• Substring – повертає вказаний під рядок поточного рядка;• ToLower – переводить поточний рядок в нижній регістр;• ToUpper – переводить рядок в верхній регістр;• Trim – видаляє пробільні символи з обох боків;• TrimEnd – видаляє пробіли в кінці рядка;• TrimStart – видаляє пробіли на початку рядка
Andrey Gladky [email protected]
23
Тип objectТип даних object (.NET Class: System.Object)
являється базовим для всіх типів даних і має 5 методів:
• ToString ;• GetType;• Equals;• ReferenceEquals;• GetHashCode.
Andrey Gladky [email protected]
25
Операції над зміннимиПрисвоєння (=)Арифметичні операції (+, -, *, /)• Комбіновані (+=, -=, *=, /=)
Логічні операції
Andrey Gladky [email protected]
26
Логічні операціїОперація Опис
|| Логічне “або”. Повертає true , якщо хоча б один із операндів дорівнює true.
&& Логічне “і”. Повертає true лише тоді, коли всі операнди дорівнюють true, інакше повертає false
== Операція порівняння на рівність. Порівнює дві змінні одного типу і повертає true, якщо вони рівні.
!= Операція порівняння на нерівність. Порівнює дві змінні одного типу і повертає true, якщо вони нерівні.
> Операція порівняння “більше”. Порівнює дві змінні одного типу і повертає true, якщо ліва більша правої.
< Операція порівняння “менше”. Порівнює дві змінні одного типу і повертає true, якщо ліва менша правої.
>= Операція порівняння “більше дорівнює”. Порівнює дві змінні одного типу і повертає true, якщо ліва більша або рівна правій.
<= Операція порівняння “менше дорівнює”. Порівнює дві змінні одного типу і повертає true, якщо ліва менша або рівна правій.
Andrey Gladky [email protected]
27
Приведення типів Автоматичне (не явне) приведення типів відбувається при
наступних умовах: два типи сумісні діапазон представлення чисел цільового типу більший, ніж у вихідного типу
Явне приведення не сумісних типів
Роль класу System.Convert()
Andrey Gladky [email protected]
(цільовий_тип) вираз
byte sum = Convert.ToByte(var1 + var2)
32
Літерали в C#Літерали – це фіксовані значення, які представленні
в зрозумілій формі. Всі літерали мають мати тип.
Для явної специфікацій типу даних, літералу в С# передбачені спеціальні суфікси:
об’явлення з суфіксом “L” буде мати тип long; з суфіксом “F” буде мати тип float; з суфіксом “D” буде мати тип double; з суфіксом “M” буде мати тип decimal; суфікс “U” робить число без знаковим.
Andrey Gladky [email protected]
34
Літерали як керуючі символиВикористовується для форматування тексту
Andrey Gladky [email protected]
Літерал Дія\a Звуковий сигнал
\b Повернення на одну позицію
\f Перехід на початок наступної сторінки
\n Новий рядок
\r Повернення каретки
\t Горизонтальна табуляція
\v Вертикальна табуляція
\0 Нуль-символ (символ кінця рядка)
\’ Одинарні лапки
\” Подвійні лапки
\\ Зворотній слеш
35
Умовні операториВиконують або одну або іншу дію, в залежності від
умовиВиди• if-else• switch
Andrey Gladky [email protected]
36
if-elseСинтаксис
Andrey Gladky [email protected]
С# Сенсif (умова){ [вираз 1]}else{ [вираз 2]}
якщо (умова){ умова істина}інакше{ умова хибна}
37
if-elseПочинається з ifУмова в дужкахУмова рівна true – виконуємо блок ifУмова рівна false – виконуємо блок elseДекілька дій заключають в {i}
Andrey Gladky [email protected]
38
switchСинтаксис:
Andrey Gladky [email protected]
С# Сенсswitch (умова){ case [варіант 1]: [вираз 1] break;
case [варіант 2]: case [варіант 3]: [вираз 2] break;
default: [вираз 3] break; }
вибрати (умова) з{ значення [варіант 1]: [вираз 1] стоп;
значення [варіант 2]: значення [варіант 3]: [вираз 2] стоп;
[нічого з попереднього]: [вираз 3] стоп; }
39
switchПочинається з switchУмова в дужках (і) – будь яка зміннаВаріанти починаються з caseМожна об’єднати варіантиПісля кожного варіанту – brakeДія за замовчуванням – default
Andrey Gladky [email protected]
40
ЦиклиВикористовуються для циклічного повторення
послідовності дійВиди:• for• foreach• while
Andrey Gladky [email protected]
41
Цикл for
Andrey Gladky [email protected]
[операція 1] – 1 раз на початку [умова] – перевірка значення лічильника [тіло циклу] – виконується n-раз поки умова циклу
істина [операція 2] – після кожної ітерації циклуcontinue – для переривання і продовженняbreak – для дострокового виходу з циклуЗастерігайтесь зациклювання
for ([операція 1]; [умова]; [операція 2]){ [тіло циклу]}
42
Цикл foreach
Цикл foreach служить для циклічного звернення до елементів колекції, що представляє собою групу об’єктів.
Andrey Gladky [email protected]
foreach (тип ім’я_змінної_цикла in колекція){ [тіло циклу]}
43
Цикл while
Виконується поки умова істина
Виконається хоча б один раз
Andrey Gladky [email protected]
while (умова){ [вираз тіла циклу]}
do{ [вираз тіла циклу] }while (умова);
44
Класи і об’єктиООП – основа .Net FrameworkОб’єкт екземпляр класуВесь функціонал програми – класи і об’єктиКлас:• Методи• Властивості• Події
Рівні видимості:• public• protected• private
Andrey Gladky [email protected]
45
Простір іменСукупність класівЗручні для групуванняВикористовуйте using для підключення просторів
іменОснова – System
Andrey Gladky [email protected]
46
Завдання Розробити консольний додаток:
◦ Запитати ім’я користувача і пароль (зберегти у відповідних змінних)
◦ Для чотирьох місяців ввести прибуток компанії (місяць - дохід)
◦ Посортувати рахунки по зростанню
◦ Ще раз запитати ім’я користувача і пароль
◦ Якщо введені дані вірні, вивести на консоль сортований список доходів відповідно до місяця
◦ По завершенню вивести середнє значення доходуAndrey Gladky [email protected]