Curso de Java com exemplos, Notas de estudo de Informática Empresarial. Faculdade de Tecnologia do Estado de São Paulo (FATEC)
khetelbey50
khetelbey50

Curso de Java com exemplos, Notas de estudo de Informática Empresarial. Faculdade de Tecnologia do Estado de São Paulo (FATEC)

376 páginas
35Número de visitas
Descrição
Curso de Java completo com exemplos
20 pontos
Pontos de download necessários para baixar
este documento
Baixar o documento
Pré-visualização3 páginas / 376
Esta é apenas uma pré-visualização
3 mostrados em 376 páginas
Baixar o documento
Esta é apenas uma pré-visualização
3 mostrados em 376 páginas
Baixar o documento
Esta é apenas uma pré-visualização
3 mostrados em 376 páginas
Baixar o documento
Esta é apenas uma pré-visualização
3 mostrados em 376 páginas
Baixar o documento
Microsoft Word - ApostilaVersao_1.doc

Programação Orientada a Objetos

Linguagem de Programação JAVA

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

2

Sumário Estrutura do curso................................................................................................................... 4

Breve Histórico do Java.......................................................................................................... 5

Introdução a Linguagem Java................................................................................................. 6

Java Virtual Machine............................................................................................................ 17

Coletor de Lixo..................................................................................................................... 18

Fundamentos da Linguagem Java ........................................................................................ 20

Identificadores, palavras reservadas, tipos, variávies e Literais........................................... 22

Aplicativos independentes em Java...................................................................................... 31

Operadores............................................................................................................................ 34

String .................................................................................................................................... 40

Para que serve....................................................................................................................... 41

StringBuffer .......................................................................................................................... 43

Resultado .............................................................................................................................. 44

Classe Integer ....................................................................................................................... 48

Classes Long, Short, Byte, Float e Double........................................................................... 51

Classe Character ................................................................................................................... 53

Objetos X Tipos primitivos de dados ................................................................................... 54

Fluxo de Controle ................................................................................................................. 55

Laços..................................................................................................................................... 58

Arrays ................................................................................................................................... 62

Tratamento de exceções........................................................................................................ 65

Empacotamento de Classes .................................................................................................. 68

Conversão de Tipos .............................................................................................................. 69

A referência this.................................................................................................................... 71

Coleções ............................................................................................................................... 72

Pacotes .................................................................................................................................. 77

Acessibilidade....................................................................................................................... 79

Programação Orientada a Objetos ........................................................................................ 85

Abstração .............................................................................................................................. 85

Classe Indivíduos.................................................................................................................. 87

Encapsulamento.................................................................................................................... 87

Herança................................................................................................................................. 88

Hierarquia de Agregação ...................................................................................................... 89

Hierarquia de Generalização / Especialização...................................................................... 90

Polimorfismo ........................................................................................................................ 90

Principais conceitos em orientação a objetos ....................................................................... 92

Métodos ................................................................................................................................ 93

Construtores.......................................................................................................................... 94

O que são construtores?.................................................................................................... 94

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

3

Atributos e variáveis............................................................................................................. 95

A referência super................................................................................................................. 96

Classe Abstrata e Finais........................................................................................................ 97

Interfaces .............................................................................................................................. 99

Utilitários ............................................................................................................................ 101

JavaDoc (Documentação)................................................................................................... 102

Jar (Compactação, Agrupamento e Distribuição)............................................................... 104

Capítulo I - Fundamentos da Linguagem ........................................................................... 105

Capítulo II - Modificadores e Controle de Acesso ............................................................ 128

Capítulo III - Operadores e atribuições .............................................................................. 164

Capítulo IV - Controle de fluxo, exceções e assertivas..................................................... 188

Capítulo VI - java.lang - a classe Math, Strings e Wrappers.............................................. 251

Capítulo VII - Objetos e conjuntos..................................................................................... 280

Capítulo VIII - Classes internas ........................................................................................ 304

Capítulo IX - Threads ......................................................................................................... 328

Exercícios Teóricos ............................................................................................................ 354

Exercícios Práticos ............................................................................................................. 358

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

4

Estrutura do curso

 Introdução  Tipos de dados e variáveis;  Estruturas de programação no Java;  Conceitos de Orientação a Objetos;  Objetos da biblioteca Swing;  Bancos de dados e SQL.

