13

>/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

Embed Size (px)

Citation preview

Page 1: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

José Jesse Gonçalves

INFORMAÇÃO E COMUNICAÇÃO

LINGUAGEM DEPROGRAMAÇÃO JAVA

Page 2: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além
Page 3: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

AutorJosé Jesse GonçalvesGraduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado em Gestão do Conhecimento e da Tecnologia da Informação (2008), ambos pela UCB . Foi pro-fessor em cursos de Sistemas de Informação do ensino superior, além de desenvolvedor e rotei-rista de cursos de Educação a Distância. Possui publicações na área de Informática na Educação e, atualmente, é Gerente de Projetos do Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira (Inep).

RevisãoNT Editora e Figuramundo

Projeto GráficoNT Editora

Editoração EletrônicaNT Editora e Figuramundo

CapaNT Editora

NT Editora, uma empresa do Grupo NTSCS Q2 - Bl. D - Salas 307 e 308 - Ed. Oscar NiemeyerCEP 70316-900 - Brasília - DFFone: (61) [email protected] e www.grupont.com.br

Linguagem de Programação Java. / NT Editora.

-- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.

ISBN - 000-00-00000-00-0

Linguagem de Programação Java

Copyright © 2014 por NT Editora.Nenhuma parte desta publicação poderá ser reproduzida por

qualquer modo ou meio, seja eletrônico, fotográfico, mecânico ou outros, sem autorização prévia e escrita da NT editora.

Page 4: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

LEGENDA

ÍCONES

Prezado(a) aluno(a),Ao longo dos seus estudos, você encontrará alguns ícones na coluna lateral do mate-rial didático. A presença desses ícones o(a) ajudará a compreender melhor o conteúdo abordado e também como fazer os exercícios propostos. Conheça os ícones logo abaixo:

Saiba MaisEsse ícone apontará para informações complementares sobre o assunto que você está estudando. Serão curiosidades, temas afins ou exemplos do cotidi-ano que o ajudarão a fixar o conteúdo estudado.

ImportanteO conteúdo indicado com esse ícone tem bastante importância para seus es-tudos. Leia com atenção e, tendo dúvida, pergunte ao seu tutor.

DicasEsse ícone apresenta dicas de estudo.

Exercícios Toda vez que você vir o ícone de exercícios, responda às questões propostas.

Exercícios Ao final das lições, você deverá responder aos exercícios no seu livro.

Bons estudos!

LEGENDA

Page 5: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

4 NT Editora

Sumário

1. CONVERSA INICIAL ................................................................................................... 71.1 O que é o Java? ...................................................................................................................................... 71.2 Como o Java funciona? ...................................................................................................................... 81.3 Características da linguagem Java ................................................................................................. 9

2. PREPARANDO O AMBIENTE ................................................................................... 132.1 Introdução ............................................................................................................................................132.2 Baixando o JDK....................................................................................................................................142.3 Instalação do JDK ...............................................................................................................................152.4 Verificando a instalação ...................................................................................................................15

3. MEU PRIMEIRO PROGRAMA EM JAVA .................................................................. 203.1 Introdução ............................................................................................................................................203.2 Um programa simples em Java .....................................................................................................203.3 Comentários e espaços em branco ..............................................................................................203.4 Declaração da classe pública .........................................................................................................223.5 Declaração do método main() .......................................................................................................233.6 Compilando e executando o programa .....................................................................................25

4. TIPOS PRIMITIVOS DE DADOS E DECLARAÇÃO DE VARIÁVEIS E CONSTANTES ...... 294.1 Tipos primitivos de dados ...............................................................................................................294.2 Nomes de variáveis ............................................................................................................................314.3 Declaração de variáveis ....................................................................................................................314.4 Inicialização de variáveis..................................................................................................................324.5 Constantes ............................................................................................................................................32

5. OPERAÇÕES COM VARIÁVEIS ................................................................................ 375.1 Operadores aritméticos ...................................................................................................................375.2 Forma reduzida e hierarquia dos operadores aritméticos ..................................................385.3 Operadores de incremento e decremento ...............................................................................395.4 Expressões lógicas .............................................................................................................................405.5 Operadores relacionais ....................................................................................................................40

Page 6: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

5Linguagem de Programação Java

