Buscar

Desenvolvimento de sistemas web

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Desenvolvimento de sistemas web 
 
Aula 1 – Revisão da Sintaxe Java 
Introdução 
 
Nesta aula, veremos a diferenciação superficial dos três ambientes para a linguagem Java: JME, JSE e JEE. Serão 
abordadas as diferentes formas de atribuição de valores, bem como os controles de fluxo. Serão abordados, 
também, os conceitos básicos de orientação a objetos, aliados diretamente às palavras reservadas da linguagem 
Java. Finalmente, serão apresentados os elementos básicos utilizados no controle de erros, particularmente as 
palavras-chave utilizadas no controle do fluxo de erros, como try, catch e finally. 
 
Java é uma linguagem de programação lançada pela primeira vez pela Sun Microsystems, em 1995, com o objetivo 
de criar uma linguagem orientada a objetos dinâmica, para uso nos mesmos tipos de aplicações desenvolvidas em C 
e C++, mas sem as dificuldades e os erros mais comuns destas linguagens. 
 
Conforme a experiência dos projetistas da linguagem, as escolhas realizadas adicionaram novas características ou 
suprimiram outras do C++, visando criar uma linguagem que facilitasse a geração de código robusto, confiável, 
facilmente utilizável em plataformas diversas. 
 
A linguagem permite o desenvolvimento de aplicações em diversos ambientes. Existe software Java, desde, para 
dispositivos pequenos como, também, para mainframes. Por essa razão, a linguagem oferece 3 (três) ambientes de 
desenvolvimento: 
 
 
 
 
 
JDBC (Para acesso a banco de dados) 
JSP (Um tipo de servidor web) 
Servlets (Para o desenvolvimento de aplicações Web) 
 
 
 
Atribuição de valores 
 
A linguagem Java fornece vários operadores para operações aritméticas e booleanas. Possui os operadores +, -, *, / 
normais para operações aritméticas. Suporta, também, o operador de módulo ou resto (%). Por exemplo: 
 
 
 
 
 
Observe a tabela abaixo: 
 
 
 
 
Incrementar uma variável é adicionar uma unidade ao seu valor original. Por exemplo: 
 
x = x + 1; 
ou 
x += 1; 
ou 
x++; 
 
O mesmo ocorre com o operador de decremento: x--; 
Atenção! O posicionamento do operador de incremento/decremento tem importância. Quando colocado após a 
variável, esta é usada e só depois ocorre o incremento. Por exemplo: 
 
int x = 2; 
 
y = x++; 
 
No final y armazenará o valor 2 e x armazenará o valor 3. Ou seja, a variável x foi primeiramente usada, sendo 
armazenada na variável y e só depois foi incrementada. 
 
Observe agora: 
 
int x = 2; 
 
y = ++x; 
 
Agora, y armazenará 3 e x armazenará 3 porque primeiro a variável x será incrementada e, só depois, será usada e 
armazenada em y. 
 
Ou seja, em uma operação aritmética, colocar o operador antes da variável incrementará (ou decrementará) a 
variável primeiro, antes da avaliação da expressão. 
 
Agora, se você colocar o operador depois da variável, a expressão será avaliada primeiramente. 
 
Exemplos: 
 
int x = 5; 
int y = 6; 
int r = ++x; // após esta expressão, r = 6 e x = 6 
int s = y++; // após esta expressão, s = 6 e y = 7 
 
 
 
 
 
Atenção! Se você utilizar == por engano, para comparar dois objetos, isso, na verdade, irá comparar a referência dos 
dois objetos e não os objetos reais. A não ser que você esteja comparando as mesmas referências de objetos, esta 
operação retornará falsa: 
 
String x = new String (“My String”); 
String y = new String (“My String”); 
boolean z = (x == y); // z = falso 
boolean w = (x.equals(y)); // w = verdadeiro 
 
 
 
 
 
A comparação pode ser realizada entre tipos primitivos, como valores inteiros, long, double, caracteres etc. 
 
Exemplos: 
 
int r = 3; 
int s = 7; 
boolean t = r < s; // t = verdadeiro 
 
 
 
 
 
Você pode, também, utilizar && e || para verificar condicionais (operações and (e) e or (ou), respectivamente). 
 
Estruturas de controle de fluxo 
 
Estruturas condicionais 
 
if (condição) { 
 ... // comportamento para quando a condição for verdadeira 
} 
 else { 
 ... // comportamento para quando a condição for falsa 
} 
 
Você pode optar por ter um único if, if/else ou if com vários else: 
 
if (x < -1) 
 y = x + 2; 
else 
 if (x < = 0) 
 y = 1; 
 else 
 y = x * x; 
 
Estruturas de repetição 
 
Java fornece uma série de mecanismos de laço, assim como outras linguagens de programação. Exemplos: 
 
Laço for: 
 
for (int x = 0; x < 4; x++) { 
 //... 
} 
Laço while: 
 
while (se a condição for verdadeira) { 
 // ... 
} 
 
 
public class Teste { 
 
public static void main( String args[] ){ 
int n = 10; 
 
while( n > 0 ){ 
System.out.println( n ); 
 n--; 
} 
 } 
} 
 
Operador ternário 
 
A linguagem Java fornece um operador ternário (?) para reduzir a expressão if/else, assim como C e C++. Por 
exemplo: 
 