Bibliografia DEITEL & DEITEL. Java – como programar. 4a Edição, Bookman, 2003. FURGERI, SÉRGIO – Java 2 Ensino Didático. Editora Érica, 2002. SIERRA, KATHY & BATES, BERT. JAVA 2 – Certificação SUN – Programador e desenvolvedor. 2ª Edição, AltaBooks.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

5

Breve Histórico do Java

 1991 – início do projeto Green  Requisitos do projeto  Não ficar dependente de plataforma  Poder rodar em pequenos equipamentos  Linguagem oak(carvalho)

 Em 1992 – O projeto Green apresenta seu primeiro produto. (Start Seven)  Revolucionar a industria de TV e vídeo oferecendo mais

interatividade.  1992 – Crise do Projeto Green  1993 – explode a WWW (World Wide Web)

 Duke – Mascote Java  1995 – Maio - Nascimento oficial do Java.  1996 - Janeiro - Release do JDK 1.0.  1996 - Maio - Realizado o primeiro JavaOne, conferencia máxima da

tecnolgia Java.  Apresentados a tecnologia JavaBeans e Servlets.

 1996 - Dezembro - Release do JDK 1.1 Beta.  1997 - Fevereiro - Release do JDK 1.1.  1997 - Abril - Anunciada a tecnologia Enterprise JavaBeans (EJB), além de

incluir a Java  Foundation Classes (JFC) na plataforma Java.

 1998 - Março - inicio do projeto JFC/Swing.  1998 - Dezembro - Formalizado o Java Community Process (JCP).  1999 - Fevereiro - Release do Java 2 Plataform.  1999 - Junho - Anuncio da "divisão" da tecnologia Java em três edições

(J2SE, J2EE, J2ME).  2000 -Maio - Release da J2SE v. 1.3.  2001 -Abril - Release do J2EE 1.3 beta, contendo as especificações EJB

2.0, JSP 1.2 e  Servlet 2.3.  2002 - Dezembro - Release do J2EE 1.4 Beta.  2004 - Outubro - Release do Java 5.0, chamado de Java Tiger.  2005 - Março - 10° aniversário da tecnologia.  2005 - Junho - JavaOne de número 10.  2006 - JavaOne de número 11.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

6

Introdução a Linguagem Java Características do Java

 Java é sintática e morfologicamente muito parecido com a linguagem C++, entretanto, existem diferenças:

 Inexistência de aritméticas de ponteiros (ponteiros são apenas referências);  Independência de plataforma;  Arrays são objetos;  Orientação a Objetos;  Multhreading  Strings são objetos;  Gerenciamento automático de alocação e deslocação de memória (Garbage

Collection);  Não existe Herança Múltiplas com classes, apenas com interfaces;  Não existem funções, mas apenas métodos de classes;  Bytecode;  Interpretado;  Compilado;  Necessita de ambiente de execução (runtime), ou seja, a JVM (Java Virtual

Machine). Tecnologia Java A tecnologia java oferece um conjunto de soluções para desenvolvimento de aplicações para diversos ambientes.

 J2SE – Java 2 Standard Edition (Core/Desktop)  J2EE – Java 2 Entreprise Edition (Enterprise/Server)  J2ME – Java 2 Micro Edition(Mobile/Wireless)

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

7

O QUE É JAVA ? É uma Linguagem de programação Orientada a objetos, portável entre diferentes plataformas e sistemas operacionais.

1. Todos os programas Java são compilados e interpretados; 2. O compilador transforma o programa em bytecodes independentes de

plataforma; 3. O interpretador testa e executa os bytecodes 4. Cada interpretador é uma implementação da JVM - Java Virtual Machine;

Plataforma Java Uma plataforma é o ambiente de hardware e software onde um programa é executado. A plataforma Java é um ambiente somente de software. Componentes: Java Virtual Machine (Java VM) Java Application Programming Interface (Java API)

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

8

Mitos da Linguagem O Java é da Sun? Java é uma linguagem direcionada para a Internet? Java é igual a JavaScript? (LiveScript) Java é lento?

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

9

Portabilidade: “A independência de plataforma” A linguagem Java é independente de plataforma. Isto significa que o desenvolvedor não terá que se preocupar com particularidades do sistema operacional ou de hardware, focando o seu esforço no código em si. Mas o que isto realmente significa? A maioria das linguagens é preciso gerar uma versão para cada plataforma que se deseja utilizar, exigindo em muitos casos, alterações também no código fonte. Em Java o mesmo programa pode ser executado em diferentes plataformas. Veja o exemplo abaixo: public class HelloWorldApp{

public static void main (String arg []){ System.out.println("Hello World!");

} } Compilação: > javac HelloWorldApp.java Execução: > java HelloWorldApp

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

10

Gerando Aplicações Para criar aplicações ou programas na linguagem Java temos que seguir os alguns passos como: Edição, Compilação e Interpretação. A Edição é a criação do programa, que também é chamado de código fonte. Com a compilação é gerado um código intermediário chamado Bytecode, que é umcódigo independente de plataforma. Na Interpretação, a máquina virtual Java ou JVM, analisa e executa cada instrução do código Bytecode. Na linguagem Java a compilação ocorre apenas uma vez e a interpretação ocorre a cada vez que o programa é executado. Plataforma de Desenvolvimento A popularidade da linguagem Java fez com que muitas empresas desenvolvessem ferramentas para facilitar desenvolvimento de aplicações.Estas ferramentas também são conhecidas como IDE (Ambiente deDesenvolvimento Integrado), que embutem uma série de recursos para dar produtividade. Todavia, cada uma delas tem suas próprias particularidades e algumas características semelhantes. As principais ferramentas do mercado são: Jbuilder (www.borland.com) NetBeans(http://www.netbeans.org) Java Studio Creator (www.sun.com) Jedit(www.jedit.org) IBM Websphere Studio Application Developer(WSAD) (www.ibm.com) Eclipse(www.eclipse.org) Jdeveloper(www.oracle.com) Instalação do ambiente de desenvolvimento (JDK) O J2SDK é ambiente de desenvolvimento da linguagem Java. Na verdade é conjunto de ferramentas para compilar, depurar, executar e documentar um programa escrito em java. As versões para Solaris, Linux e Windows podem ser obtidas no endereço: www.java.sun.com/j2se (Página oficial da linguagem).

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

11

Procedimentos de Instalação: Para instalar o J2SDK basta executar o programa de instalação e seguir as instruções. Caso o J2SDK esteja compactado será necessário descompacta-lo primeiro, os formatos mais populares de arquivos compactados são zip (para Windows) e tar (para Unix). Instalação do ambiente de desenvolvimento (JDK) A partir do Menu iniciar, selecione Configurações, depois selecione Painel de Controle e enfim Sistema. Estando em Sistema seleciona o guia “Avançado” e depois variáveis de ambiente.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

12

Passos 1: 1 - Crie uma nova variável de ambiente chamada “JAVA_HOME” com o seguinte valor C:\j2sdk1.4.2_04 Exemplo: JAVA_HOME = C:\j2sdk1.4.2_04. A variável JAVA_HOME deve ter o mesmo nome do diretório onde foi instalado o J2SDK.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

13

Passo 2: Classpath O Java defini uma variável de ambiente chamada ClassPath. O Java procura pelas classes e pacotes através desta variável. 1 - Crie ou edite a variável de ambiente chamada CLASSPATH, informa o seguinte valor para ela. classpath=C:\j2sdk1.4.2_04\lib;.;

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

14

A figura acima demostra uma visão do pacote de desenvolvimento J2SDK e também do ambiente de execução (JRE). Ambos são necessários para desenvolver uma aplicação.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

15

O Compilador javac Sintaxe: javac [opções] NomedoArquivo.java

ArgumentoDescrição classpath path Localização das classes. Sobrepõe a variável de

ambiente Classpath;

-d dir Determina o caminho onde as classes compiladas são armazenadas;

-deprecation Faz a compilação de código em desuso, geralmente de versões anteriores e faz aviso de advertência;

-g

Gera tabelas de "debugging" que serão usadas pelo pelo depurador JDB;

-nowarm Desabilita as mensagens de advertência; -verbose Exibe informações adicionais sobre a compilação; -O Faz otimização do código; -depend Faz a compilação de todos os arquivos que dependem do

arquivo que está sendo compilado. Normalmente somente é compilado o arquivo fonte mais as classes que este invoca.

Exemplos > javac Hello.java > javac -d Hello.java > javac -deprecation Hello.java > javac -O -deprecation -verbose Hello.java > javac -O Hello.java

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

16

O Interpretador java Sintaxe: java [opções] NomedoArquivo [lista de Argumentos]

ArgumentoDescrição classpath path Localização das classes. Sobrepõe a variável de ambiente

Classpath; -help Exibe a lista de opções disponíveis; -version Exibe a versão do interpretador; -debug Inicia o interpretador no modo de "debug", geralmente em

conjunto com JDB; -D propriedade=valor Possibilita redefinição de valores de

propriedades. Pode ser usado várias vezes; -jar Indica o nome do arquivo (com extensão .jar) que contém a

classe a ser executada; -X Exibe a lista de opções não padronizadas do interpretador; -v ou -verbose Exibe informações extras sobre a execução, tais como,

mensagens indicando que uma classe está sendo carregada e etc;

Lista de Argumentos

Define a lista de argumentos que será enviada a aplicação.

Exemplos > java Hello > javac -version > java -D nome=“Meu Nome” Hello > java -verbose Hello > javac Hello MeuNome

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

17

Java Virtual Machine A JVM é parte do ambiente de "runtime" Java e é a responsável pela interpretação dos bytecodes (programa compilado em java), ou seja, a execução do código. A JVM consiste em um conjunto de instruções, conjunto de registradores, a pilha (stack) , garbage-collected heap e a área de memória (armazenamento de métodos). Funcões da JVM Java Virtual Machine :

 Segurança de código – Responsável por garantir a não execução de códigos maliciosos (ex. applets).

 Verificar se os bytecodes aderem às especificações da JVM e se não violam a integridade e segurança da plataforma;

 Interpretar o código;  Class loader – carrega arquivos .class para a memória.

OBS: Em tempo de execução estes bytecodes são carregados, são verificados através do Bytecode Verifier (uma espécie de vigilante) e somente depois de verificados serão executados.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

18

Coletor de Lixo A linguagem Java tem alocação dinâmica de memória em tempo de execução. No C e C++ (e em outras linguagens) o programa desenvolvido é responsável pela alocação e deslocamento da memória. Isto geralmente provoca alguns problemas. Durante o ciclo de execução do programa, o Java verifica se as variáveis de memória estão sendo utilizadas, caso não estejam o Java libera automaticamente esta área para o uso. Veja exemplo abaixo: import java.util.*; class GarbageExample {

private static Vector vetor; public static void main(String args[]) {

vetor = new Vector(); for (int a=0; a < 500; a++){

vetor.addElement(new StringBuffer("teste")); Runtime rt = Runtime.getRuntime(); System.out.println("Memória Livre: " + rt.freeMemory()); vetor = null; System.gc(); System.out.println("Memória Livre: " + rt.freeMemory());

} }

}

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

19

Escrevendo um pequeno programa 1 - Abra o editor de programas e crie o seguinte programa. public class Hello{

public static void main (String arg []){ String s = "world"; System.out.println("Hello " + s);

} } 2 - Salvar como: Hello.java 3 - Compile o programa com o seguinte comando: javac Hello.java 4 - Para executar, digite o comando: java Hello

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

20

Fundamentos da Linguagem Java Estrutura da Linguagem Comentários Temos três tipos permitidos de comentários nos programas feitos em Java:

 // comentário de uma única linha  /* comentário de uma ou mais linhas */  /** comentário de documentação */ (este tipo de comentário é usado pelo

utilitário  Javadoc, que é responsável por gerar documentação do código Java)

