Se for um exercício - que geralmente possuem restrições artificiais como “não pode” ou “deve” usar X - então pode ser que “exijam” que se use o operador % dentro do for.
Mas na verdade você pode fazer o seguinte: ajustar o valor inicial para garantir que ele seja um número par, e depois fazer o for de 2 em 2:
int pares = 0;
int inicio = 1, fim = 50;
// se início é ímpar, ajusta para o próximo número par
if (inicio % 2 != 0) {
inicio++;
}
// aqui eu tenho certeza que inicio é par, então posso fazer o loop de 2 em 2
for (int i = inicio; i <= fim; i += 2) {
pares++;
}
System.out.println("A quantidade de números pares é: " + pares);
Ou seja, eu só faço o if usando o % uma única vez antes do for. Depois, como agora eu tenho certeza que inicio é par, eu posso fazer o for de 2 em 2 (assim eu não preciso testar vários números durante o for, e no final eu faço metade das iterações).
Se bem que não precisa de um loop, basta um cálculo simples:
int inicio = 1, fim = 50;
// se início é ímpar, ajusta para o próximo número par
if (inicio % 2 != 0) {
inicio++;
}
// se fim é ímpar, ajusta para o número par anterior
if (fim % 2 != 0) {
fim--;
}
int pares = ((fim - inicio) / 2) + 1;
System.out.println("A quantidade de números pares é: " + pares);
Ou seja, primeiro eu ajusto os valores inicial e final para serem números pares (o início eu ajusto para o próximo, e o final eu ajusto para o anterior). Depois basta fazer uma conta simples para saber a quantidade.