Por exemplo, digamos que eu lhe peça para desenhar a seguinte figura:
![]() |
Um bom começo seria desenhar as linhas horizontais assim:
![]() |
Uma maneira de desenhar as linhas seria criar um bloco seqüencial de código:
import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int y;
y = 10;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
y = y + 25;
g.drawLine(10, y, 210, y);
}
}
Para alguns programadores iniciantes, a frase "y = y + 25;" pode parecer estranha na primeira vez que a virem, mas o que ela significa é: "Pegue o valor que está na variável y, some 25 e coloque o resultado de volta na variável y." Por exemplo, se y contiver 10 antes da linha ser executada, ele terá 35 imediatamente após a linha ter sido executada.
Não é difícil perceber logo de cara que esse código contém 2 linhas iguais sendo repetidas várias vezes. O que acontece é que, neste caso, a repetição não é tão trabalhosa, mas imagine se você quisesse criar uma tabela com milhares de linhas e colunas. Ia ser muito cansativo escrever o programa usando este método de repetição. A solução para esse problema é um loop, como você pode ver abaixo:
import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int y;
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
}
}
Ao executar este programa, vai ver que ele desenha 9 linhas horizontais com 200 pixels de comprimento.
A expressão while é uma expressão de loop na linguagem Java. Ela manda o Java agir da seguinte maneira: na frase em que pode ler while, o Java observa a expressão entre parênteses e pergunta, "O y é menor ou igual a 210?":
E podemos completar nossa grade adicionando um segundo loop ao programa, veja só:
import java.awt.Graphics;
public class FirstApplet extends java.applet.Applet
{
public void paint(Graphics g)
{
int x, y;
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
x = 10;
while (x <= 210)
{
g.drawLine(x, 10, x, 210);
x = x + 25;
}
}
}
Acho que você percebeu que a frase while tem 3 partes:
Além disso, o Java também suporta uma outra maneira de fazer a mesma coisa de um jeito mais compacto do que a frase com while. Basta usar o comando for. Se você tiver um comando while, da seguinte forma:
y = 10;
while (y <= 210)
{
g.drawLine(10, y, 210, y);
y = y + 25;
}
Então, a frase equivalente a for vai ter a seguinte aparência: for (y = 10; y <= 210; y = y + 25)
{
g.drawLine(10, y, 210, y);
}
Dá para ver que tudo o que esse novo tipo de programa faz é condensar as linhas de inicialização, avaliação e acréscimo em uma só linha. Não passa de uma maneira de reduzir o tamanho do programa que você escreveu.
E já que estamos aqui, lá vão 2 pontos rápidos a respeito dos loops:
Para praticar um pouco o loop, tente escrever programas que desenhem as seguintes figuras:
![]() |
Para obter mais informações sobre o Java e outras linguagens de programação, confira os links na próxima página.