Exemplo int x=10; // valor de x Comentário de linha /* A variável x é integer */ int x; Exemplo onde o comentário usa mais que uma linha.Todo o texto entre "/*" e "*/", inclusive, são ignorados pelo compilador. /** x -- um valor inteiro representa a coordenada x */ int x; Todo o texto entre o "/**" e "*/", inclusive, são ignorados pelo compilador mas serão usados pelo utilitário javadoc.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

21

Estilo e organização

 No Java, blocos de código são colocados entre chaves { };  No final de cada instrução usa-se o ; (ponto e vírgula);  A classe tem o mesmo nome do arquivo .java;  Todo programa Java é representado por uma ou mais classes;  Normalmente trabalhamos com apenas uma classe por arquivo.  Case Sensitive;

Convenções de Códigos Nome da Classe: O primeiro caracter de todas as palavras que compõem devem iniciar com maiúsculo e os demais caracteres devem ser minúsculos. Ex. HelloWorld, MeuPrimeiroPrograma, BancoDeDados. Método, atributos e variáveis: Primeiro caracter minúsculo; Demais palavras seguem a regra de nomes da classes. Ex. minhaFunção, minhaVariavelInt. Constantes: Todos os caracteres maiúsculos e divisão de palavras utilizando underscore “_”. Ex. MAIUSCULO, DATA_NASCIMENTO. Exemplo: public class Exercicio1{

public static void main (String args []) {valor=10;System.out.println(valor);} }

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