6. CONTROLE DE FLUXO ...............................................................................................486.1 Introdução ..............................................................................................................................................486.2 If-else ........................................................................................................................................................486.3 Switch-case .............................................................................................................................................496.4 While .........................................................................................................................................................516.5 Do-while ..................................................................................................................................................526.6 For ..............................................................................................................................................................52

7. CONCEITOS BÁSICOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS ..................577.1 Introdução ..............................................................................................................................................577.2 Classes e objetos...................................................................................................................................577.3 Encapsulamento ...................................................................................................................................597.4 Herança ....................................................................................................................................................607.5 Sobreposição de métodos ................................................................................................................61

8. CLASSES E OBJETOS COM JAVA ..............................................................................658.1 Introdução ..............................................................................................................................................658.2 Definindo atributos da classe ..........................................................................................................658.3 Instanciando a classe ..........................................................................................................................668.4 Instanciando a classe ..........................................................................................................................668.5 Encapsulamento ...................................................................................................................................708.6 Construtores ...........................................................................................................................................738.7 Estendendo uma classe .....................................................................................................................77

Page 7: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além
Page 8: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

7Linguagem de Programação Java

1. CONVERSA INICIAL

Se você já tem experiência em lógica de programação e já andou se aventurando em algoritmos com alguma linguagem estruturada, isso lhe ajudará a entender mais rapidamente os conceitos abordados aqui.

“Como assim? A linguagem Java é orientada a objetos? Em que a programação estruturada vai me ajudar?”

Pode ajudar, e muito. Apesar de a orientação a objetos ser outro paradigma, uma forma diferen-te de compreender e “modelar” o mundo, conceitos aprendidos em programação estruturada também são usados.

Os conceitos sobre orientação a objetos serão abordados com mais detalhes nas próximas lições. Vamos conhecer agora um pouco mais sobre a tecnologia Java.

1.1 O que é o Java?A linguagem de programação Java é resultante de um trabalho consistente de pesquisa e foi

anunciada formalmente pela Sun Microsystems em 1995.

Por ser uma tecnologia voltada à Internet, suas características chamaram a atenção da comuni-dade de negócios por causa do enorme interesse na World Wide Web, que estava em plena expansão.

Além disso, o Java provocou bastante entusiasmo entre os desenvolvedores, pois não se trata apenas de uma linguagem de programação.

O Java também apresenta uma rica biblioteca, um ambiente para o desenvolvimento e execução de programas seguros e portáveis, não se prendendo, assim, a sistemas operacionais “proprietários”.

Exercitando o conhecimento...

Java não é apenas uma linguagem de programação orientada a objetos.

( ) Certo

( ) Errado

SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Page 9: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

8 NT Editora

De modo geral, o termo Java é usado para se referir, além da linguagem de programação orien-tada a objetos, ao ambiente de desenvolvimento e ao ambiente de execução.

O ambiente de desenvolvimento Java é constituído, dentre diversos outros utilitários, por: um compilador (o javac), uma Máquina Virtual (a JVM), um gerador de documentação (javadoc) e um con-junto padronizado de bibliotecas de classes.

A Java Virtual Machine (JVM), que quer dizer Máquina Virtual Java, permite a portabilidade do código Java. Ela fica embutida nas plata-

formas, como que simulando um processador, e pronta para interpretar os códigos Java

compilados.

Dessa forma, é possível desenvolver uma aplicação sem se preocupar onde ela será

executada, pois se a JVM adequada estiver instalada, o código será executado.

1.2 Como o Java funciona?

Vamos entender melhor como o Java funciona?1 – Código-fonte: Na linguagem de programação Java, os códigos-fontes são primeiramente

escritos em arquivos textos armazenados com a extensão .java.

2 – Compilador: O documento com a extensão .java é executado em um compilador de códi-go-fonte, o javac. O compilador procura por erros e não permite que o código-fonte seja compilado enquanto erros forem detectados.

3 – Saída (código): Os códigos fontes são, então, compilados em arquivos .class, pelo compi-lador javac. Os arquivos .class não contém códigos nativos dos processadores de máquinas, em vez disso, possuem bytecodes (linguagem de máquina da Máquina Virtual Java).

4 – Máquinas Virtuais Java: Finalmente, a ferramenta de execução java roda a aplicação com uma instância da JVM. A JVM converterá o bytecode em algo que a plataforma subjacente entenda para, dessa forma, executar o programa.

