Главная страница » C# » 9.Приоритет операций
Приоритет операций в C# определяет порядок выполнения операторов в сложных выражениях. Если в выражении несколько операторов, они выполняются в соответствии с их приоритетом. Операторы с более высоким приоритетом выполняются раньше, чем операторы с более низким.
Если необходимо изменить порядок выполнения операций, используются скобки (), которые имеют наивысший приоритет.
| Приоритет | Операторы | Описание | Ассоциативность | 
|---|---|---|---|
| 1 (высокий) | () | Скобки | — | 
| 2 | ++--!~ | Инкремент, декремент, логическое «НЕ», побитовый «НЕ» | справа налево | 
| 3 | */% | Умножение, деление, остаток от деления | слева направо | 
| 4 | +- | Сложение, вычитание | слева направо | 
| 5 | <<>> | Побитовый сдвиг влево и вправо | слева направо | 
| 6 | <<=>>= | Сравнение (меньше, больше) | слева направо | 
| 7 | ==!= | Равенство и неравенство | слева направо | 
| 8 | & | Побитовое «И» | слева направо | 
| 9 | ^ | Побитовое «Исключающее ИЛИ» | слева направо | 
| 10 | ` | ` | Побитовое «ИЛИ» | 
| 11 | && | Логическое «И» | слева направо | 
| 12 | ` | ` | |
| 13 | ?: | Тернарный оператор | справа налево | 
| 14 (низкий) | `= += -= *= /= %= &= ^= | = <<= >>=` | Операторы присваивания | 
📌 Чем выше приоритет, тем раньше выполняется оператор.
📌 Если операторы имеют одинаковый приоритет, выполняется тот, который стоит левее (если ассоциативность «слева направо») или правее (если «справа налево»).
				
					int result = 10 + 5 * 2; 
Console.WriteLine(result); // 10 + (5 * 2) = 10 + 10 = 20
 
				
			
		✅ Умножение (*) имеет более высокий приоритет, чем сложение (+), поэтому выполняется первым.
				
					int result = (10 + 5) * 2; 
Console.WriteLine(result); // (10 + 5) * 2 = 15 * 2 = 30
 
				
			
		✅ Скобки () имеют высший приоритет и заставляют сложение выполняться первым.
				
					bool result = true || false && false;
Console.WriteLine(result); // true
 
				
			
		✅ Оператор && имеет более высокий приоритет, чем ||, поэтому сначала вычисляется false && false (что дает false), а затем true || false (что дает true).
				
					int result = 5 | 3 & 1;
Console.WriteLine(result); // 5 | (3 & 1) → 5 | 1 → 5
 
				
			
		&) имеет более высокий приоритет, чем «ИЛИ» (|).В сложных выражениях можно использовать скобки, чтобы избежать ошибок и сделать код более читаемым.
				
					int result = 10 + 5 * 2 - 3 / 2;
 
				
			
		Код сложен для понимания, так как операторы выполняются в разном порядке.
				
					int result = ((10 + 5) * 2) - (3 / 2);
 
				
			
		Приоритет операций в C# определяет порядок выполнения операторов в выражениях. Чтобы избежать ошибок:
✔ Запоминайте приоритет операторов (умножение и деление выполняются перед сложением и вычитанием).
✔ Используйте скобки () для явного управления порядком вычислений.
✔ Следите за логикой выполнения логических и побитовых операций.
Чем лучше вы понимаете приоритет операций, тем чище и понятнее будет ваш код! 🚀
Какой результат выведет следующий код?
				
					int result = 5 + 3 * 2 - 8 / 4;
Console.WriteLine(result);
 
				
			
		📌 Подсказка: Следуйте таблице приоритета.
Исправьте код так, чтобы сначала выполнялось сложение 5 + 3, а затем умножение.
				
					int result = 5 + 3 * 2;
Console.WriteLine(result);
 
				
			
		
				
					int result = (5 + 3) * 2;
Console.WriteLine(result); // 16
 
				
			
		Попробуйте написать и запустить этот код, чтобы убедиться в правильности выполнения операций и особенностях работы с числами с плавающей точкой.
Телефон: +375 33 910-08-92 
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
 
													Язык сайта: