Upload
internet
View
192
Download
3
Embed Size (px)
Citation preview
Estrutura de Dados em JavaEstrutura de Dados em Java
Uso da Estrutura Try CatchUso da Estrutura Try CatchExceções em JavaExceções em JavaFunções MatemáticasFunções MatemáticasObjetos e ClassesObjetos e ClassesDeclaração de MétodosDeclaração de Métodos
Professor: Armando HageProfessor: Armando Hage
Uso da Estrutura Try CatchUso da Estrutura Try Catch As exceções em Java
referem-se aos erros que podem ser gerados durante a execução do programa.
É possível através da estrutura try-catch-finally o throws
Desvia a execução do programa caso ocorra certos tipos de erros.
finallyfinally-Execute quer a exceção tenha ocorrido ou não.
try{try{
<conjunto de instruções><conjunto de instruções>
}catch(Nome da exceção){}catch(Nome da exceção){
<tratamento do erro 1><tratamento do erro 1>
} catch(Nome da exceção){} catch(Nome da exceção){
<tratamento do erro 2><tratamento do erro 2>
} catch(Nome da exceção){} catch(Nome da exceção){
<tratamento do erro n><tratamento do erro n>
}}
Uso da Estrutura Try CatchUso da Estrutura Try Catch/**Exemplo de tratamento de erros/**Exemplo de tratamento de erros
*Mostra o erro a linha de erro */*Mostra o erro a linha de erro */
class errodivzero{class errodivzero{
public static void main(String args[]){public static void main(String args[]){
int x=10,y=0,z=0;int x=10,y=0,z=0;
trytry{{
z=x/y;z=x/y;
}}catchcatch((Exception eException e){){
System.out.println("Erro de divisao por zero");System.out.println("Erro de divisao por zero");
System.out.println("Erro:" + e.System.out.println("Erro:" + e.getMessage(getMessage( ))););
System.out.print("Linha de erro:");System.out.print("Linha de erro:");
e.e.printStackTrace( )printStackTrace( );;
} } }} } }
Uso da Estrutura Try CatchUso da Estrutura Try Catch
Determinadas aplicações torna-se necessário Determinadas aplicações torna-se necessário descobrir qual o tipo de erro ocorrido e em que linha descobrir qual o tipo de erro ocorrido e em que linha do programa ele ocorreu.do programa ele ocorreu.
getMessage( )getMessage( )-Consulta e retorna uma string -Consulta e retorna uma string armazenada de uma determinada execução.armazenada de uma determinada execução.
printStackTrace( )printStackTrace( )-retorna o tipo de execção e -retorna o tipo de execção e gerada e em que linha ocorreu.gerada e em que linha ocorreu.
Uso da Estrutura Try CatchUso da Estrutura Try Catch
class errodivzeroerrodivzero{ public static void main(String args[ ]){ int d = 0; int a = 42 / d; }}
java.lang.ArithmeticException: / by zero at Excecao01.main(Excecao01.java:4)
Classe sem tratamento de erroClasse sem tratamento de erro
Saída obtidaSaída obtida
class errodivzeroerrodivzero{ public static void main{String args[ ]){ try{ int d = 0; int a = 42 / d; }catch (ArithmeticException e) { System.out.println(“divisão por zero”); } }}
Classe com tratamento de erroClasse com tratamento de erro
divisão por zero
Saída obtidaSaída obtida
Uso da Instrução throwUso da Instrução throw É utilizada para disparar uma exceção, ou seja, força a sua É utilizada para disparar uma exceção, ou seja, força a sua
execução.execução. É possível criar uma exceção própria com qualquer nome.É possível criar uma exceção própria com qualquer nome.
class minhaexcecao{
public static void main(String args[ ]){
trytry{
System.out.print(“Como aprender ”);
throwthrow new Exception(“MinhaExcecao”) ;
}catchcatch(Exception MinhaExcessaoExcessao) {
System.out.print(“a linguagem Java ?”);
}}}
Cláusula throwsCláusula throwsSe um método é capaz de causar uma exceção
com a qual ele mesmo não consegue lidar, ele deve especificar esse comportamento para que os chamadores possam proteger-se contra essa exceção.
A palavra-chave throwsthrows é usada para identificar a lista de possíveis exceções que um método pode lançar.
type nome-metodo(lista-arg) throws lista-excecoes{ }
Cláusula throwsCláusula throwsimport java.io.*;
public class lenome{
public static void main(String args[ ])throws IOExceptionthrows IOException{
BufferedReader entra=new BufferedReader(new
InputStreamReader(System.in));
String nome="Seu nome ficará aqui";
System.out.print("Digite seu nome:");
nome=entra.readLine();
System.out.println("Ola "+nome);
}
}
Tipos de exceçãoTipos de exceção
As exceções em Java são objetos.As exceções em Java são objetos.Novos tipos de exceção descendem da Novos tipos de exceção descendem da
classe Exception.classe Exception.Todas as exceções que estendem Todas as exceções que estendem
Exception são exceções testadas.Exception são exceções testadas.Exception é estendida para criar uma Exception é estendida para criar uma
classe que contenha dados agregados.classe que contenha dados agregados.
Funções MatemáticasFunções MatemáticasPermitem efetuar diversos tipos de cálculos
matemáticos.Para realizar estes cálculos,são utilizados os métodos da Math.
MathMath.<nome da função>(argumentos)
Ex.: Math.PIMath.EMath.abs( );
Função ceil( );Função ceil( );É chamado para arredondar um número do tipo
doubledouble para o seu próximo inteiro .Sintaxe: Math.ceilMath.ceil(<valor do tipo double>)
class funcmat1{
public static void main(String args[]){
double A=5.2,B=5.6, C=-5.8;
System.out.println(“Arredondando 5.2=” + Math.ceil(a));
System.out.println(“Arredondando 5.6=” + Math.ceil(a));
System.out.println(“Arredondando -5.8=” + Math.ceil(a));
}
} Arredondando 5.2=6.0Arredondando 5.6=6.0Arredondando -5.8=-5.0
Saída obtidaSaída obtida
Função floor( );Função floor( );É chamado para arredondar um número do tipo
doubledouble para o seu inteiro anterior .Sintaxe: Math.floorMath.floor(<valor do tipo double>)
class funcmat1{
public static void main(String args[]){
double A=5.2,B=5.6, C=-5.8;
System.out.println(“Arredondando 5.2=” + Math.floor(a));
System.out.println(“Arredondando 5.6=” + Math.floor(a));
System.out.println(“Arredondando -5.8=” + Math.floor(a));
}
} Arredondando 5.2=5.0Arredondando 5.6=5.0Arredondando -5.8=-6.0
Saída obtidaSaída obtida
Função max( ) e min( )Função max( ) e min( )
• A função max( )max( ) é utilizada para verificar o maior entre dois números que podem ser do tipo double,float,int ou long.
Sintaxe: Math.max(<valor1>,<valor2>);Ex.:System.out.println(“O maior entre 10 e 15 é:” + Math.max(A,B));
• A função min( )min( ) fornece o valor mínimo entre dois valores.
Sintaxe: Math.min(<valor1>,<valor2>);Ex.:System.out.println(“O maior entre 10 e 15 é:” + Math.min(A,B));
Função sqrt( ) e pow( )Função sqrt( ) e pow( )
• A função sqrt( )sqrt( ) é utilizada para calcular a raiz quadrada de um determinado valor. Se tipo de ser double.
Sintaxe: Math.sqrt(<valor1>,<valor2>);Ex.:System.out.println(“A riaz quadrada de 900 é :” + Math.sqrt(900));
• A função pow( )pow( ) fornece o valor de um número elevado a uma potência.
Sintaxe: Math.pow(<valor da base>,<valorda potencia>);Ex.:System.out.println(“1000 elevado a 3ª é :” + Math.min(1000,3));
Função random( )Função random( )• A função random( )random( ) é utilizada gerar valores aleatórios. É necessário identificar o tipo dos valores que serão sorteados.
Sintaxe: (int)(Math.random( )*<conjunto de valores>);
Ex.(int)(Math.random()*100) – Gera um sorteio dos números entre 0 a 99.
ClasseClasse Classe é a descrição de um molde que especifica as
propriedades e o comportamento para um conjunto de objetos similares.
Define a forma e o comportamento do objeto. Todo objeto é instância de apenas uma classe. Atributos e operações são parte da definição de uma classe. Ex.: class ponto{Ex.: class ponto{
int x,y;int x,y;
}}
Programas consistem de várias classes de arquivos-fonte diferentes.
ClasseClasseVariável de InstânciaVariável de Instância
– São as variáveis declaradas dentro do corpo da classe.
Operador newOperador new– Cria uma instância única de uma classe nomeada e
retorna uma referencia aquele objeto.– Ex.: ponto p = new ponto();– pp é uma referência a uma instância de pontoponto.– Pode-se criar várias referências ao mesmo objeto.
ClasseClasse/**Classe que possui as variáveis de um ponto */
class ponto{
int x,y;
}
/** Classe que implementa a criação de dois novos pontos */
class doispontos{
public static void main(String args[ ]){
ponto p1= newnew ponto( );
ponto p2= newnew ponto( );
p1.x=10; p1.y=20; p2.x=42; p2.y=99;
System.out.println("x=" + p1.x +" y=" + p1.y);
System.out.println("x=" + p2.x +" y=" + p2.y); }
}
ClasseClasseOperador Ponto (.)Operador Ponto (.)
– É usado para acessar as variáveis de instância e os métodos dentro de um objeto.
Sintaxe: referencia-a-objeto.nome-variavelp.x = 10;
p.y = 20;
System.out.println(“x=“ + p.x);
Declaração de MétodosDeclaração de Métodos Um método é uma interface funcional de uma classe. Os métodos são declarados como tendo determinado
tipo de valor de retorno e um conjunto de parâmetros de entrada.
Sintaxetipo-de-retorno nome-do-método(lista de parâmetros){
declarações; //comportamento.}
O comando returnreturn returna expressãopublic int soma(int a,int b){int soma = a + b;returnreturn soma;}
ParâmetrosParâmetros Um parâmetroparâmetro é um valor que é passado a um método quando
o mesmo é invocado, especificando o tipo de valores que são passados.
Na definição do método o nome dos parâmetros aceitos são chamados parâmetros formais.
Nas invocações dos métodos são chamados parâmetros atuais. Se não existirem parâmetros, um conjunto vazio de parâmetros
é usado.
public void acid_test(int substance1, float substance2)
{
String title=“Acid Test Order Form”;
generate_report(title,substance1,substance2);
}
parâmetros formais
parâmetros atuais
Declaração de MétodosDeclaração de Métodosclass ponto { int x, y; ponto (int a, int b){ x = a; y = b; }}
class criaponto {public staic void main(String args[ ]){ponto p = new ponto(10,20);System.out.println(“X=“ + p.x);System.out.println(“Y=“ + p.y);}}
thisthisthisthis é uma referência especial, usado dentro de é uma referência especial, usado dentro de
qualquer método para referir-se ao objeto qualquer método para referir-se ao objeto corrente.corrente.
O valor de this refere-se ao objeto do qual o O valor de this refere-se ao objeto do qual o método corrente foi chamado.método corrente foi chamado.
class ponto {class ponto { int x, y;int x, y; ponto(int x,int y){ponto(int x,int y){ thisthis.x = x;.x = x; thisthis.y = y;.y = y; }}}}
ConstrutoresConstrutores
Um construtor é um método que inicializa um
objeto imediatamente após sua criação.
O construtor tem exatamente o mesmo nome
da classe na qual reside.
Construtores não têm tipo de retorno, nem
mesmo o void.
O tipo de retorno implícito de um construtor
de classe é o próprio tipo da classe.
ConstrutoresConstrutoresclass ponto {
int x, y;pontoponto(int x, int y)(int x, int y) {
this.x = x;this.y = y;
}} class criaponto {
public staic void main(String args[ ]){ponto p = new ponto(1010,2020);System.out.println(“X=“ + p.x);System.out.println(“Y=“ + p.y);}}
Construtor com o mesmo nome da classe.