Содержание
- 2. План лекции Переменные программы Операции Выражения Операторы
- 3. Основные понятия Программа это множество типов. Типы - встроенные базовые типы и пользовательские типы (описанные программистами):
- 4. Логика рассмотрения языка C# 1. Переменные и константы. 2. Типы переменных и констант. 3. Операции над
- 5. 1. Переменные и типы
- 6. Переменные программы Переменные – это именованные участки памяти, которые могут хранить: значения некоторого типа (для значащих
- 7. Виды переменных по области видимости Уровня класса (статические переменные класса) Доступ с помощью имени класса Время
- 8. Объявление переменных Прежде, чем переменная может быть использована, она должна быть объявлена. Объявление переменных можно делать
- 9. Константы В C# константы могут задаваться в виде литералов (набора символов) или именованных констант. Например: y
- 10. Строковые константы Под строковыми константами понимается последовательность символов заключенных в двойные кавычки. Например: “Петров С.А.” В
- 11. Строковые константы Часто при задании констант, определяющих путь к файлу, приходится каждый раз удваивать символ обратной
- 12. Время жизни переменных Переменные появляются (рождаются) не статические переменные методов появляются в результате их объявления. переменные
- 13. Области видимости переменных Область видимости переменной (variable scope) это участок программы, в котором переменную можно использовать.
- 14. Тип данных Язык C# является строго типизированным языком. Это означает, что все данные (константы и переменные)
- 15. Зачем нужны типы данных? Чтобы гарантировать осмысленность выполняемых операций:
- 16. Основные понятия Программа это набор типов P = {T1, T2, …, Tn} Тип задает: Количество памяти
- 17. Основные сведения о типах Все элементы программы имеют тип (переменные, константы, выражения, методы, параметры методов, и
- 18. Система типов данных на языке C# Все типы языка C# можно разделить на две большие группы:
- 19. Пользовательские типы Пользовательские типы создаются с помощью объявлений типов, которые включают следующую информацию: вид создаваемого типа
- 20. Основные виды типов Значащие типы создаются в стеке автоматически уничтожаются Ссылочные типы создаются в 2 шага
- 21. Структура типов языка C#
- 22. Хранение данных программы Данные используемые программой (переменные, константы) могут храниться в в двух типах оперативной памяти:
- 23. Стек (stack) Стек – это линейный участок памяти (массив), который действует как структура данных типа «Последним
- 24. Куча (heap) Куча (heap) – это область оперативной памяти, в разных частях которой по запросу программы,
- 25. Различие между значащими и ссылочными типами int v = 123; string s; s = “Hello World!”;
- 26. Память программы - стек и куча Стек (Stack) Куча (heap, free memory) Указатель вершины стека (Stack
- 27. Системные типы данных CLR В .Net Framework есть общие для всех языков, системные встроенные типы. Общая
- 28. Соответствие встроенных типов и системных типов Единая система типов Язык C# int float string Язык Visual
- 29. Типы определенные в CLR Object ValueType Boolean Byte Char Decimal Double Int16 Int32 Single Int64 UInt16
- 30. Наследование типов в CLR Object String Array ValueType Exception Delegate Class1 Class2 Class3 Multicast Delegate Structure1
- 31. Методы класса System.Object Equals() - виртуальный метод, возвращающий true если значения объектов совпадают (по умолчанию, если
- 32. Классы-потомки при создании наследует все свойства и методы родительского класса Object. Естественно, что все встроенные типы
- 33. Встроенные типы
- 34. Встроенные типы (продолжение)
- 35. Тип данных bool Соответствует системному типу System.Boolean Mожет хранить только значения констант true и false (булевые
- 36. Тип данных decimal 128-битный тип данных; имеет большую точность и меньший диапазон значений чем типы с
- 37. Не определенный тип - var Для переменной можно задать неопределенный тип (var) и присвоит некоторое значение.
- 38. Тип константам (литералам) для задания типа Тип целой константы определяется ее значением (количеством цифр). Константы с
- 39. Nullable типы данных Nullable типы данных это такие значащие типы данных, которые кроме обычных значений могут
- 40. Свойства Nullable типов bool HasValue – есть ли значение у переменной. Value – значение переменной (если
- 41. Использование nullable типов данных static void Main(string[] args) { Console.WriteLine("***** Работа с Nullable Data *****\n"); DatabaseReader
- 42. Зачем нужны типы данных? Чтобы гарантировать осмысленность выполняемых операций:
- 43. Тип результата операции Тип результата операции зависит от типов участвующих в операции операндов. Типом арифметической операции
- 44. Тип результата операции (2) Типом результата операции присваивания является тип левого операнда (переменной, которой присваивается значение).
- 45. Преобразование типов Неявное преобразование (implicit conversion) – выполняется автоматически. Явное преобразование (explicit conversion) – выполняется по
- 46. Неявное преобразование типов (implicit conversion) К неявным относятся преобразования, результат выполнения которых всегда успешен и не
- 47. Явное преобразование типов (explicit conversion) К явным относятся разрешенные преобразования, выполнение которых не гарантируется или может
- 48. Неявное и явное преобразование // Error: no conversion from int to short int x=5, y=6; short
- 49. Неявное преобразование типов на языке Java char c='X'; int code=c; System.out.println(code); Ответ: 88 (ASCII code of
- 50. Схема неявного приведение встроенных типов ulong long uint int ushort short byte sbyte float double decimal
- 51. Схема неявного приведение встроенных типов (упрощенная) long int short float double decimal char byte
- 52. Схема неявного приведение встроенных типов (упрощенная) long int short float double decimal char byte byte ->
- 53. Применение диаграммы Если на диаграмме задан путь (стрелками) от типа А к типу В, то это
- 54. Пример приведения встроенных типов bool c1 = true; int d = c1; // Error! Cannot implicitly
- 55. Явное преобразование типа Для указания явного преобразования типов используется операция приведения к типу (кастинг), которая имеет
- 56. Явное преобразование типа Существуют явные преобразования внутри арифметического типа, Не существует, например, явного преобразования арифметического типа
- 57. Преобразование типов с помощью класса Convert Преобразование типа с помощью методов класса System.Convert. Класс Convert содержит
- 58. Пример явного преобразования типов с помощью класса Convert Преобразование вещественного к целому типу выполняется с округлением
- 59. Пример преобразования типов System.Single f = 0.5F; float b = f; int a; a = (int)f;
- 60. Преобразование типов из строк с помощью метода Parse() У всех типов есть статический метод Parse(), который
- 61. Операция присваивания В C# присваивание является операцией, которая может использоваться в выражениях. В выражении, называемом множественным
- 62. Присваивание переменной стоящей слева (тип T) значения переменной или результата вычисления выражения (типа T1) возможно, если:
- 63. Специальные варианты присваивания В языке C# для двух частных случаев присваивания предложен специальный синтаксис: для присваиваний
- 64. Типы (встроенные, пользовательские – классы, структуры, интерфейсы). Операции Выражения Преобразование типов
- 65. 2. Операции
- 66. Операции Переменные и константы могут участвовать (объединяться) с помощью операций. Операция – это термин или символ,
- 67. Базовые операции
- 68. Унарные операции
- 69. Бинарные операции
- 70. Бинарные операции (продолжение)
- 71. Логические и условные операции
- 72. Приоритеты операций языка C#
- 73. Пояснение приоритета операций Вычисление выражений начинается с выполнения операций высшего приоритета. Например: первым делом вычисляются выражения
- 74. Тип результата операции Тип результата операции зависит от типов участвующих в операции операндов. Типом арифметической операции
- 75. Преобразование типов Неявное преобразование (implicit conversion) К неявным относятся те преобразования, результат выполнения которых всегда успешен
- 76. Неявное и явное преобразование // Error: no conversion from int to short int x=5, y=6; short
- 77. Неявное преобразование типов на языке Java char c='X'; int code=c; System.out.println(code); Ответ: 88 (ASCII code of
- 78. Схема неявного приведение встроенных типов ulong long uint int ushort short byte sbyte float double decimal
- 79. Схема неявного приведение встроенных типов (упрощенная) long int short float double decimal char byte
- 80. Применение диаграммы Если на диаграмме задан путь (стрелками) от типа А к типу В, то это
- 81. Пример приведения встроенных типов bool c1 = true; int d = c1; // Error! Cannot implicitly
- 82. Явное преобразование типа Для указания явного преобразования типов используется операция приведения к типу (кастинг), которая имеет
- 83. Преобразование типов с помощью класса Convert Можно задать явным образом требуемое преобразование, используя специальные методы преобразования,
- 84. Пример преобразования типов System.Single f = 0.5F; float b = f; int a; a = (int)f;
- 85. Преобразование типов из строк с помощью метода Parse() У всех типов есть статический метод Parse(), который
- 86. Операция присваивания В C# присваивание является операцией, которая может использоваться в выражениях. В выражении, называемом множественным
- 87. Специальные варианты присваивания В языке C# для двух частных случаев присваивания предложен специальный синтаксис. Для присваиваний
- 88. Арифметические операции В языке C# имеются обычные для всех языков арифметические операции – "+, -, *,
- 89. Пример вычислений с различными арифметическими типами public void Sample() { int n = 7, m =3,
- 90. Операции инкрементации и декрементации Операции инкрементации (увеличение на единицу) и декрементации (уменьшение на единицу) могут быть
- 91. Операции отношения Операции отношения используются для сравнения значений переменных и констант. Всего имеется 6 операций отношения:
- 92. Логические операции В языке C# логические операции делятся на две категории: над логическими значениями операндов, над
- 93. Пример логических операций Рассмотрим пример: //операции отрицания ~,! bool b1,b2; b1 = 2*2==4; b2 =!b1; //
- 94. Бинарные логические операции Операции && и || определены только над данными типа bool: && – условное
- 95. Пример логических операций Например, рассмотрим задачу поиска элемента массива. Заданный элемент в массиве может быть, а
- 96. Побитовые операции Три бинарные побитовые операции: & – AND (если значения двух бит = 1, то
- 97. Таблицы истинности a и b типа bool: a и b типа int:
- 99. Скачать презентацию