Outras siglas que devem ser mencionadas:

JRE – O Java Runtime Environment (JRE), ou Ambiente de Tempo de Execução Java, contém tudo aquilo (bibliotecas, a JVM e outros componentes) que um usuário comum precisa para executar uma aplicação escrita na linguagem de programação Java. O JRE pode ser distribuído com as aplicações para torná-las portáveis.

JDK – O Java Development Kit (JDK), ou Kit de Desenvolvimento Java, é um conjunto de utilitá-rios para desenvolver aplicações em Java. É composto pelo JRE e por ferramentas de desenvolvimento, tais como: compilador da linguagem Java (javac); interpretador Java (java); debugger (jdb); gerador de documentação (javadoc); visualizador de applets (appletviewer), etc.

JVM adequada: Para plataformas diferentes existem Máquinas Virtuais Java diferentes. Por exemplo, existem JVMs distintas para os sistemas operacionais Microsoft Windows, Linux, Solaris OS e Mac OS.

Applets: programas executados dentro de um navegador Web. Quando um navegador carrega uma página da Web que contém um applet, o applet é baixado para o navegador e começa a ser executado. O appletviewer permite a visualização de applets fora de um navegador Web.

SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Page 10: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

9Linguagem de Programação Java

É essencial saber esses conceitos básicos para depois nos aventurarmos na programação sa-bendo como o Java funciona.

1.3 Características da linguagem JavaA linguagem de programação Java é uma linguagem de alto nível. Dentre as diversas caracterís-

ticas dessa linguagem, podemos citar:

Simples e familiar: o aprendizado da linguagem de programação Java pode ser obtido em pouco tempo. Além disso, é uma linguagem muito parecida com as linguagens C e C++, que são lin-guagens muito populares.

Orientada a objetos: desde o início de seu desenvolvimento, a linguagem de programação Java foi projetada para ser orientada a objetos e não é possível desenvolver nenhum programa em Java sem seguir esse paradigma. A orientação a objetos modela o mundo real com classes e instân-cias. Sendo assim, objetos e classes são conceitos centrais em Java que interagem entre si para atingir um resultado esperado.

Robusta: A linguagem de programação Java é projetada para o desenvolvimento de softwares altamente confiáveis. Fornece verificação do código na compilação, seguido por um segundo nível de verificação em tempo de execução.

Um fator importante é o que entre programadores é chamado de “linguagem fortemente tipi-ficada”. Significa que os tipos de dados devem ser definidos para que o código seja compilado.

Outro fator importante é que o modelo de gerenciamento de memória dessa linguagem é muito simples e evita que os programas tenham acesso direto à memória, deixando esse controle a cargo do sistema operacional.

Com coletor de lixo: O Coletor de lixo (Garbage Collector) é um recurso usado para a liberação de memória. É um processo que roda em segundo plano e é responsável pela liberação de memória alocada por variáveis e objetos que não mais serão utilizadas pela aplicação.

Muitas linguagens de programação permitem que espaços de memória sejam alocados em tempo de execução e o gerenciamento de memória, que nem sempre é simples, é responsabilidade do programador. É o programador, então, que tem que se preocupar com a alocação e liberação de memória. Assim, quando os dados armazenados nesse espaço alocado não são mais necessários, o

programa deve liberar esse espaço reservado para evitar erros graves.

Na linguagem Java, os programadores ficam livres desse fardo, pois a responsabilidade do gerenciamento de

memória é do Coletor de lixo, que de tempos em tempos varre a memória e libera os espaços que não estão sen-do mais usados.

Segura: A tecnologia Java foi projetada para ope-rar em ambientes distribuídos, o que significa que a se-gurança tem importância primordial. Aplicações Java são executadas em ambiente próprio, o Java Runtime Environ-

ment (JRE). Isto permite o desenvolvimento de aplicações que não possam ser invadidas de fora do ambiente de execução e que evitam, também, a intrusão de códigos não-autorizados.

Linguagem de alto nível: Essas linguagens possuem palavras e frases mais próximas de nossa realidade. Para que possamos programar em uma linguagem de alto nível, não é necessário ter o conhecimento das linguagens de máquina.

SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Page 11: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

10 NT Editora