22

Identificadores, palavras reservadas, tipos, variávies e Literais Identificadores Que são identificadores ? Identificadores são nomes que damos as classes, aos métodos e as variáveis. Regra: Um identificador deverá ser inicializado com uma letra, sublinhado ( _ ), ou sinal de cifrão ($). Em Java existe uma diferença entre letras maiúsculas e minúsculas. Veja alguns exemplos: Teste é diferente de TESTE teste é diferente de Teste Exemplos de identificadores: Alguns identificadores válidos: valor - userName - nome_usuario - _sis_var1 - $troca Exemplo: public class PessoaFisica Veja alguns inválidos: - 1nome - \TestClass - /metodoValidar

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

23

Palavras Reservadas As Palavras Reservadas, quer dizer que nenhuma das palavras da lista abaixo podem ser usadas como identificadores, pois, todas elas foram reservadas para a Linguagem Java. Veja o exemplo: public class TestPalavraReservada{

private int return =1; public void default(String hello){

System.out.println("Hello "); }

} Este programa provocará erros ao ser compilado: --------------------------- Compiler Output --------------------------- TestEstrutura.java:3: <identifier> expected private int return =1; ^ TestEstrutura.java:6: <identifier> expected public void default(String hello)

synchronized

this super return default else goto

interface extends implements final import new

native throws switch void throw protected

public private static package instanceof continue

finally try assert strictpf volatile transient

do while if short long for

float double int const class char

catch case byte break boolean abstract

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

24

Tipos de Dados Existem tipos básicos ou primitivos e os tipo de referência. Sintaxe padrão: <Tipo de dado> <nome da variável>; ou <Tipo de dado> <nome da variável> = valor da variável; <Tipo de dado> <nome da variável> = valor da variável,

<nome da variável> = valor da variável... ; Tipo Lógico - boolean: true e false Exemplo: boolean fim = true; Tipo Textual - char e String (String é uma classe) Um caracter simples usa a representação do tipo char. Java usa o sistema de codificação Unicode. Neste sistema o tipo char representa um caracter de 16-bit. O literal do tipo char pode ser representado com o uso do (‘ ‘). Exemplos a = ‘b’; ‘\n’ – nova linha ‘\r’ – enter ‘\t’ – tabulação ‘\\’ - \ ‘\” ”’ - “” ‘\u????’ – especifica um caracter Unicode o qual é representado na forma Hexadecimal. String (String é uma classe) O tipo String é um tipo referência que é usado para representar uma seqüência de caracteres. Exemplo String s = “Isto é uma string”, Inteiros – byte, short, int e long Possuem somente a parte inteira, ou seja, não suportam casas decimais.

Programação Orientada a Objetos

Anotações

Liguanguem de programação JAVA

25

Exemplos int i = 10, int i = 11; byte b = 1; Todo número Inteiro escrito em Java é tratado como int, desde que seu valor esteja na faixa de valores do int. Quando declaramos uma variável do long é necessário acrescentar um literal L, caso contrário esta poderá ser tratada como int, que poderia provocar problemas. Long L = 10L; Ponto Flutuante São os tipos que têm suporte às casas decimais e maior precisão numérica. Existem dois tipos em Java: o float e o double. O valor default é double, ou seja, todo vez que for acrescentado a literal F, no variável tipo float, ela poderá ser interpretada como variável do tipo double. Exemplos float f = 3.1f; float div = 2.95F; double d1 = 6.35, d2 = 6.36, d3 = 6.37; double pi = 3.14D; Regra: Os tipos float e double quando aparecem no mesmo programa é necessário identificá-los, para que não comprometa a precisão numérica: float f = 3.1F; double d = 6.35; Uma vez não identificado, ao tentar compilar o programa, será emitida uma mensagem de erro.

Até o momento nenhum comentário
Esta é apenas uma pré-visualização
3 mostrados em 376 páginas
Baixar o documento