0Pricing
C# Academy · Урок

Операторы и выражения: арифметические, сравнительные, логические

Работайте с арифметическими операторами (+, -, *, /, %), сравнениями (==, !=, , =) и логическими операторами (&&, ||, !). Изучите приоритет и вычисление по короткому замыканию.

«Операторы и выражения: арифметические, сравнительные, логические» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 3 уроков всего.

Карта операторов

Цель: использовать арифметические, сравнительные и логические операторы для построения понятных выражений.

  • Выполняйте вычисления с помощью + - * / %
  • Сравнивайте значения
  • Объединяйте проверки с помощью && и ||

Основы арифметики

Арифметика: деление / целых чисел усекает результат; для дробных результатов используйте тип double.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int a = 9;
    int b = 4;
    Console.WriteLine("a + b = " + (a + b));
    Console.WriteLine("a - b = " + (a - b));
    Console.WriteLine("a * b = " + (a * b));
    Console.WriteLine("a / b = " + (a / b)); // integer division
    Console.WriteLine("a % b = " + (a % b)); // remainder
  }
}

Основы сравнений

Операторы сравнения возвращают результаты типа bool, которые можно объединять логическими операторами.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int x = 5;
    int y = 7;
    Console.WriteLine("x == y: " + (x == y));
    Console.WriteLine("x != y: " + (x != y));
    Console.WriteLine("x < y:  " + (x < y));
    Console.WriteLine("x <= y: " + (x <= y));
    Console.WriteLine("x > y:  " + (x > y));
    Console.WriteLine("x >= y: " + (x >= y));
  }
}

Логические операторы

Сокращённое вычисление: && останавливается, если левый операнд равен false, а || — если левый операнд равен true. Это помогает избежать ненужной работы.

using System;

public class Program
{
  static bool ExpensiveCheck()
  {
    Console.WriteLine("ExpensiveCheck ran");
    return true;
  }

  public static void Main(string[] args)
  {
    bool ok = false;
    // && short-circuits when the left is false
    if (ok && ExpensiveCheck())
    {
      Console.WriteLine("Both true");
    }
    else
    {
      Console.WriteLine("Left was false, skipped right");
    }

    bool isAdmin = true;
    bool hasTicket = false;

    // || short-circuits when the left is true
    if (isAdmin || hasTicket)
    {
      Console.WriteLine("Allowed");
    }

    // Negation
    Console.WriteLine("!hasTicket = " + (!hasTicket));
  }
}

Приоритет и ()

Приоритет влияет на результаты; добавляйте скобки, чтобы явно выразить замысел и избежать ошибок.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int n = 10;
    int m = 3;
    bool r1 = n - m * 2 == 4;        // * before -
    bool r2 = (n - m) * 2 == 14;     // grouped
    Console.WriteLine("r1 = " + r1);
    Console.WriteLine("r2 = " + r2);

    // Logical precedence: && before ||, but use () for clarity
    bool a = true, b = false, c = true;
    bool r3 = a || b && c;           // b&&c first → true
    bool r4 = (a || b) && c;         // grouped → true
    Console.WriteLine("r3 = " + r3);
    Console.WriteLine("r4 = " + r4);
  }
}

Ошибки, которых следует избегать

Избегайте неожиданностей: для дробных результатов приводите значения к типу double; используйте сокращённое вычисление, чтобы пропускать затратные вызовы.

using System;

public class Program
{
  static int Counter = 0;

  static int Next()
  {
    Counter = Counter + 1;
    return Counter;
  }

  public static void Main(string[] args)
  {
    // Integer division pitfall
    int a = 1, b = 2;
    Console.WriteLine("1/2 int = " + (a / b)); // 0
    Console.WriteLine("1/2 double = " + (a / 2.0)); // 0.5

    // Side effects: function called only if needed
    bool cond = false;
    if (cond && Next() > 0)
    {
      Console.WriteLine("Will not run");
    }
    Console.WriteLine("Counter = " + Counter); // 0 because Next() skipped
  }
}

Поведение сокращённого вычисления

Проверка: какое утверждение об операторах && и || верно?

Итоги

Итоги: используйте арифметику для вычислений, сравнения для принятия решений, а логические операторы — для объединения проверок. Для ясности предпочитайте скобки и разумно используйте сокращённое вычисление.

Часто задаваемые вопросы

Урок «Операторы и выражения: арифметические, сравнительные, логические» бесплатный?

Да — полный текст урока «Операторы и выражения: арифметические, сравнительные, логические» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 3 уроков всего.

Чему я научусь в уроке «Операторы и выражения: арифметические, сравнительные, логические»?

Работайте с арифметическими операторами (+, -, *, /, %), сравнениями (==, !=, , =) и логическими операторами (&&, ||, !). Изучите приоритет и вычисление по короткому замыканию. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать C# Academy?

Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.

Сколько времени занимает урок «Операторы и выражения: арифметические, сравнительные, логические»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке C# Academy?

Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Значения и ссылки; литералы; вывод типов var; const и readonly
  2. Операторы и выражения: арифметические, сравнительные, логические
  3. Суффиксы на практике; приведение и преобразование; создание объектов в C# 6
← Назад к C# Academy