Independente de plataforma: Os programas em Java são considerados independentes de plataforma, isto é, portáveis. Isto porque esses programas podem ser executados em praticamente qualquer máquina que possua a Java Virtual Machine (JVM) instalada. Antes de ser executado, porém, um programa em Java tem que ser compilado para que o código-fonte seja traduzido para uma lin-guagem intermediária (bytecode), que pode ser interpretada pela JVM.

Exercícios

Questão 01 – Assinale a alternativa que apresenta componentes apenas do JRE (Java Runtime Environment).

a) Javac e javadoc.

b) Compilador e Máquina Virtual Java.

c) Bibliotecas e a Máquina Virtual Java.

d) Javac e appletviewer.

Questão 02 – O javac é o:

a) compilador;

b) gerador de documentação;

c) ambiente de execução;

d) interpretador.

Questão 03 – Baseado nas afirmações abaixo, assinale a alternativa correta:

I – O Java Runtime Environment (JRE) contém os componentes necessários para a exe-cução de uma aplicação escrita na linguagem de programação Java.

II – Quando acionado, o javac procura por erros no código-fonte e não permite que ele seja compilado enquanto erros forem detectados.

III – A mesma Java Virtual Machine é usada para os sistemas operacionais Microsoft Win-dows, Linux e Solaris SO.

a) Todas as afirmações estão corretas.

b) Apenas as afirmações I e II estão corretas.

c) Apenas as afirmações II e III estão corretas.

d) Apenas a afirmação II está correta.

Questão 04 – Selecione a alternativa que apresenta as palavras que preenchem respec-tivamente as lacunas do seguinte texto:

“Na linguagem de programação Java, os códigos-fonte são primeiramente escritos em arquivos textos armazenados com a extensão . Os códigos fontes são com-pilados em arquivos com a extensão pelo compilador .”

Parabéns, você finalizou esta lição!

Agora responda às questões ao lado.

SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Page 12: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

11Linguagem de Programação Java

a) .txt, .java, javac.

b) .class, .java, javadoc.

c) .java, .class, javac.

d) .java, .javadoc, .class.

Questão 05 – Os programas em Java são considerados portáveis. O principal compo-nente responsável pela portabilidade é:

a) o applet;

b) o código-fonte;

c) o debbuger;

d) a JVM.

Questão 06 – Dentre as afirmativas abaixo, está(ão) correta(s) apena(s) a(s):I – O JDK é um conjunto de utilitários para desenvolver aplicações em Java. II – O JRE contém componentes para a execução de uma aplicação escrita na linguagem

de programação Java e não faz parte dos utilitários do JDK.III – O compilador javac e o interpretador java são utilitários do JDK.

a) I e II;

b) II, III;

c) I, III;

d) I.

Questão 07 – Recurso usado para a liberação de memória. É um processo que roda em segundo plano e é responsável pela liberação de memória alocada por variáveis e objetos que não mais serão utilizadas pela aplicação. Trata-se:

a) da Máquina virtual;

b) do Coletor de lixo;

c) do compilador;

d) da Memória virtual.

Questão 08 – Assinale a alternativa que apresenta a característica da linguagem de programação Java à qual se refere a seguinte descrição:

“Aplicações Java são executadas em ambiente próprio, o que permite que você construa aplicações que não possam ser invadidas de fora do ambiente.”

a) segurança;

b) portabilidade;

c) distribuída;

d) estruturada.

SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Page 13: >/E'h ' D WZK'Z D K : s - avant.grupont.com.bravant.grupont.com.br/.../Linguagem_de_Programacao_JAVA_demo.pdf · fessor em cursos de Sistemas de Informação do ensino superior, além

12 NT Editora

Questão 09 – Assinale a alternativa incorreta a respeito da linguagem Java:

a) é uma linguagem orientada a objetos.

b) um programa deve ser compilado para poder ser executado.

c) é projetada para o desenvolvimento de softwares confiáveis;

d) Os tipos de dados não precisam necessariamente ser definidos para que o código seja compilado.

Questão 10 – Assinale a alternativa correta:

a) códigos-fonte em Java são escritos em bytecodes;

b) o compilador transforma arquivos em bytecodes para uma linguagem interpretada por processadores;

c) o JRE é o ambiente de desenvolvimento JAVA;

d) os programas em Java podem ser executados em praticamente qualquer máquina que possua a JRE instalada.

SUMÁRIO

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.