Escolar Documentos
Profissional Documentos
Cultura Documentos
1 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
Home
Webtools
Downloads
Vdeos
Biblioteca Online
Quem Somos
Parceiros
Fale Conosco
Pgina Inicial Java Estruturas de Controle em Java
01/09/2015 16:46
2 de 11
1
2
3
4
5
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
Exemplo
1
2
3
4
5
6
7
8
9
A saida do cdigo acima, aps compilado e executado, dever ser uma exibio de nmeros de 1 at 15 de
acordo com as condies que passamos para a estrutura de controle, para x igual a 1 (um); enquanto x for
menor ou igual a 15(quinze); x incrementar( ou seja x ser igual a x mais 1(um) ).
Temos ainda a estrutura for para otimizar arranjos e colees onde sua sintaze :
1
2
3
4
5
Exemplo
1
2
3
4
5
6
7
8
9
A saida do cdigo acima, aps compilado e executado, dever ser uma exibio dos nmeros inteiros do
arranjo com nome vetor. esta estrutura otimiza a interao no arranjo ou coleo passada para a
espresso podendo ser efetuada a navegao sem a necessidade de ndices ou interadores.
2.0 Comando while
A comando while executado enquanto a condio passada como parmetro for verdadeira, vejamos:
1
2
3
while( [condio] ){
...
/* bloco de execuo aqui */
01/09/2015 16:46
3 de 11
4
5
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
...
}
Exemplo
1 public class Exemplo3 {
2
public static void main( String args[] ){
3
int n = 10;
4
5
while( n > 0 ){
6
System.out.println( n );
7
n--;
8
}
9
}
10 }
Reparem que while executa o bloco de cdigo enquanto n for maior que zero, como internamente
estmos decrementando n haver dez iteraes sendo executadas exibindo valores de nmeros inteiros de
10(dez) a 1(um) na tela como saida do programa.
3.0 Comando do while
A comando do while tem pelo menos uma iterao sendo executada pelo bloco de cdigo a ele
denominado tendo como condio verificada ao final como parametro passado para while
1
2
3
4
5
do{
...
/* bloco de execuo aqui */
...
}while( [condio] );
Exemplo
1 public class Exemplo4 {
2
public static void main( String args[] ){
3
int n = 10;
4
5
do {
6
System.out.println( n );
7
n += 10;
8
}while( n < 10 );
9
}
10 }
Reparem que do while executa o bloco de cdigo enquanto n for menor que 10(dez). O programa
imprimira na tela apenas uma sada, o valor 10(dez) e em seguida abandonar o bloco de execuo pois a
condicional n menor que 10(dez) impedir tal continuao.
Comando if else
Os comando if e else, podem desviar o fluxo do sistemas baseando-se em condicionais lgicos
passados como parametros sendo verdadeiros ou falsos dependendo da expresso a eles denominados.
01/09/2015 16:46
4 de 11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
if( [condio 1] ){
...
/* bloco de execuo aqui */
...
if( [condio 1] ){
...
/* bloco de execuo aqui */
...
}else if( [condio 2] ){
...
/* bloco de execuo aqui */
...
}else{
...
/* bloco de execuo aqui */
...
}
}else if( [condio 2] ){
...
/* bloco de execuo aqui */
...
}else{
...
/* bloco de execuo aqui */
...
if( [condio 1] ){
...
/* bloco de execuo aqui */
...
}else {
...
/* bloco de execuo aqui */
...
}
}
Exemplo
1 public class Exemplo5 {
2
public static void main( String args[] ){
3
String name = "Nao Livre";
4
5
if( ! name.equals( "Nao" ) ){
6
int size = name.length;
7
8
System.out.println( "Meu nome : " + name );
9
10
if( size > 0 ){
System.out.println( "variavel 'name' com tamanho: " +
11
String.parseString( size ) +
12
" - bytes" );
13
01/09/2015 16:46
5 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
14
}
15
16
System.exit( 0 );
17
18
}else if( ! name.equals( "Nao Livre" ) ){
19
System.out.println( "Meu nome Nao Livre !!!" );
20
System.exit( 0 );
21
22
}else{
23
System.out.println( "Quem Sou eu ?" );
24
System.exit( 0 );
25
}
26
}
27 }
O cdigo acima exibe a mensagem Meu nome : Nao Livre, variavel name com tamanho: 11
bytes e logo em seguida encerra a aplicao. veja que podemos aninhar vrios desvios condicionais e
ainda colocar novos desvios condicionais dentro dos blocos if e else.
Comando switch
O comando switch possui um desvio condicional de multiplos casos de iteraes baseando-se em sua
expresso como denominadora do bloco de execuo.
1 switch( [ critrio de entrada ] ){
2
case [ caso 1 ]:
3
...
4
/* bloco de execuo aqui */
5
...
6
break;
7
8
case [ caso 2 ]:
9
...
10
/* bloco de execuo aqui */
11
...
12
break;
13
14
case [ caso N ]:
15
...
16
/* bloco de execuo aqui */
17
...
18
break;
19
20
default:
21
...
22
/* bloco de execuo aqui */
23
...
24
break;
25 }
Exemplo
01/09/2015 16:46
6 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
O cdigo acima executado imprimir os valores de 10 (dez) at 14 (quatorze) e quando x for igual a 15
(quinze) a estrutura de repetio for ser interrompida no dando sequncia a sua execuo.
Comando continue
O comando continue, interrompe o fluxo normal do bloco de cdigo em execuo como switch, for
e tambm while e do while.
01/09/2015 16:46
7 de 11
1
2
3
4
5
6
7
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
O cdigo acima ao ser executado imprimir valores de 0 (zero) at 99 (noventa e nove), menos os valores
25 (vinte e cinco), 50 (cinquenta), 75 (setenta e cinco) e o nmero 99 noventa e nove, pois a condicional
da estrutura de controle de fluxo if, faz com que seja feito um salto na estrutura de repetio for,
fazendo assim com que os valores citados no seja exibidos na tela.
try, catch, finally, throw
A estrutura de controle de fluxo de cdigo no java ainda oferece try, catch e finally que efetua tratamento
de excees disparados pelo sistema e sendo tratados pelo seu respectivo tipo de erro detectado.
Os comando try e catch trabalham juntos para delimitar a rea de cdigo a ser verificada e capturar a
exceo ocorrida e desviando o fluxo natural do cdigo para um tratamento especifico do tipo de dados
disparado. Ainda podemos utilizar finally para garantir que sempre seja executado um determinado
cdigo ao final de try e catch.
Sendo assim, quando queremos provocar uma exceo, podemos disparar utilizando o comando throw
para saltar o fluxo natural para a captura por catch.
Exemplo 7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
*
* @author Nao Livre
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try{
int x = 10, y = 0;
int r = x / y;
System.out.println( v );
}
catch( Exception ex ){
System.out.println( "Excetion: " + ex.getMessage() );
}
}
}
Quando compilar e executar o cdigo acima, ir obter a seguinte saida: Exception: / by zero. Reparem
que foi declarado um tipo genrico de dados Exception que captura genericamente excees disparadas
01/09/2015 16:46
8 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
pelo sistema assim como poderia ter usado aqui ArithmeticException para capturar a exceo de
aritmtica .
1 import java.sql.*;
2
3 public class MySQLConnect {
public static void main (String args[] ){
4
5
Connection conn = null;
6
7
try{
8
String username = "nacaolivre";
9
String password = "senha54321";
10
String url = "jdbc:mysql://localhost:3306/my_database/";
11
12
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
13
conn = DriverManager.getConnection (url, username, password);
14
15
System.out.println ("Sucesso na conexo !!!");
16
}
17
catch (Exception ex){
18
System.err.println (
19
"Erro estabelecendo conexo com o banco de dados !!!"
20
);
21
}
22
finally{
23
if (conn != null) {
24
try {
25
conn.close ();
26
}
27
catch (Exception e) {
28
// ...
29
}
30
}
31
}
32
}
33 }
Aqui reparem que foi incluido o comando finally juntamente com try e catch, ele verifica se a
variavel conn que um tipo de dado Connection, est conectado ao banco de dados, caso isto seja
verdadeiro o mtodo close chamado para finalizar a conexo com o servidor de banco de dados
MySQL. Veja que finally sempre ser executado mesmo se a exceo for lanada por try.
As estruturas de controle de fluxo de cdigo esto presentes em todas as linguagens de programao
existentes, pois sem elas seria doloroso construir sistemas aplicativos tanto para desktop como para a web.
Elas nos do maneiras de estruturar um sistema minimizando cdigo fonte e tornando-os mais inteligentes.
isso ai, espero que tenham gostado.
Categories: Java Tags: catch, do while, Estrutura de Controle, finally, for, if else, switch, try, while
Postagens Relacionadas
01/09/2015 16:46
9 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
01/09/2015 16:46
10 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
Newsletter
Categorias
Algoritmos
C++
CSS
Gnome
Java
Javascript
Linux
Notcias
Open Source
PHP
Plugins Wordpress
Python
Servidor
Shell Script
UML
Wordpress
Tags
Acesso
Executavel finally
01/09/2015 16:46
11 de 11
http://www.nacaolivre.com.br/java/estruturas-de-controle-em-java/
Instalao Introduo jQuery ksh Linguagem MySQL Mtodos Netbeans Objeto Permisses private Programao
public
Script Security Segurana Servidor Servio sh Shell Sistema SSH Terminal Terminal Remoto try while
Lista de Links
Apache
Debian
Fedora
Gnome
Java
KDE
Linux Kernel
MySQL
Netbeans
01/09/2015 16:46