Bom dia, Michelle! Tudo bem?
Os operadores || e && são operadores lógicos. Eles servem para testar se duas ou mais expressões são verdadeiras ou não.
O operador ||, que você usou, é conhecido como "OR" (ou), ele retorna verdadeiro se pelo menos UMA das expressões fornecidas for verdadeira. Já se você usar o operador &&, conhecido com "AND" (e), vai retornar verdadeiro apenas se as duas forem verdadeiras.
Nesse exercício, faz totalmente sentido usar o || como você fez, pois assim ele vai pular a contagem se chegar no 33 ou no 37, se usasse o && ele só iria pular se fosse a variável contagem fosse 33 e 37 ao mesmo tempo (o que não da pra acontecer). Pode testar trocando pra ver o que acontece no código =)
O uso dos dois depende da situação, vou deixar uma tabelinha de demonstração pra ficar mais claro:
Operador &&, aplicando A && B
Só vai retornar verdadeiro (e fazer o que tem dentro da condição) se as duas expressões forem verdadeiras.
Exemplo realístico, sem ser da programação: hoje vou responder o fórum e ouvir musica. É uma constatação verdadeira, estou fazendo as duas coisas ao mesmo tempo.
A | B | A e B |
---|
verdadeiro | verdadeiro | verdadeiro |
verdadeiro | falso | falso |
falso | verdadeiro | falso |
falso | falso | falso |
Operador ||, aplicando A || B
Só vai retornar verdadeiro (e fazer o que tem dentro da condição) se alguma das expressões retornarem verdadeiras.
Exemplo realístico, sem ser da programação: hoje vou estudar front-end ou back-end. É uma constatação verdadeira, mesmo se eu estude apenas um deles ou os dois, pois não me comprometi a estudar ambos na frase.
A | B | A ou B |
---|
verdadeiro | verdadeiro | verdadeiro |
verdadeiro | falso | verdadeiro |
falso | verdadeiro | verdadeiro |
falso | falso | falso |
Espero que tenha ajudado a ficar mais claro sobre esses operadores lógicos =)
Qualquer coisa, pode nos chamar! Bons estudos!