C# - Операторы: Врата в магию программирования
Привет, будущие кодовые маги! Сегодня мы окунемся в奇妙ный мир операторов C#. Не беспокойтесь, если вы еще ни разу не писали ни строчки кода – к концу этого учебника вы будете жонглировать операторами, как профи!
Что такое операторы?
Прежде чем мы углубимся, давайте поймем, что такое операторы. Представьте операторы как магические палочки программирования. Они позволяют нам выполнять действия с нашими данными, точно так же, как шеф-повар использует разные инструменты, чтобы приготовить вкусное блюдо. В C# у нас есть различные типы операторов, которые помогают нам манипулировать нашими ингредиентами (данными) для создания потрясающих рецептов (программ)!
Арифметические операторы: Основы магии математики
Давайте начнем с самых простых операторов – арифметических операторов. Это как базовые заклинания, которые каждый маг изучает в первую очередь.
Сложение (+)
int apples = 5;
int oranges = 3;
int totalFruit = apples + oranges;
Console.WriteLine($"Total fruit: {totalFruit}");
Результат: Total fruit: 8
Здесь мы складываем яблоки и апельсины (что говорят, что делать не следует, но в C# мы бунтари!). Оператор +
складывает значения apples
и oranges
, сохраняя результат в totalFruit
.
Вычитание (-)
int cookies = 10;
int eaten = 3;
int remaining = cookies - eaten;
Console.WriteLine($"Cookies left: {remaining}");
Результат: Cookies left: 7
Оператор -
вычитает eaten
из cookies
. Это как магия –cookies исчезают!
Умножение (*)
int students = 5;
int pencilsPerStudent = 2;
int totalPencils = students * pencilsPerStudent;
Console.WriteLine($"Total pencils needed: {totalPencils}");
Результат: Total pencils needed: 10
Оператор *
умножает students
на pencilsPerStudent
. Это идеально, когда вам нужно быстро посчитать, сколько карандашей купить для вашего класса!
Деление (/)
int pizza = 8;
int friends = 3;
int slicesPerFriend = pizza / friends;
Console.WriteLine($"Slices per friend: {slicesPerFriend}");
Результат: Slices per friend: 2
Оператор /
делит pizza
на friends
. Обратите внимание, что мы получаем 2, а не 2.67. Потому что при делении целых чисел, C# отбрасывает десятичную часть. Это как если бы компьютер был скуп на кусочки пиццы!
Остаток (%)
int pizza = 8;
int friends = 3;
int leftoverSlices = pizza % friends;
Console.WriteLine($"Leftover slices: {leftoverSlices}");
Результат: Leftover slices: 2
Оператор %
дает нам остаток после деления. Это идеально, чтобы понять, сколько кусочков пиццы вы получите после того, как поделили их с друзьями!
Реляционные операторы: Мастера сравнения
Теперь перейдем к реляционным операторам. Эти операторы как судьи на кулинарном шоу – они сравнивают вещи и дают нам да или нет.
Равно (=)
int myAge = 25;
int yourAge = 25;
bool sameAge = (myAge == yourAge);
Console.WriteLine($"Are we the same age? {sameAge}");
Результат: Are we the same age? True
Оператор ==
проверяет, равны ли два значения. Это как спросить: "Эти две вещи Exactly такие же?"
Не равно (!=)
string myFavoriteColor = "Blue";
string yourFavoriteColor = "Red";
bool differentFavorites = (myFavoriteColor != yourFavoriteColor);
Console.WriteLine($"Do we have different favorite colors? {differentFavorites}");
Результат: Do we have different favorite colors? True
Оператор !=
проверяет, не равны ли два значения. Это как спросить: "Эти две вещи разные?"
Больше (> и <) и Меньше (> и <)
int myScore = 85;
int passingScore = 70;
bool passed = (myScore > passingScore);
Console.WriteLine($"Did I pass? {passed}");
Результат: Did I pass? True
Оператор >
проверяет, больше ли левое значение, чем правое. Точно так же <
проверяет, меньше ли левое значение, чем правое.
Больше или равно (>=) и Меньше или равно (<=)
int myHeight = 180;
int doorHeight = 180;
bool canIPass = (myHeight <= doorHeight);
Console.WriteLine($"Can I pass through the door? {canIPass}");
Результат: Can I pass through the door? True
Эти операторы проверяют, больше ли или равно (или меньше или равно) одно значение другому.
Логические операторы: Мастера решений
Логические операторы как мудрые старики нашего programming village. Они помогают нам принимать сложные решения, комбинируя разные условия.
AND (&&)
bool hasMoney = true;
bool isHungry = true;
bool willBuyFood = hasMoney && isHungry;
Console.WriteLine($"Will I buy food? {willBuyFood}");
Результат: Will I buy food? True
Оператор &&
возвращает true только если оба условия истинны. Это как сказать: "Я куплю еду, только если у меня есть деньги И я голоден."
OR (||)
bool isRaining = false;
bool isCold = true;
bool willStayInside = isRaining || isCold;
Console.WriteLine($"Will I stay inside? {willStayInside}");
Результат: Will I stay inside? True
Оператор ||
возвращает true, если хотя бы одно условие истинно. Это как сказать: "Я останусь дома, если идет дождь ИЛИ если холодно."
NOT (!)
bool isSunny = true;
bool isNotSunny = !isSunny;
Console.WriteLine($"Is it not sunny? {isNotSunny}");
Результат: Is it not sunny? False
Оператор !
переворачивает布尔ское значение. Это как сказать: "Если это солнечно, то это не не солнечно!"
Битовые операторы: Двоичные друзья
Битовые операторы работают с отдельными битами чисел. Они как微观 шеф-повара программного мира, работающие на самом мельчайшем уровне наших данных.
Битовый AND (&)
int a = 5; // 101 в двоичной системе
int b = 3; // 011 в двоичной системе
int result = a & b;
Console.WriteLine($"Result of 5 & 3: {result}");
Результат: Result of 5 & 3: 1
Оператор &
выполняет операцию AND на каждой паре битов. Это как спросить: "Оба эти бита равны 1?"
Битовый OR (|)
int a = 5; // 101 в двоичной системе
int b = 3; // 011 в двоичной системе
int result = a | b;
Console.WriteLine($"Result of 5 | 3: {result}");
Результат: Result of 5 | 3: 7
Оператор |
выполняет операцию OR на каждой паре битов. Это как спросить: "Хотя бы один из этих битов равен 1?"
Операторы присваивания: Перевозчики ценностей
Операторы присваивания как movers программного мира. Они помогают нам поместить значения в переменные.
Простое присваивание (=)
int x = 10;
Console.WriteLine($"x is now: {x}");
Результат: x is now: 10
Оператор =
просто присваивает значение переменной.
Сложное присваивание (+=, -=, *=, /=)
int score = 100;
score += 50; // Точно так же: score = score + 50
Console.WriteLine($"New score: {score}");
Результат: New score: 150
Сложные операторы присваивания комбинируют арифметическую операцию с присваиванием. Это как сокращение в программировании.
Разнообразные операторы: Специальные
Эти операторы как уникальные инструменты на кухне шеф-повара – они имеют специфические, важные задачи.
Условный оператор (?:)
int age = 20;
string status = (age >= 18) ? "Adult" : "Minor";
Console.WriteLine($"Status: {status}");
Результат: Status: Adult
Условный оператор – это краткая форма оператора if-else. Это как задать вопрос и предоставить два возможных ответа.
Приоритетность операторов в C
Как и в математике, C# следует определенному порядку при вычислении выражений с несколькими операторами. Вот упрощенная таблица приоритетности операторов:
Приоритет | Категория операторов | Операторы |
---|---|---|
Highest | Скобки | () |
Арифметические | *, /, % | |
Арифметические | +, - | |
Реляционные | <, >, <=, >= | |
Равенство | ==, != | |
Логическое AND | && | |
Логическое OR | || | |
Lowest | Присваивание | =, +=, -= |
Помните, если у вас есть сомнения, используйте скобки, чтобы сделать свои намерения ясными!
И вот оно, мои年轻的 кодовые подмастерья! Вы только что были представлены магическому миру операторов C#. Помните, что практика делает perfect, так что не бойтесь экспериментировать с этими операторами в своем коде. Before you know it, вы будете casts заклинания... то есть, писать программы, как настоящий кодовый маг!
Счастливого кодирования и пусть операторы будут с вами!
Credits: Image by storyset