A tua duvida é semelhante a de outro aqui do fórum, vou usar a mesma resposta que dei a ele, espero que te ajude a entender como a condição x < 0 é possivel ser verdadeira.
No inicio a variavel x tem o valor de 20 certo e a variavel sentido tem o valor de 1. Com esses valores voce entra no
if( x > 600)
ou seja 20 é maior que 600? não então ele vai para
else if (x < 0)
20 é menor que 0? também não então ele sai dai e vai para
desenhaCirculo(x, 20, 10);
x = x + sentido;
ele desenha o circulo e depois incrementa o valor de x
20 = 20 + 1;
agora o x vale 21 e ele retorna la para o primeiro if agora com o valor de 21, ele vai repetir isso até o valor dele ser 601 certo?
E ai ele vai perguntar de novo 601 é maior que 600? sim então agora o valor da variavel sentido passa a ser -1.
Ele continua para o else if, 601 é menor que 0? não então ele sai e desenha o circulo e faz o calculo
601 = 601 + -1
que da o valor de 600, agora você entra no primeiro if com o valor de x valendo 600 e o valor da variável sentido sendo -1.
600 é > 600? não então ele vai para o próximo, 600 é < 0? também não então ele sai e desenha o circulo e faz de novo o calculo
600 = 600 + - 1
que resulta em 599, conseguiu entender como ele ta funcionando? Agora ele a bolinha esta voltando? diminuindo o valor de x (do eixo x) até que ele passe a ter o valor de -1 faça o caminho agora o valor de x sendo -1 e vai entender exatamente o que esta acontecendo.