Processing:Примеры/Приоритет операторов
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Описание[1]
Если вы не задали явно порядок, в котором должны выполняться операторы, они будут выполнены в соответствии с приоритетом операторов, заданным по умолчанию. К примеру, в выражении «4+2*8» сначала «2» будет умножено на «8», а затем к результату этого умножения будет добавлено «4». Так будет сделано, потому что оператор «*» имеет более высокий приоритет, чем оператор «+». Чтобы программа читалась понятнее, рекомендуем записывать такие выражения примерно так: «4+(2*8)», т.е. с добавлением круглых скобок.
Кроме того, при помощи круглых скобок можно управлять порядком выполнения операторов. Другими словами, если вписать в коде «(4+2)*8», то сначала «4» будет прибавлено к «2», а потом результат будет умножен на «8».
Приоритет операторов по умолчанию показан в начале скетча-примера ниже.
Пример
// ниже показан приоритет операторов по убыванию (сверху вниз):
// Умножение, деление, деление по модулю: * / %
// Сложение и вычитание: + -
// Сравнение: < > <= >=
// Равенство: == !=
// Логическое И: &&
// Логическое ИЛИ: ||
// Присвоение: = += -= *= /= %=
size(640, 360);
background(51);
noFill();
stroke(51);
stroke(204);
for(int i=0; i< width-20; i+= 4) {
// здесь «30» будет добавлено к «70»,
// а затем будет выполнено сравнение с текущим значением «i»;
// для ясности можно добавить скобочки –
// "if (i > (30 + 70)) {"
if (i > 30 + 70) {
line(i, 0, i, 50);
}
}
stroke(255);
// сначала «2» умножается на «8»
// а затем к результату будет добавлено «4»;
// для ясности можно добавить скобочки –
// "rect(5 + (2 * 8), 0, 90, 20);"
rect(4 + 2 * 8, 52, 290, 48);
rect((4 + 2) * 8, 100, 290, 49);
stroke(153);
for (int i = 0; i < width; i+= 2) {
// сначала будут выполнены операторы сравнения,
// потом логическое И, и наконец – логическое ИЛИ;
// чтобы код лучше читался, можно добавить скобочки:
// "if(((i > 20) && (i < 50)) || ((i > 100) && (i < width-20))) {"
if (i > 20 && i < 50 || i > 100 && i < width-20) {
line(i, 151, i, height-1);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |