&& (E lógico)
condicaoA && condicaoB
Quando você precisa que duas coisas ao mesmo tempo sejam verdadeiras pra tomar uma decisão, o && é o operador certo. Ele junta duas comparações e só entrega true se as duas passarem — se qualquer uma falhar, o resultado é false.
Sintaxe
condicaoA && condicaoB
Parâmetros
- condicaoA: a primeira expressão booleana (ex.:
temperatura > 30). - condicaoB: a segunda expressão booleana (ex.:
botao == HIGH).
Retorno
Um valor booleano (bool): true só quando as duas condições forem verdadeiras; caso contrário, false.
Exemplo
int sensor = A0;
int botao = 2;
void setup() {
pinMode(botao, INPUT_PULLUP);
pinMode(13, OUTPUT);
}
void loop() {
int luz = analogRead(sensor);
// Acende só se estiver escuro E o botão estiver pressionado
if (luz < 300 && digitalRead(botao) == LOW) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
}
Notas e cuidados
- Não confunda
&&(E lógico, entre condições) com&(E bit a bit, entre os bits de um número) — trocar um pelo outro muda totalmente o resultado. - O
&&tem avaliação em curto-circuito: secondicaoAjá forfalse, o Arduino nem chega a testarcondicaoB. - Cada comparação precisa ser completa: escreva
x > 0 && x < 10, e não0 < x < 10(isso compila mas não faz o que você imagina).