r = (x > y) ? 3: 1; 
 
Onde (x > y) é o teste condicional. O primeiro valor após ? representa o valor de r, se a condicional for verdadeira. O 
segundo valor representa o valor de r, se a condicional for falsa. 
 
Estrutura de seleção múltipla: switch 
 
Essa estrutura é usada, quando cada alternativa corresponde a valores distintos de um só indicador, isto é, quando 
cada teste compara o valor do indicador fornecido por uma variável ou expressão com um grupo de constantes 
diferentes. 
 
switch([expressão]) { 
 case [constante 1]: 
 [comando 1] 
 break; 
 case [constante 2]: 
 [comando 2] 
 break; 
 . 
 . 
 . 
 case [constante n]: 
 [de comando n] 
 break; 
 default: 
 [comando] 
} 
 
 
 
 
 
 
Orientação a objetos 
 
O termo "orientação a objetos", ou "baseado em objetos", significa que o software é organizado como uma coleção 
de objetos separados que incorporam tanto a estrutura quanto o comportamento dos dados. 
 
Essa concepção difere, em parte, da programação convencional, segundo a qual a estrutura e o comportamento dos 
dados têm pouca vinculação entre si. 
 
Trata-se de um paradigma para o desenvolvimento de software, que se baseia na utilização de componentes 
individuais (objetos) que colaboram para construir sistemas mais complexos. A colaboração entre os objetos é feita 
através do envio de mensagens. 
 
Segundo Martins, eis algumas características da tecnologia orientada a objetos: 
 
 
 
Consiste em buscar apenas os aspectos essenciais de uma entidade, ignorando suas propriedades acidentais. Ou 
seja, concentrar-se no que o objeto é e faz, antes de decidir como ele deve ser implementado. O uso da abstração 
preserva a liberdade de se tomar decisões mais importantes, evitando, tanto quanto possível, preocupações com 
detalhes prematuros. 
 
 
 
Consiste na separação dos aspectos externos de um objeto, acessíveis por outros objetos, dos detalhes internos da 
implementação daquele objeto, que ficam ocultos dos demais objetos. O encapsulamento impede que um programa 
se torne tão independente que uma pequena modificação possa causar grandes efeitos de propagação. A 
implementação de um objeto pode ser modificada sem que isso afete as aplicações que o utilizam. O 
encapsulamento não é exclusivo das linguagens orientadas a objetos, porém a capacidade de combinar estruturas 
de dados e seu comportamento em uma única entidade torna-a mais completa e mais poderosa do que as 
linguagens convencionais. 
 
 
A herança da estrutura de dados e do seu comportamento permite que a estrutura comum seja compartilhada por 
diversas subclasses semelhantes, sem redundâncias. O compartilhamento de código é uma das principais vantagens 
das linguagens orientadas a objetos. Mais importante que a redução do trabalho decodificação é a clareza 
conceitual proveniente de reconhecimento de que diferentes operações são, na realidade, a mesma. A possibilidade 
da reutilização de modelos e códigos em projetos futuros é enfatizada como uma justificativa para a tecnologia 
orientada a objetos. O desenvolvimento baseado em objetos fornece ferramentas como abstração, o 
encapsulamento e a herança que permitem "montar bibliotecas" de componentes reutilizáveis. 
 
 
Ênfase na estrutura de objetos, e não na estrutura de procedimentos, significa preocupar-se em especificar o que 
um objeto é, e não como ele é utilizado. A figura 1 mostra a estrutura de um objeto. O uso de um objeto é altamente 
dependente dos detalhes da aplicação, os quais, frequentemente, mudam durante o desenvolvimento. O 
desenvolvimento baseado em objetos coloca maior ênfase na estrutura dos dados e menor ênfase na estrutura de 
procedimentos, diferente do desenvolvimento tradicional baseado na decomposição funcional. 
 
Implementação de herança e polimorfismo 
 
Herança: 
 
Podemos afirmar que é o principio pelo qual classes semelhantes são agrupadas em hierarquias. 
 
Veja o exemplo: 
 
Uma empresa X possui funcionários. E possui, também, um ou mais gerentes (que não deixam de ser funcionários 
também). 
 
 
 
Polimorfismo: 
 
Princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que possuem 
a mesma assinatura, entretanto comportamentos diferentes. 
 
Significa ter ‘muitas formas’, que significa um único nome representando um código diferente, selecionado por 
algum mecanismo automático. 
Na linguagem Java, a invocação de método sempre vai ser decidida em tempo de execução. 
 
Vejamos exemplos: 
 
 
 
 
 
 
 
 
 
Controle de erros 
 
Blocos try-catch 
 
A captura e o tratamento de exceções ocorre através da especificação de blocos try, catch e finally, definidos através 
destas mesmas palavras reservadas da linguagem Java. Um comando try/catch/finally obedece à seguinte sintaxe: 
 
 
O bloco finally é opcional. Em geral, ele inclui comandos que liberam recursos que, eventualmente, possam ter sido 
alocados durante o processamento do bloco try e que podem ser liberados, independentemente da execução ter 
encerrado com sucesso ou ter sido interrompida por uma condição de exceção. 
 
Exemplo de Tratamento de Erro:

Continue navegando