1.1 O que é o Java? - Avant

Propaganda
Autor
José Jesse Gonçalves
Graduado 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 professor em cursos de Sistemas de Informação do ensino superior, além de desenvolvedor e roteirista 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ão
NT Editora e Figuramundo
Projeto Gráfico
NT Editora
Editoração Eletrônica
NT Editora e Figuramundo
Capa
NT Editora
NT Editora, uma empresa do Grupo NT
SCS Q2 - Bl. D - Salas 307 e 308 - Ed. Oscar Niemeyer
CEP 70316-900 - Brasília - DF
Fone: (61) 3421-9200
[email protected]
www.nteditora.com.br e www.grupont.com.br
Programação de Computadores II: Java. / NT Editora.
-- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.
ISBN - 978-85-68004-69-2
1. Programação de Computadores II - 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.
LEGENDA
ÍCONES
Prezado(a) aluno(a),
Ao longo dos seus estudos, você encontrará alguns ícones na coluna lateral do material 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 Mais
Esse ícone apontará para informações complementares sobre o assunto que
você está estudando. Serão curiosidades, temas afins ou exemplos do cotidiano que o ajudarão a fixar o conteúdo estudado.
Importante
O conteúdo indicado com esse ícone tem bastante importância para seus estudos. Leia com atenção e, tendo dúvida, pergunte ao seu tutor.
Dicas
Esse í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!
Sumário
1. CONVERSA INICIAL��������������������������������������������������������������������������������������������������� 7
1.1 O que é o Java?�������������������������������������������������������������������������������������������������������������������������������������� 7
1.2 Como o Java funciona?���������������������������������������������������������������������������������������������������������������������� 8
1.3 Características da linguagem Java������������������������������������������������������������������������������������������������� 9
2. PREPARANDO O AMBIENTE����������������������������������������������������������������������������������� 13
2.1 Introdução��������������������������������������������������������������������������������������������������������������������������������������������13
2.2 Baixando o JDK�����������������������������������������������������������������������������������������������������������������������������������14
2.3 Instalação do JDK�������������������������������������������������������������������������������������������������������������������������������15
2.4 Verificando a instalação�������������������������������������������������������������������������������������������������������������������15
3. MEU PRIMEIRO PROGRAMA EM JAVA������������������������������������������������������������������ 20
3.1 Introdução��������������������������������������������������������������������������������������������������������������������������������������������20
3.2 Um programa simples em Java�����������������������������������������������������������������������������������������������������20
3.3 Comentários e espaços em branco����������������������������������������������������������������������������������������������20
3.4 Declaração da classe pública���������������������������������������������������������������������������������������������������������22
3.5 Declaração do método main()�������������������������������������������������������������������������������������������������������23
3.6 Compilando e executando o programa�������������������������������������������������������������������������������������25
4. TIPOS PRIMITIVOS DE DADOS E DECLARAÇÃO DE VARIÁVEIS E CONSTANTES������ 29
4.1 Tipos primitivos de dados���������������������������������������������������������������������������������������������������������������29
4.2 Nomes de variáveis����������������������������������������������������������������������������������������������������������������������������31
4.3 Declaração de variáveis��������������������������������������������������������������������������������������������������������������������31
4.4 Inicialização de variáveis�����������������������������������������������������������������������������������������������������������������32
4.5 Constantes��������������������������������������������������������������������������������������������������������������������������������������������32
5. OPERAÇÕES COM VARIÁVEIS�������������������������������������������������������������������������������� 37
5.1 Operadores aritméticos�������������������������������������������������������������������������������������������������������������������37
5.2 Forma reduzida e hierarquia dos operadores aritméticos��������������������������������������������������38
5.3 Operadores de incremento e decremento�������������������������������������������������������������������������������39
5.4 Expressões lógicas�����������������������������������������������������������������������������������������������������������������������������40
5.5 Operadores relacionais��������������������������������������������������������������������������������������������������������������������40
4
NT Editora
6. CONTROLE DE FLUXO�����������������������������������������������������������������������������������������������48
6.1 Introdução����������������������������������������������������������������������������������������������������������������������������������������������48
6.2 If-else��������������������������������������������������������������������������������������������������������������������������������������������������������48
6.3 Switch-case���������������������������������������������������������������������������������������������������������������������������������������������49
6.4 While���������������������������������������������������������������������������������������������������������������������������������������������������������51
6.5 Do-while��������������������������������������������������������������������������������������������������������������������������������������������������52
6.6 For��������������������������������������������������������������������������������������������������������������������������������������������������������������52
7. CONCEITOS BÁSICOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS������������������57
7.1 Introdução����������������������������������������������������������������������������������������������������������������������������������������������57
7.2 Classes e objetos����������������������������������������������������������������������������������������������������������������������������������57
7.3 Encapsulamento�����������������������������������������������������������������������������������������������������������������������������������59
7.4 Herança����������������������������������������������������������������������������������������������������������������������������������������������������60
7.5 Sobreposição de métodos����������������������������������������������������������������������������������������������������������������61
8. CLASSES E OBJETOS COM JAVA������������������������������������������������������������������������������65
8.1 Introdução����������������������������������������������������������������������������������������������������������������������������������������������65
8.2 Definindo atributos da classe����������������������������������������������������������������������������������������������������������65
8.3 Instanciando a classe��������������������������������������������������������������������������������������������������������������������������66
8.4 Instanciando a classe��������������������������������������������������������������������������������������������������������������������������66
8.5 Encapsulamento�����������������������������������������������������������������������������������������������������������������������������������70
8.6 Construtores�������������������������������������������������������������������������������������������������������������������������������������������73
8.7 Estendendo uma classe���������������������������������������������������������������������������������������������������������������������77
Programação de Computadores II: Java
5
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 diferente 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.
Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados.
Por ser uma tecnologia voltada à Internet, suas características chamaram a atenção da comunidade 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
Programação de Computadores II: Java
7
De modo geral, o termo Java é usado para se referir, além da linguagem de programação orientada 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 conjunto 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 plataformas, como que simulando um processador,
e pronta para interpretar os códigos Java
compilados.
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.
8
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ódigo-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 compilador 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.
NT Editora
SUMÁRIO
Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados.
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.
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.
É essencial saber esses conceitos básicos para depois nos aventurarmos na programação sabendo como o Java funciona.
1.3 Características da linguagem Java
A linguagem de programação Java é uma linguagem de alto nível. Dentre as diversas características 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 linguagens 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âncias. 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.
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.
Um fator importante é o que entre programadores é chamado de “linguagem fortemente tipificada”. Significa que os tipos de dados devem ser definidos para que o código seja compilado.
Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados.
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 sendo mais usados.
Segura: A tecnologia Java foi projetada para operar em ambientes distribuídos, o que significa que a segurança tem importância primordial. Aplicações Java são
executadas em ambiente próprio, o Java Runtime Environment (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.
SUMÁRIO
Programação de Computadores II: Java
9
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 linguagem intermediária (bytecode), que pode ser interpretada pela JVM.
Exercícios
Parabéns,
você
finalizou
esta lição!
Agora
responda
às questões
ao lado.
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 execuçã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.
Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados.
III – A mesma Java Virtual Machine é usada para os sistemas operacionais Microsoft Windows, 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 respectivamente 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 compilados em arquivos com a extensão
pelo compilador
.”
10
NT Editora
SUMÁRIO
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 componente 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:
Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados.
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
Programação de Computadores II: Java
11
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;
Reprodução proibida. Copyright © NT Editora. Todos os direitos reservados.
d)os programas em Java podem ser executados em praticamente qualquer máquina
que possua a JRE instalada.
12
NT Editora
SUMÁRIO
Download