Buscar

Programação de Computadores

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 282 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 282 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 282 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

Prévia do material em texto

Indaial – 2020
Programação de 
ComPutadores
Prof. Marcio Poffo
1a Edição
Copyright © UNIASSELVI 2020
Elaboração:
Prof. Marcio Poffo
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri 
UNIASSELVI – Indaial.
Impresso por:
P745p
Poffo, Marcio
Programação de computadores. / Marcio Poffo. – Indaial: 
UNIASSELVI, 2020.
272 p.; il.
ISBN 978-65-5663-085-4
1. Programação (Computadores). - Brasil. 2. Linguagem de 
programação. – Brasil. Centro Universitário Leonardo Da Vinci.
CDD 005.1
III
aPresentação
As primeiras linguagens de programação não possuíam muitos 
recursos como as atuais, sendo utilizadas mais exclusivamente para rotinas 
batch ou, ainda, para desenvolvimento de simples telas de cadastros. Com 
o passar do tempo, novos recursos surgiram com as novas linguagens de 
programação, como a possibilidade de desenvolvimento de telas mais 
amigáveis para o usuário, com vários recursos interativos, assim como a 
comunicação dos programas via internet. 
Com isso, a linguagem de programação Java permite o 
desenvolvimento de aplicações desktop, mais amigáveis para o usuário e 
com vários recursos interativos, assim como aplicações web (sistemas web 
ou sites), aplicativos para smartphones, além de software para muitos outros 
dispositivos. Neste sentido, muitos serviços on-line foram implementados 
utilizando essa tecnologia, pois com o Java é possível o desenvolvimento 
de qualquer aplicação, tanto desktop quanto web, desde serviços até 
webservices.
Para isso, o desenvolvimento de software utilizando a tecnologia 
Java tornou-se mais facilitado e, em certos casos, até menos trabalhoso, 
devido ao surgimento de metodologias de desenvolvimento e padrões para 
reusabilidade de código. Nesse contexto, a linguagem de programação Java 
foi projetada para abranger várias melhorias, facilidades de desenvolvimento 
e manutenção através de padronização de código-fonte, além de permitir 
aplicações robustas com vários recursos avançados. Dentre estes benefícios, 
segue a orientação a objetos, a portabilidade, a qual permite a execução de 
programas em qualquer ambiente, vários recursos de redes, através das mais 
variadas bibliotecas que auxiliam o desenvolvimento de aplicações em rede, 
segurança e muitos outros. 
Contudo, não é possível apresentarmos todos os recursos da 
linguagem de programação Java, pois tornaria o livro muito extenso, porém 
são apresentados desde os conceitos básicos, implementando pequenos 
programas até chegar ao desenvolvimento web. Isso permite a compreensão 
básica dessa linguagem, facilitando seu ingresso em outras metodologias e 
frameworks de desenvolvimento que o Java oferece. Você aprenderá também 
a desenvolver aplicações web que realizam persistência em banco de dados, 
consultando, inserindo, atualizando e excluindo registros de tabelas.
Nesse sentido, com o objetivo de apresentarmos algumas das 
tecnologias do Java, este livro aborda seus conceitos, permitindo a você 
compreendê-las e entender qual delas utilizar para cada tipo de software, 
isto é, qual tecnologia utilizar para um software desktop e qual tecnologia 
IV
utilizar para uma aplicação web, por exemplo. Para o desenvolvimento 
web, você aprenderá apenas uma das tecnologias do Java que permite o 
desenvolvimento desse tipo de aplicação, conceitualmente e na prática, 
aplicando recursos no desenvolvimento de uma aplicação, que servirá de 
início para seu sucesso nessa linguagem.
Outra grande vantagem ao desenvolver softwares utilizando a 
tecnologia Java, além de permitir o desenvolvimento de qualquer aplicação, 
simples ou robusta, é a colaboração de comunidades de desenvolvedores, o 
que facilita ao desenvolvedor tirar dúvidas em algum determinado problema 
que surgir durante a implementação. Além disso, aplicações desenvolvidas 
com a linguagem de programação Java são multiplataforma, isto é, é possível 
executar a mesma aplicação em qualquer sistema operacional, assim como 
em vários hardwares diferentes, desde que o interpretador do Java esteja 
instalado. Assim, softwares desenvolvidos em Java são emulados pela JVM 
(Java Virtual Machine), a qual realiza a conversão do código-fonte em bytecodes, 
e deste em linguagem de máquina, a qual o computador compreende.
Por fim, no contexto deste livro são apresentados alguns dos recursos 
disponibilizados pela plataforma Java, na qual você aprenderá e compreenderá 
desde a criação dos tipos de variáveis e constantes, assim como utilizá-los, 
seguido da configuração completa do ambiente de desenvolvimento Java, 
para que você consiga praticar todos os exemplos apresentados. Logo após são 
apresentados os comandos básicos da linguagem de programação Java, isto 
é, os operadores lógicos, aritméticos, relacionais, os quais são essenciais para 
o desenvolvimento de qualquer software, implementando regras de negócios 
e auxiliando o fluxo dos programas através dos comandos de controle de 
fluxos e laços de repetição. Você também aprenderá o conceito da orientação 
a objetos, assim como a implementação prática de exemplos, e no decorrer 
dos tópicos, a utilização de algumas tecnologias de desenvolvimento.
Para compreender todos os conteúdos deste livro, você precisará ter 
muita determinação e força de vontade, desenvolvendo todos os exemplos 
na prática, facilitando seu entendimento da tecnologia Java, sendo fornecido 
um material com o passo a passo para sua fácil compreensão. Nesse sentido, 
realize este período de estudos com o máximo de dedicação possível, 
pois através deste livro você terá conhecimentos sólidos da linguagem de 
programação Java, além de aprimorar os seus conhecimentos de lógica.
Lembre-se de que neste livro você aprenderá desde o básico da 
plataforma Java até o desenvolvimento de algumas tecnologias que o Java 
oferece, permitindo que você, no futuro, busque conhecimentos de novas 
tecnologias que essa linguagem de programação oferece.
Bons estudos e boa programação!
Prof. Me. Marcio Poffo
V
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para 
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há 
novidades em nosso material.
Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é 
o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um 
formato mais prático, que cabe na bolsa e facilita a leitura. 
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova 
diagramação no texto, aproveitando ao máximo o espaço da página, o que também 
contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo.
Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, 
apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilidade 
de estudá-lo com versatilidade nas telas do celular, tablet ou computador. 
 
Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para 
apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assunto 
em questão. 
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas 
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa 
continuar seus estudos com um material de qualidade.
Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de 
Desempenho de Estudantes – ENADE. 
 
Bons estudos!
NOTA
Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela 
um novo conhecimento. 
Com o objetivo de enriquecer seu conhecimento, construímos, além do livro 
que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você terá 
contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complementares, 
entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento.
Acesse o QR Code, que levará ao AVA,e veja as novidades que preparamos para seu estudo.
Conte conosco, estaremos juntos nesta caminhada!
LEMBRETE
VI
VII
UNIDADE 1 – LINGUAGEM DE PROGRAMAÇÃO JAVA ............................................................1
TÓPICO 1 – APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA ......................3
1 INTRODUÇÃO .......................................................................................................................................3
2 HISTÓRIA DO JAVA .............................................................................................................................3
3 MÁQUINA VIRTUAL DO JAVA (JAVA VIRTUAL MACHINE – JVM) ........................................4
4 JIT (JUST-IN-TIME COMPILER) E O CLASS LOADER ................................................................7
5 VERSÕES DO JAVA ...............................................................................................................................8
6 JVM, JRE E JDK .......................................................................................................................................8
7 DESENVOLVENDO E COMPILANDO EM JAVA ..........................................................................8
8 EXECUTANDO O PROGRAMA EM JAVA .....................................................................................13
9 ERROS DE COMPILAÇÃO COMUNS ............................................................................................14
10 VARIÁVEIS PRIMITIVAS, CONSTANTES E CONVERSÕES ................................................15
10.1 VARIÁVEIS PRIMITIVAS ...........................................................................................................15
10.2 CONSTANTES ..............................................................................................................................18
10.3 CRIANDO UMA APLICAÇÃO COM VARIÁVEIS ................................................................18
10.4 DECLARAÇÃO E UTILIZAÇÃO DE VARIÁVEIS DE TIPOS DE DADOS PRIMITIVOS ....20
11 COMENTÁRIO DE LINHAS DE CÓDIGO-FONTE ..................................................................21
12 OPERADORES DA LINGUAGEM .................................................................................................23
12.1 OPERADOR DE ATRIBUIÇÃO .................................................................................................23
12.2 OPERADORES ARITMÉTICOS .................................................................................................24
12.3 OPERADORES DE IGUALDADE .............................................................................................24
12.4 OPERADORES RELACIONAIS.................................................................................................25
12.5 OPERADORES LÓGICOS ..........................................................................................................25
12.6 OPERADORES DE INCREMENTO E DECREMENTO .........................................................26
RESUMO DO TÓPICO 1........................................................................................................................27
AUTOATIVIDADE .................................................................................................................................28
TÓPICO 2 – INSTALAÇÃO E CONFIGURAÇÃO DO AMBIENTE DE 
DESENVOLVIMENTO ....................................................................................................31
1 INTRODUÇÃO .....................................................................................................................................31
2 INSTALAÇÃO DO JAVA DEVELOPMENT KIT (JDK) ...............................................................32
3 INSTALAÇÃO DO SISTEMA GERENCIADOR DE BANCO DE DADOS MYSQL .............37
3.1 CONHECENDO O MYSQL ...........................................................................................................37
3.2 INSTALAÇÃO DE CONFIGURAÇÃO DO MYSQL ..................................................................39
4 AMBIENTE DE DESENVOLVIMENTO ECLIPSE ........................................................................44
4.1 INSTALAÇÃO E CONFIGURAÇÃO DO ECLIPSE ...................................................................45
4.2 CONHECENDO O ECLIPSE .........................................................................................................47
4.2.1 Janelas/Visualizações (Views) ................................................................................................49
4.2.2 Editor ........................................................................................................................................50
4.2.3 Barra de Menus (Menu Bar) ..................................................................................................51
4.2.4 Barra de Ferramentas (Toolbar) .............................................................................................51
sumário
VIII
5 INSTALAÇÃO E CONFIGURAÇÃO DO SERVIDOR DE APLICAÇÃO TOMCAT 
 NO ECLIPSE ..........................................................................................................................................51
5.1 APPLICATION SERVER E SERVLET CONTAINER ....................................................................52
5.2 CONHECENDO MELHOR O TOMCAT .....................................................................................52
5.3 BAIXANDO O TOMCAT ................................................................................................................53
5.4 CONFIGURAÇÃO DO TOMCAT NO ECLIPSE ........................................................................53
6 CRIANDO UMA APLICAÇÃO PARA EXECUTAR NO TOMCAT ...........................................57
7 AMBIENTE DE DESENVOLVIMENTO NETBEANS...................................................................60
7.1 INSTALAÇÃO E CONFIGURAÇÃO DO NETBEANS .............................................................61
7.2 CONFIGURAÇÃO DO NETBEANS .............................................................................................62
7.3 JANELAS PARA VISUALIZAÇÕES NO NETBEANS ...............................................................65
RESUMO DO TÓPICO 2........................................................................................................................66
AUTOATIVIDADE .................................................................................................................................67
TÓPICO 3 – CASTING, CONTROLE DE FLUXO, LAÇOS DE REPETIÇÃO E 
CONCEITOS DA ORIENTAÇÃO A OBJETOS .........................................................69
1 INTRODUÇÃO .....................................................................................................................................69
2 CASTING: CONVERSÕES ENTRE VARIÁVEIS DE TIPOS DE DADOS DIFERENTES ....69
2.1 TIPOS DE DADOS QUE SÃO OBJETOS ......................................................................................72
3 COMANDOS DE CONTROLE DE FLUXO E LAÇOS DE REPETIÇÃO ..................................72
3.1 COMANDO CONDICIONAL IF ..................................................................................................73
3.2 COMANDO SWITCH .....................................................................................................................75
3.3 LAÇO DE REPETIÇÃO WHILE ....................................................................................................75
3.4 LAÇO DE REPETIÇÃO FOR .........................................................................................................77
3.5 CONTROLE BREAK E CONTINUE EM LAÇOS DE REPETIÇÃO .........................................77
3.6 ESCOPO DE VARIÁVEIS ...............................................................................................................79
4 DESENVOLVIMENTO PRÁTICO DE PROGRAMAS EM JAVA ..............................................80
4.1 EXEMPLO PRÁTICO 1 ...................................................................................................................814.2 EXEMPLO PRÁTICO 2 ...................................................................................................................82
4.3 EXEMPLO PRÁTICO 3 ...................................................................................................................84
LEITURA COMPLEMENTAR ...............................................................................................................85
RESUMO DO TÓPICO 3........................................................................................................................88
AUTOATIVIDADE .................................................................................................................................89
UNIDADE 2 – CONCEITOS DE ORIENTAÇÃO A OBJETOS, PACOTES JAVA.LANG E 
JAVA.IO, VETORES UNIDIMENSIONAIS E MULTIDIMENSIONAIS .........91
TÓPICO 1 – CONCEITOS DE ORIENTAÇÃO A OBJETOS ..........................................................93
1 INTRODUÇÃO .....................................................................................................................................93
2 CRIANDO UM TIPO: CLASSE EM JAVA .......................................................................................95
3 INSTÂNCIA DE UMA CLASSE: UTILIZANDO UM OBJETO ..................................................97
4 ATRIBUTOS E MÉTODOS DE UMA CLASSE ..............................................................................99
5 ENCAPSULAMENTO........................................................................................................................103
6 MODIFICADORES DE ACESSO ....................................................................................................104
7 HERANÇA ...........................................................................................................................................106
RESUMO DO TÓPICO 1......................................................................................................................108
AUTOATIVIDADE ...............................................................................................................................110
TÓPICO 2 – EXCEÇÕES E CONTROLE DE ERROS .....................................................................113
1 INTRODUÇÃO ...................................................................................................................................113
2 EXEMPLIFICANDO O TRATAMENTO DE EXCEÇÕES ...........................................................114
3 TRATAMENTO DE EXCEÇÕES EM JAVA ...................................................................................116
IX
4 TRATAMENTO DE EXCEÇÕES EM JAVA DO TIPO CHECKED ...........................................122
5 CLASSE THROWABLE .....................................................................................................................126
6 REALIZANDO O LANÇAMENTO DE EXCEÇÕES ...................................................................127
7 CRIANDO AS PRÓPRIAS EXCEÇÕES .........................................................................................131
8 CLÁUSULA FINALLY ........................................................................................................................132
RESUMO DO TÓPICO 2......................................................................................................................134
AUTOATIVIDADE ...............................................................................................................................135
TÓPICO 3 – PACOTES JAVA.LANG, JAVA.IO E VETORES .......................................................137
1 INTRODUÇÃO ...................................................................................................................................137
2 PACOTE JAVA.LANG ........................................................................................................................137
3 O PACOTE JAVA.IO ...........................................................................................................................143
4 CLASSE FILE .......................................................................................................................................144
5 CLASSE FILEINPUTSTREAM .........................................................................................................146
6 CLASSE FILEOUTPUTSTREAM ....................................................................................................149
7 ARRAYS .................................................................................................................................................152
8 ARRAYS MULTIDIMENSIONAIS .................................................................................................157
LEITURA COMPLEMENTAR .............................................................................................................161
RESUMO DO TÓPICO 3......................................................................................................................166
AUTOATIVIDADE ...............................................................................................................................167
UNIDADE 3 – TECNOLOGIAS DE DESENVOLVIMENTO JAVA ............................................169
TÓPICO 1 – INTERFACES GRÁFICAS ............................................................................................171
1 INTRODUÇÃO ...................................................................................................................................171
2 INTERFACES GUI NO JAVA ...........................................................................................................171
3 CLASSE JFRAME ................................................................................................................................173
4 CLASSE JLABEL .................................................................................................................................173
5 CLASSE JTEXTFIELD ........................................................................................................................174
6 CLASSE JPASSWORDFIELD ...........................................................................................................174
7 CLASSE JBUTTON ............................................................................................................................175
8 CRIAÇÃO DO FRAME PARA ACESSO DO USUÁRIO (LOGIN) ..........................................175
9 CLASSES JMENUBAR, JMENU E JMENUITEM ........................................................................179
10 CLASSE JPANEL ...............................................................................................................................183
11 CLASSE JCHECKBOX .....................................................................................................................185
12 CLASSE JRADIOBUTTON ............................................................................................................190
13 CLASSES JLIST .................................................................................................................................193
14 CLASSES JCOMBOBOX .................................................................................................................196
RESUMO DO TÓPICO 1......................................................................................................................200
AUTOATIVIDADE ...............................................................................................................................202
TÓPICO 2 – MANIPULAÇÃO DE DADOS: UTILIZANDO JDBC PARA DESKTOP ...........205
1 INTRODUÇÃO ...................................................................................................................................205
2 JDBC: MANIPULAÇÃO DE DADOS ............................................................................................205
3 CRIAÇÃO DE CLASSE DE CONEXÃO ........................................................................................2084 PADRÃO DAO ....................................................................................................................................215
5 APLICAÇÃO DESKTOP (SWING) COM BANCO DE DADOS ..............................................223
RESUMO DO TÓPICO 2......................................................................................................................233
AUTOATIVIDADE ...............................................................................................................................235
X
TÓPICO 3 – DESENVOLVIMENTO DE APLICAÇÃO WEB: JSP E SERVLET ........................239
1 INTRODUÇÃO ...................................................................................................................................239
2 JSP (JAVA SERVER PAGES) .............................................................................................................239
3 APLICAÇÃO CLIENTE COM JSP ..................................................................................................244
4 TECNOLOGIA SERVLET .................................................................................................................247
5 EXEMPLO DE APLICAÇÃO UTILIZANDO SERVLET E JSP ..................................................248
LEITURA COMPLEMENTAR .............................................................................................................264
RESUMO DO TÓPICO 3......................................................................................................................266
AUTOATIVIDADE ...............................................................................................................................268
REFERÊNCIAS .......................................................................................................................................270
1
UNIDADE 1
LINGUAGEM DE PROGRAMAÇÃO JAVA
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
A partir do estudo desta unidade, você deverá ser capaz de:
• conhecer a linguagem de programação Java;
• compreender os componentes básicos da linguagem;
• aprender a configurar o ambiente de desenvolvimento do Java, incluindo 
o sistema gerenciador de banco de dados MySQL;
• aprender a desenvolver pequenos algoritmos nesta linguagem.
Esta unidade está dividida em três tópicos. No decorrer da unidade você 
encontrará autoatividades com o objetivo de reforçar o conteúdo apresentado.
TÓPICO 1 – APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO 
JAVA
TÓPICO 2 – INSTALAÇÃO E CONFIGURAÇÃO DO AMBIENTE DE 
DESENVOLVIMENTO
TÓPICO 3 – CASTING, CONTROLE DE FLUXO, LAÇOS DE REPETIÇÃO 
E CONCEITOS DA ORIENTAÇÃO A OBJETOS
Preparado para ampliar seus conhecimentos? Respire e vamos 
em frente! Procure um ambiente que facilite a concentração, assim absorverá 
melhor as informações.
CHAMADA
2
3
TÓPICO 1
UNIDADE 1
APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
1 INTRODUÇÃO
Antes de ingressar na atividade de programação propriamente dita, é 
interessante compreender um pouco da história da plataforma Java, o que facilita 
o entendimento do porquê esta linguagem de programação obter sucesso, e, 
atualmente, a maioria das organizações a utilizam, direta ou indiretamente.
Na época do desenvolvimento de software com linguagens antigas havia 
muitos problemas recorrentes da atividade de desenvolvimento de sistemas, 
por exemplo, o gerenciamento de memória, a organização de códigos-fonte, 
bibliotecas, reescrita de código-fonte ao ter que rodar a aplicação em outro 
sistema operacional a que este não foi projetado, assim como o custo financeiro 
de se utilizar uma tecnologia.
Neste sentido, a linguagem de programação Java resolve todos esses 
problemas, pois essa linguagem possui um bom gerenciamento de memória, o 
código-fonte pode ser dividido em classes, conceito que você aprenderá neste 
livro. Além disso, a importação de bibliotecas para o projeto é bem simples, e 
todas, senão a maioria, são gratuitas, assim como a própria tecnologia Java, a 
qual não possui custo, e a aplicação desenvolvida com essa tecnologia pode ser 
executada em qualquer sistema operacional.
Com o tempo, o Java passou a ser a tecnologia utilizada para 
desenvolvimento de aplicações voltadas a dispositivos de comunicação, assim 
como para internet e intranet. Segundo Deitel e Deitel (2003), são muitos os 
dispositivos que utilizam a plataforma Java, por exemplo, os celulares, hoje mais 
avançados e conhecidos por smartphones, permitindo realização de comunicação 
por internet.
2 HISTÓRIA DO JAVA
A SUN Microsystems foi criada em 1985 por quatro estudantes da 
universidade de Stanford, devido a isso tem o nome SUN (Stanford University 
Network), a qual iniciou no mercado de desktops utilizando processadores 
Motorola, logo depois começou a desenvolver os processadores utilizados 
(CAMPOS; CAMPOS, 2018). Para Campos e Campos (2018), a SUN passou a 
trabalhar com equipamentos para servidores e comprou o MySQL em 2008.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
4
Uma das criações da SUN foi o Java, em 1991, o qual possuía a finalidade de 
ser compatível com diversas plataformas que rodavam em diversos dispositivos, 
assim, o Java foi criado para utilização em dispositivos eletrônicos e não para 
computadores (CAMPOS; CAMPOS, 2018).
Com o surgimento da internet em 1990, a qual começou a aparecer aos 
poucos e ser utilizada, mais comercialmente, muitos computadores com diferentes 
sistemas operacionais e plataformas diferentes passaram a utilizar a internet. 
Nesse sentido, a partir de 1995, a SUN percebeu que poderia utilizar a ideia 
criada em 1992, Java, para rodar pequenas aplicações applets (aplicação em Java 
que roda em navegador) dentro do browser Netscape, um dos mais utilizados 
na época (CAMPOS; CAMPOS, 2018). Ainda segundo Campos e Campos (2018), 
como havia uma grande quantidade de sistemas operacionais e navegadores 
(browsers) de internet, essa foi uma enorme vantagem em permitir implementar 
uma aplicação em uma única linguagem, independentemente da plataforma. Foi 
com essa transformação do navegador de internet na possibilidade de realizar 
operações mais avançadas que o Java passou a ser muito utilizado, inclusive por 
grandes organizações, fazendo com que navegadores de internet realizassem 
algo mais do que apenas renderizar html.
Com o passar dos anos, novas tecnologias do Java para web surgiram, 
como Servlets e JSPs, os quais serão estudados neste livro, JSF, Java FX, entre 
outros, e consequentemente os applets deixaram de serem utilizados.
3 MÁQUINA VIRTUAL DO JAVA (JAVA VIRTUAL MACHINE – 
JVM)
Iniciemos nosso estudo sobre máquina virtual em Java compreendendo 
como funciona a interpretação pelo Sistema Operacional de programas escritos 
em outras linguagens de programação de alto nível, como em Pascal, para 
a qual o código-fonte escrito nesta linguagem de programação é compilado, 
com isso, gerando um código binário, o qual é lido pelo Sistema Operacional 
(RICARTE, 2008).
FIGURA 1 – COMPILAÇÃO DE CÓDIGO-FONTE
FONTE: O autor
Código-Fonte em Pascal Código Binário Gerado
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
5
O compilador pode ser entendido como um programa que realiza 
a tradução da linguagem de alto nível, linguagens de programação, para a 
linguagem de máquina, para que o processador entenda os comandos que devem 
ser executados (RICARTE, 2008). Ainda segundo Ricarte (2008), um programa de 
sistema é um programa que permite que outros softwares funcionem, sendo o 
compilador um programa de sistema, assim como um sistema operacional.
Neste sentido, com o código-fonte compilado é gerado um código de 
máquina, binário (zeros e uns) para uma determinada plataforma e Sistema 
Operacional, ou seja, um programa escrito em Pascal, ao ser compilado, é 
específico para ser compreendido por um sistema operacional (RICARTE, 2008).
Então, neste caso, muitas das linguagens de programação funcionam para 
apenas um sistema operacional, como o Delphi, por exemplo, o qual possuioutra 
distribuição exclusiva para o Linux, neste caso, se for necessário que a mesma 
aplicação rode nos dois sistemas operacionais, temos um código-fonte para o 
Windows e outro para o Linux.
Os arquivos binários do Java são independentes de plataforma, o que 
pode ser entendido por permitir alternar entre diferentes sistemas operacionais 
(SOMERA, 2006).
Segundo Somera (2006, p. 7), “bytecodes são um conjunto de instruções 
muito parecidas com a linguagem de máquina, mas que não são específicas com 
relação a algum processador. Não há necessidade de levar o código-fonte e fazer 
sua compilação em um sistema no qual será executado”.
Ainda de acordo com Somera (2006), o ambiente de desenvolvimento do 
Java é constituído de:
• Compilador: não gera código-fonte de máquina, mas sim um bytecode.
• Interpretador: serve para interpretar o código gerado.
FIGURA 2 – PROCESSO DE COMPILAÇÃO
FONTE: Somera (2006, p. 8)
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
6
A Máquina Virtual Java (Java Virtual Machine), abreviada por JVM, executa 
aplicações escritas na linguagem de programação Java, neste caso, possuindo 
todos os recursos necessários para proteger aplicações distribuídas com 
segurança através do framework java.security, o qual possui diversas bibliotecas 
para garantir requisições seguras, por exemplo (SOMERA, 2006).
Além disso, quando o código-fonte desenvolvido na linguagem de 
programação Java é compilado é gerado o bytecode, o qual é utilizado na Máquina 
Virtual Java, que possui um interpretador para esse tipo de codificação (COOPER, 
2014). Ainda de acordo com Cooper (2014), a máquina virtual pode ser descrita 
como sendo uma espécie de simulador, o qual interpreta os comandos para um 
processador ou sistema operacional.
Outro exemplo da importância da JVM, a fim de evitar desenvolver um 
código-fonte para um Sistema Operacional e outro código para outro Sistema 
Operacional é para a interface gráfica, isto é, desenvolvimento de telas, em que as 
bibliotecas usadas para desenvolvimento para o Sistema Operacional Windows 
são diferentes das utilizadas para o Linux.
Neste sentido, o Java utiliza o conceito de máquina virtual, conforme já 
descrito, em que existe entre o sistema operacional e o software uma camada extra 
que realiza o trabalho de tradução dos bytecodes para que o sistema operacional 
compreenda os comandos implementados no software.
FIGURA 3 – PROCESSO DE EXECUÇÃO DE APLICAÇÃO JAVA
FONTE: Nartovich et al. (2008, p. 4)
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
7
Conforme a Figura 3, não é possível executar os bytecodes gerados, 
isso porque o sistema entende apenas linguagem de máquina, as quais são 
únicas para cada processador e Sistema Operacional, problema que é resolvido 
com a intermediação entre a aplicação desenvolvida e o sistema operacional 
(NARTOVICH et al., 2008).
Em síntese, com a utilização da JVM, obtém-se a independência de 
sistema operacional, não importando se a aplicação está sendo executada no 
Windows, Linux ou outro sistema operacional, porém a instalação da JVM no 
seu computador deve ser a versão correta para o sistema operacional instalado 
no computador.
4 JIT (JUST-IN-TIME COMPILER) E O CLASS LOADER
Outro conceito interessante que você deve conhecer é o JTI (Just-In-Time 
Compiler), o qual, assim que a JVM perceber a necessidade, realiza a compilação de 
códigos-fonte de instruções nativas da plataforma, fundamentado em melhorar a 
performance da aplicação desenvolvida em Java (NARTOVICH et al., 2008).
Acesse o vídeo https://www.youtube.com/watch?v=sR_OXvuJIyA para entender 
melhor este conceito.
DICAS
Ainda de acordo com Nartovich et al. (2008), antes de o interpretador do 
Java realizar a conversão de códigos-fonte para bytecodes, arquivos com classes 
Java devem ser carregados, trabalho realizado pelo class loader, o qual possui as 
seguintes finalidades:
• Facilitar o carregamento de códigos.
• Resolver problemas de definições de classes, pois a linguagem Java permite 
a definição de duas ou mais classes com mesmo nome, desde que estejam em 
pacotes (packages) diferentes.
• Verificar se os bytecodes estão com a linguagem escrita corretamente.
• Inicializar carregamento de classes, alocando memória.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
8
5 VERSÕES DO JAVA
O Java 1.0 e 1.1 são as primeiras versões do Java, muito antigas, as quais 
possuíam algumas bibliotecas muito utilizadas, como o JDBC e o java.io. Através 
de melhorias do Java, a partir da versão 1.2, o tamanho da API tornou-se muito 
grande, devido a isso foi trocada a nomenclatura para Java2, com o objetivo de 
diminuir confusões entre Java e Javascript.
Após melhorias através de novas implementações, com novas 
funcionalidades disponibilizadas pela API, houve a liberação das versões Java2 
1.3 e 1.4, consequentemente o Java 1.5, o qual passou a ser denominado por Java 
5, desaparecendo o número 2 da nomenclatura Java.
A versão atual do Java liberada para ser baixada e instalada é o Java 9, 
porém, para as atividades deste livro, é possível ter instalado apenas o Java 7, de 
preferência o 8.
6 JVM, JRE E JDK
O que significam essas abreviações? É interessante saber a diferença entre:
• JVM (Java Virtual Machine): é a Máquina Virtual Java, conforme descrita 
anteriormente.
• JRE (Java Runtime Environment): é o ambiente que executa aplicações 
desenvolvidas na linguagem Java, o qual é constituído da JVM e bibliotecas. 
Ele é normalmente instalado por usuários de aplicações.
• JDK (Java Development Kit): é formado pela JRE e todas as bibliotecas necessárias 
para o desenvolvimento de aplicações, a qual é detalhada no Subtópico 
2 – Instalação do Java Development Kit (JDK) do Tópico 2 – Instalação e 
configuração do ambiente de desenvolvimento.
7 DESENVOLVENDO E COMPILANDO EM JAVA
Primeiramente, falaremos sobre o objeto System.out, muito utilizado no 
desenvolvimento de aplicações Java, pois permite imprimir Strings no console da 
IDE ou do terminal, normalmente utilizado para acompanhamento de processos, 
apresentando saídas de uma determinada operação ou mesmo para verificar 
onde o cursor está trafegando pelo código.
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
9
String pode ser entendida como sendo uma sequência de caracteres 
alfanuméricos. Na linguagem Java, string não é um tipo de dado, mas sim uma classe, neste 
sentido, suas variáveis são objetos do tipo dessa classe, recebendo qualquer caractere.
NOTA
O objeto System.out possui três métodos parecidos que servem para 
imprimir Strings, sendo eles:
• System.out.print: método que apenas realiza a impressão (saída) da String no 
console ou terminal.
• System.out.println: método que realiza a impressão (saída) da String no console 
ou terminal, porém, pulando uma linha.
• System.out.printf: método que realiza a impressão (saída) da String no console 
ou terminal, porém, com um parâmetro a mais de formatação, isto é, pode ser 
incluída a formatação de números para uma String, por exemplo.
Para testarmos a compilação de um programa escrito na linguagem Java, 
no bloco de notas do seu sistema operacional digite a seguinte linha de comando, 
a qual, conforme conhecemos o método “println” do objeto System.out, imprimirá 
o conteúdo passado por parâmetro em uma nova linha. Exemplo de Comando de 
impressão de String:
System.out.println("Olá mundo!");
Como somente o comando apresentado não será compilado, pois na 
linguagem de programação Java devemos trabalhar com classes, conceito 
que veremos mais adiante, ocorrerá um erro na compilação. Neste sentido, 
para conseguirmos compilar a linha de comando apresentada anteriormente, 
precisamos criar o comando dentro do método de execução de uma classe, 
conforme apresentado na Figura 4.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
10
FIGURA 4 – CLASSE PARA TESTAR EXECUÇÃO DE COMANDO
FONTE: O autor
Após implementado o código-fonte, conforme a Figura 4, você deve 
salvar o código-fonte implementado no bloco de notasem algum diretório de 
seu computador, porém, você deve salvá-lo com a extensão .java, conforme 
apresentado na Figura 2. De preferência, tente utilizar o mesmo nome de arquivo 
sendo salvo na Figura 5, isto é, “TesteOla.java”, pois utilizaremos esse mesmo 
nome para os demais procedimentos de compilação. No entanto, caso você 
utilizar outra nomenclatura para o arquivo, você deverá lembrar do nome do 
arquivo utilizado para os comandos que serão efetuados a seguir.
FIGURA 5 – SALVAR CÓDIGO NA EXTENSÃO .JAVA
FONTE: O autor
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
11
Agora, abra o prompt de comando CMD no sistema operacional 
Windows e acesse, através do comando “CD”, o diretório de instalação do JDK, 
incluindo o subdiretório “bin”, conforme ilustrado na Figura 6.
Prompt de comando é um terminal análogo ao MS-DOS, que serve para 
escrever comandos para o sistema operacional. Para acessá-lo, no Windows, basta pesquisar 
por “CMD.EXE” e abrir este programa clicando nele.
IMPORTANT
E
FIGURA 6 – ACESSO AO DIRETÓRIO BIN DO JDK PELO CMD
FONTE: O autor
Lembrando que a máquina virtual não compreende o código java, mas sim 
um código de máquina específico, sendo este código gerado por um compilador 
Java, como o javac, utilizado no comando a seguir. 
Após o acesso ao subdiretório “bin”, digite o comando "javac 
CAMINHOARQUIVO\TesteOla.java”, sendo que o termo “CAMINHOARQUIVO” 
deve ser substituído pelo caminho em que você salvou o arquivo “TesteOla.
java”. Neste sentido, se você salvou o arquivo em c:\ TesteOla.java, então basta 
substituir o termo “CAMINHOARQUIVO” por “c:\”, conforme apresentado o 
comando completo na Figura 7.
FIGURA 7 – COMANDO PARA COMPILAR A CLASSE JAVA CRIADA
FONTE: O autor
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
12
Em seguida, após a execução do comando de compilação de nossa classe, 
conforme Figura 4, acesse o diretório onde o arquivo da classe, TesteOla.java, foi 
salvo; neste você pode observar que foi criado um outro arquivo, cuja extensão é 
.CLASS, o qual está ilustrado na Figura 8. Caso houvesse algum erro no código-
fonte da classe TesteOla, no momento da compilação ocorreria o erro.
FIGURA 8 – ARQUIVO .CLASS CRIADO APÓS COMPILAÇÃO
FONTE: O autor
A Figura 9 ilustra a abertura do arquivo .class gerado, o qual não é 
legível para seres humanos, porém é este código que a Máquina Virtual Java 
compreende, para então requisitar ao sistema operacional as operações. É 
possível, através de alguns programas, a conversão de um bytecode para o .java 
original, podendo ser perdidos os comentários e nomes de variáveis locais.
FIGURA 9 – ABERTURA DE ARQUIVO .CLASS
FONTE: O autor
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
13
8 EXECUTANDO O PROGRAMA EM JAVA
Como a compilação da classe foi bem-sucedida, isto é, foi gerado o 
bytecode no arquivo “.Class”, basta testarmos a execução de nossa classe. Para 
isso, novamente, no prompt de comando (CMD) do Windows, entre no diretório 
onde está salvo o arquivo da classe, que em nosso caso tivemos de executar o 
comando “cd..” algumas vezes para sair do diretório do JDK, até selecionar o 
diretório “C:\” raiz, onde salvamos o arquivo. Caso você abrir um novo prompt 
de comando, então você deve acessar o diretório através do comando “cd c:\
DIRETORIO_ARQUIVO”, sendo que DIRETORIO_ARQUIVO deve ser o 
diretório exato onde o arquivo está gravado. Conforme apresentado na Figura 
10, execute o comando “java TesteOla”, o qual realiza a execução da classe, isto é, 
executa os comandos implementados na classe.
FIGURA 10 – EXECUÇÃO DA CLASSE
FONTE: O autor
Conforme Figura 11, após a execução do comando “java” mais o nome 
da classe, é retornado o resultado da execução da classe, que nesse caso é a 
impressão da String “Olá mundo!” no console.
FIGURA 11 – CLASSE EXECUTADA
FONTE: O autor
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
14
Neste contexto, a parte interna da classe é o comando que foi executado 
quando invocamos a JVM, assim, essa é a parte que importa para você até este 
momento, e você não precisa se preocupar com a declaração da classe e do método 
main. No entanto, é importante salientar que todas as aplicações desenvolvidas 
em Java iniciam por um ponto de entrada, sendo este, o método main. Este é um 
código-fonte muito simples, principalmente para quem já possui experiência em 
desenvolvimento de software, pois apenas foi utilizando o comando System.out.
println para realizar a impressão de um simples texto no console, ou no terminal 
de comandos do sistema operacional, nesse caso. Você poderia ter utilizado 
outro editor de texto com mais recursos, que possua, por exemplo, a facilidade de 
visualização da endentação do código-fonte, mas para facilitar o entendimento 
utilizamos o bloco de notas, o qual é bem simples de utilizar.
9 ERROS DE COMPILAÇÃO COMUNS
Um dos erros mais comuns, não somente na linguagem de programação 
Java, mas em muitas delas, é a falta do sinal de ponto e vírgula ao terminar um 
comando. Um exemplo é apresentado na Figura 12, em que podemos analisar 
que ao final da linha “System.out.println” falta uma vírgula.
FIGURA 12 – VÍRGULA FALTANDO
FONTE: O autor
Após a compilação do código-fonte apresentado na Figura 12, como 
está faltando uma vírgula ocorrerá o erro “expected”, conforme apresentado na 
Figura 13.
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
15
FIGURA 13 – ERRO INDICANDO QUE FALTA PONTO E VÍRGULA
FONTE: O autor
Analise o erro apresentado na Figura 13, o qual informa que na linha 4 
está faltando uma vírgula, sendo este um dos erros mais comuns.
10 VARIÁVEIS PRIMITIVAS, CONSTANTES E CONVERSÕES
Uma aplicação desenvolvida na linguagem de programação Java é 
constituída por classes e objetos, e estes são compostos por métodos (operações) e 
variáveis (CADENHEAD; LEMAY, 2005).
Neste subtópico serão apresentadas as variáveis primitivas, constantes e 
suas conversões, assim como a aplicação desses conceitos em programas, visando:
• À declaração e atribuição de valores, realização do casting e a comparação de 
variáveis.
• Entender e praticar a implementação de condições (controle de fluxo) com os 
comandos if e else.
• Entender e praticar a implementação de instruções com laços de repetição for e 
while, incluindo condições (controle de fluxo) com comando break e continue.
10.1 VARIÁVEIS PRIMITIVAS
Uma variável pode ser entendida por ser o local onde é armazenada 
alguma informação utilizada na execução de um programa (CADENHEAD; 
LEMAY, 2005). O valor de uma variável pode ser alterado em qualquer parte do 
programa que ela for visível, isto é, se a variável estiver declarada em um método, 
então ela é acessível somente nesse método.
Neste sentido, as variáveis primitivas podem ser compreendidas por 
serem um conjunto de tipos de dados, sendo a base para armazenamento de 
dados em um programa, sendo que a linguagem de programação Java possui oito 
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
16
tipos de variáveis primitivas (FINEGAN; LIGUORI, 2018). É bom você lembrar 
do tipo de dado aceito para armazenamento em cada tipo de dado primitivo, 
facilitando o desenvolvimento de aplicações, sendo que alguns deles são mais 
utilizados que outros.
De acordo com Finegan e Liguori (2018), o tipo de dado primitivo é o 
formato de dado mais básico que um programa pode ter, e quando uma variável 
de um tipo de dado primitivo é declarada, automaticamente ocorre a reserva de 
um determinado número de bits na memória. Ainda segundo Finegan e Liguori 
(2018), os oito tipos de dados primitivos são:
• boolean (booleano);
• char (caractere);
• byte (byte);
• short (inteiro curto);
• int (inteiro);
• long (inteiro longo);
• float (ponto flutuante);
• double (ponto flutuante de dupla precisão).
Dentre os tipos de dados primitivos, a Tabela 1 apresenta a quantidade de 
memória utilizada por cada tipo numérico, assim como o valor mínimo e máximo 
aceito por cada tipo.
TABELA 1 – TIPOS DE DADOS PRIMITIVOS
FONTE: O autor
Tipode
Dado
Memória 
Consumida Valor Mínimo Valor Máximo
byte 1 byte -128 127
short 2 bytes -32.768 32.767
int 4 bytes -2.147.483.648 2.147.483.647
long 8 bytes -9.223.372.036.854.775.808 9.223.372.036.854.775.807
float (6-7 dígitos) 4 bytes -3,4028E + 38 3,4028E + 38
double (15 dígitos 8 bytes -1,7976E + 308 1,7976E + 308
Conforme você for analisando as atividades práticas deste livro, você vai 
se familiarizando com os tipos primitivos de dados, anteriormente citados.
É importante ressaltar que quando uma variável for declarada do tipo 
Integer (objeto do tipo inteiro), esta é diferente de uma variável do tipo int, 
sendo que a variável do tipo Integer é um objeto que possui métodos, com isso 
consome mais memória e seu uso é um pouco mais lento que pela utilização 
de uma variável do tipo primitivo int. Analise a Figura 14, a qual apresenta as 
propriedades de uma variável do tipo Integer.
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
17
FIGURA 14 – OBJETO INTEGER
FONTE: O autor
Além disso, quando se possui uma variável do tipo Integer e se quer 
comparar com uma variável do tipo int, é necessário invocar o método “intValue()” 
da variável do tipo Integer, conforme apresentado na Figura 15.
FIGURA 15 – VARIÁVEL DO TIPO INTEGER
FONTE: O autor
Variáveis podem ser declaradas dentro de um bloco de código-fonte, 
porém, na linguagem de programação Java não é possível alterar o tipo de uma 
variável (MATTOS, 2007). Se você criar uma variável do tipo int, por exemplo, 
essa variável será desse tipo até o final da execução do bloco, neste sentido, 
apenas pode receber valores numéricos do tipo inteiro, isto é, números inteiros. 
Uma variável do tipo String pode receber caracteres alfanuméricos.
Para implementar a declaração de variáveis de tipos primitivos 
na linguagem de programação Java, inicialmente é necessário declarar a 
variável, isto é, definir seu tipo e nome, conforme apresentado na Figura 
18, ou seja, int quantidadeComprada, por exemplo. Nesse caso, a variável 
“quantidadeComprada” apenas pode armazenar dados do tipo inteiro, não 
podendo receber numéricos decimais e nem alfanuméricos.
Conforme descrito anteriormente, variáveis primitivas não possuem 
métodos para serem invocados, diferente de uma variável do tipo Integer, String, 
Double, Boolean, entre outros tipos de classes, em que as variáveis se tornam 
objetos.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
18
10.2 CONSTANTES
Após você entender o que é uma variável e seus tipos primitivos, temos 
o conceito chamado constante, que também é uma área de memória para 
armazenar um dado, porém seu conteúdo, o dado armazenado nela, não é 
permitido alterar durante a execução do programa (CADENHEAD; LEMAY, 
2005). Para declarar uma constante, é utilizada a palavra reservada final para 
indicar que a variável é inicializada uma única vez durante a execução da 
aplicação, e após a palavra final é informado o tipo de dado, por último, o nome 
da constante. Exemplo de declaração de constante:
final double valorPI = 3.1416F;
10.3 CRIANDO UMA APLICAÇÃO COM VARIÁVEIS
Antes de iniciarmos o estudo das variáveis primitivas, é importante você 
conhecer a classe JoptionPane, a qual serve para apresentar caixas de diálogos 
visuais. Para importar a biblioteca desta classe, basta utilizar o comando “import 
javax.swing.JOptionPane” no início da classe, conforme exemplo apresentado na 
Figura 16. A realização de importação de bibliotecas em Java está descrita mais 
adiante, mas o importante é você saber que quando precisa de alguma biblioteca, 
basta utilizar o comando import.
FIGURA 16 – CLASSE TESTE CRIADA PARA UTILIZAR BIBLIOTECA JOPTIONPANE
FONTE: O autor
A Figura 17 apresenta todos os passos que você aprendeu anteriormente 
para compilar e depois executar uma classe em Java, utilizando o prompt de 
comando do sistema operacional. Analise a tela “Mensagem”, apresentada 
visualmente mais amigável.
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
19
FIGURA 17 – COMPILAÇÃO E EXECUÇÃO DE CLASSE TESTE UTILIZANDO JOPTIONPANE
FONTE: O autor
Para saber mais sobre o JoptionPane, acesse o link https://www.tutorialspoint.
com/swing/swing_joptionpane.htm.
DICAS
Agora que você já conheceu como utilizar a biblioteca JOptionPane, 
criaremos uma classe utilizando variáveis de tipos primitivos, realizaremos 
um cálculo simples e então apresentaremos na tela. Analise as linhas em que as 
variáveis “quantidadeComprada”, “quantidadereservada” e “totalQuantidade” 
estão declaradas, as quais já recebem valores fixos nas duas primeiras, e a terceira 
variável primitiva recebe o resultado do cálculo das duas primeiras.
Não se preocupe com o cálculo realizado, o qual serve apenas para 
demonstração da utilização das variáveis primitivas, pois os operadores serão 
estudados a seguir. O importante nesse ponto é você compreender como declarar 
variáveis.
FIGURA 18 – SOMA REALIZADA COM VARIÁVEIS PRIMITIVAS DO TIPO INT
FONTE: O autor
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
20
Após compilar e executar a classe apresentada na Figura 18, você pode 
notar que foi apresentada a caixa de diálogo, apresentada à direita da Figura 19, em 
que é apresentado o total da soma realizada, que nesse caso é 13, pois foi efetuada 
a soma do valor das variáveis “quantidadeComprada” e “quantidadereservada”.
FIGURA 19 – EXECUÇÃO DE CLASSE COM SOMA DE VARIÁVEIS DO TIPO INT
FONTE: O autor
10.4 DECLARAÇÃO E UTILIZAÇÃO DE VARIÁVEIS DE 
TIPOS DE DADOS PRIMITIVOS
Toda a variável na linguagem de programação Java precisa possuir um 
tipo definido, o qual não pode ser alterado em tempo de execução. Além disso, 
variáveis com tipos de dados primitivos possuem valores simples, e seus dados, 
conforme o Subtópico 10.1, podem ser lógicos, numéricos e caracteres.
Assim, o tipo boolean é o tipo de dado primitivo que possui um valor 
lógico, recebendo um único bit de informação, isto é, recebe os valores false 
(falso) ou true (verdadeiro). O tipo de dado byte pode armazenar 8 bits de 
informação, sendo um número inteiro entre -128 até 127. O tipo de dado short 
pode armazenar inteiros de até 16 bits. O tipo de dado int, um dos mais utilizados, 
pode armazenar inteiros de até 32 bits. O tipo de dado long, também muito 
utilizado, pode armazenar até 64 bits de informação, e seu uso deve ser quando se 
precisa armazenar números maiores ou menores do que os suportados pelo int. O 
tipo de dado float, também é utilizado para números reais com precisão simples, 
sendo que este tipo pode armazenar até 32 bits de informação de número real. 
O tipo de dado double, utilizado para números reais com precisão dupla, pode 
armazenar até 64 bits de informação de número real. Por último, o tipo de dado 
char, utilizado para armazenar 16 bits de caracteres em formato UTF-16. Todos os 
tipos primitivos possuem um exemplo de implementação na Figura 20.
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
21
FIGURA 20 – EXEMPLO DE USO DE VARIÁVEIS DE TIPOS PRIMITIVOS
FONTE: O autor
Na Figura 20 estão sendo apresentados simples exemplos de utilização 
de variáveis de tipos primitivos, para que você compreenda como declarar ou 
até utilizar esses tipos na linguagem de programação Java. Note que acima da 
declaração de cada variável existe um comentário, utilizando as duas barras, o 
que é explicado neste subtópico.
11 COMENTÁRIO DE LINHAS DE CÓDIGO-FONTE
Antes de prosseguirmos com pequenas implementações em Java, é 
importante você conhecer como realizar comentários em código-fonte. Comentário 
pode servir como uma descrição para que serve um determinado bloco ou linha 
de código, isto é, podendo ser uma documentação do código. Muitas vezes, 
comentários servem para desativar um determinado comando, uma linha de 
código ou ainda um bloco inteiro (várias linhas) de um código-fonte, e ao invés 
de excluir as linhas de código, se mantêm comentadas para se ter um histórico, 
ou ainda para que o código possa ser habilitado novamente em um determinado 
período.
UNIDADE1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
22
Podemos comentar várias linhas de um código-fonte incluindo /* no início 
do código, e então incluir */ no ponto final que se deseja comentar o código-fonte. 
Para sua melhor compreensão, a Figura 21 apresenta um exemplo da utilização 
do método de comentário único de várias linhas de um código-fonte, isto é, 
utilizando /* código fonte */. No código-fonte desta figura, note que no início da 
linha 6 foram incluídos os caracteres /* para iniciar o comentário de várias linhas, 
e na linha 9 foram incluídos os caracteres */ que finaliza o comentário de várias 
linhas.
FIGURA 21 – COMENTÁRIO ÚNICO DE VÁRIAS LINHAS
FONTE: O autor
Note que no exemplo da Figura 21 foi utilizada a aplicação de edição 
de texto simples chamada Notepad++, equivalente ao bloco de notas, para 
tornar mais visíveis as linhas comentadas. Você pode continuar utilizando o 
bloco de notas padrão do sistema operacional, ou então utilizar um outro editor 
aprimorado como este.
Caso ainda não tenha instalado o editor Notepad++, você pode baixá-lo em 
https://notepad-plus-plus.org/downloads/.
ATENCAO
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
23
Outra forma de realizar um comentário na linguagem de programação 
Java é através do comando // na frente de uma linha de comando, o qual indica que 
todos os comandos, escritos depois de // desta linha estão comentados. Conforme 
você pode analisar na linha 7 da Figura 22, apenas os comandos escritos após o // 
estão comentados.
FIGURA 22 – COMENTÁRIO DE UMA ÚNICA LINHA
FONTE: O autor
Outra forma de realizar um comentário na linguagem de programação 
Java é através do comando // na frente de uma linha de comando, o qual indica que 
todos os comandos, escritos depois de // desta linha estão comentados. Conforme 
você pôde analisar na linha 7 da Figura 22, apenas os comandos escritos após o // 
estão comentados.
No entanto, se você quiser comentar a linha inteira, isto é, todos os 
comandos escritos em uma determinada linha do código-fonte, basta incluir o // 
no início da linha, conforme apresentado no início da linha 7 da Figura 23.
FIGURA 23 – COMENTÁRIO DE UMA ÚNICA LINHA
FONTE: O autor
12 OPERADORES DA LINGUAGEM
Na linguagem de programação Java, assim como em outras, existem os 
operadores de atribuição, aritméticos, relacionais e lógicos, os quais permitem 
o desenvolvimento de lógicas para atendimento de necessidades do software, 
através de comparação entre valores de variáveis, por exemplo, ou cálculos 
matemáticos. 
12.1 OPERADOR DE ATRIBUIÇÃO
Esse tipo de operador serve para atribuir ou sobrescrever o valor de 
uma variável ou atributo de uma classe. Na Figura 24, por exemplo, você pode 
perceber que temos, na linha 8 do código, o recebimento (atribuição) do valor 
de uma soma para a variável “totalQuantidade”. Neste sentido, o operador de 
atribuição é o sinal = que indica a atribuição (recebimento de valor).
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
24
FIGURA 24 – OPERADOR DE ATRIBUIÇÃO
FONTE: O autor
12.2 OPERADORES ARITMÉTICOS
Os operadores aritméticos servem para a implementação de operações 
matemáticas entre duas ou mais variáveis, desse modo retorna o resultado obtido no 
cálculo. O Quadro 1 apresenta todos os operadores aritméticos da linguagem Java.
QUADRO 1 – OPERADORES ARITMÉTICOS
FONTE: O autor
Descrição Operador
Operador de adição +
Operador de subtração -
Operador de multiplicação *
Operador de divisão /
Operador que retorna resto da divisão (módulo) %
12.3 OPERADORES DE IGUALDADE
Operador de igualdade == verifica se o valor de uma variável ou expressão 
à direita é igual ao valor de uma variável ou expressão à esquerda. Já o operador 
!= verifica se uma variável ou expressão à direita é diferente do valor de uma 
variável ou expressão a sua esquerda. Se a verificação for verdadeira, esses 
operadores retornam o valor true.
FIGURA 25 – EXEMPLO DE UTILIZAÇÃO DE OPERADORES DE IGUALDADE
FONTE: O autor
TÓPICO 1 | APRESENTAÇÃO DA LINGUAGEM DE PROGRAMAÇÃO JAVA
25
12.4 OPERADORES RELACIONAIS
Os operadores relacionais analisam dois operandos (variáveis), 
retornando se a condição do operador é verdadeira. Por exemplo, se temos uma 
variável “variavelA” que possui valor 10 e outra variável “variavelB” que possui 
valor 5, e implementamos a condição “variavelA > variavelB”, o retorno será true 
(verdadeiro), pois estamos verificando se o valor da “variavelA” é maior que 
valor da “variavelB”.
QUADRO 2 – OPERADORES RELACIONAIS
FONTE: O autor
Descrição Operador
Maior que (utilizado para saber se um valor à esquerda é maior 
que o outro à direita) >
Maior ou igual que (utilizado para saber se um valor à esquerda é 
maior ou igual que o outro à direita) >=
Menor que (utilizado para saber se um valor à esquerda é menor 
que o outro à direita) <
Menor ou igual que (utilizado para saber se um valor à esquerda é 
menor ou igual que o outro à direita) <=
Diferente (utilizado para verificar se um valor à esquerda é 
diferente do valor à direita) !=
Um exemplo para o uso de operadores relacionais é apresentado na 
Figura 26, em que você pode notar na linha 9 a condição realizada, que no caso 
do valor da variável “quantidadeComprada” ser menor que o valor da variável 
“quantidadereservada”, então será impressa a mensagem no console.
FIGURA 26 – EXEMPLO DE UTILIZAÇÃO DE OPERADORES RELACIONAIS
FONTE: O autor
12.5 OPERADORES LÓGICOS
Os operadores lógicos permitem a criação de expressões lógicas 
compostas, isto é, junta mais de uma expressão para realizar validações. Neste 
caso, utilizamos as operações lógicas E, representadas pelo operador lógico && e 
a operação lógica OU, representada pelo operador lógico ||.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
26
QUADRO 3 – OPERADORES LÓGICOS
FONTE: O autor
Descrição Operador
Utilizado quando a condição necessita que as duas expressões 
testadas sejam verdadeiras &&
Utilizado quando a condição necessita que uma das expressões 
testadas sejam verdadeiras ||
Na linha 9 do código-fonte apresentado na Figura 27 você pode notar 
que foi utilizada a operação E através do operador lógico &&. Nesse código-
fonte o fluxo do programa executará a linha 10 somente se a primeira expressão 
“quantidadeComprada == 10” for verdadeira e se a segunda expressão 
“quantidadereservada == 5” também for verdadeira.
FIGURA 27 – EXEMPLO DE UTILIZAÇÃO DO OPERADOR LÓGICO &&
FONTE: O autor
12.6 OPERADORES DE INCREMENTO E DECREMENTO
Operador de incremento ++ serve para atribuir 1 (um) a uma variável, 
não necessitando realizar o cálculo “variavel = variavel + 1”, por exemplo. Já o 
operador de decremento -- é o contrário, servindo para reduzir 1 do valor de uma 
variável.
FIGURA 28 – EXEMPLOS DE INCREMENTO E DECREMENTO
FONTE: O autor
27
Neste tópico, você aprendeu que:
• A linguagem de programação Java surgiu para resolver muitos problemas, 
como gerenciamento de memória e facilidade de manutenção quebrando 
código-fonte em classes, além da maioria das bibliotecas serem gratuitas.
• Uma das vantagens do Java é a possibilidade de rodar as aplicações 
desenvolvidas com esta linguagem em diversos dispositivos de diferentes 
sistemas operacionais.
• A JVM (Java Virtual Machine) realiza a execução de aplicações escritas na 
linguagem de programação Java, interpretando o código-fonte compilado, 
bytecode, transformando em um código de máquina compreendido pelo 
sistema operacional.
• A JVM é a Máquina Virtual Java que interpreta o bytecode e apresenta ao sistema 
operacional como linguagem de máquina para que ele entenda os comandos, 
já a JRE é uma espécie de ambiente que executa aplicações desenvolvidas na 
linguagem Java, possuindo uma JVM própria e bibliotecas necessárias.
• As variáveis primitivas em Java são um conjunto de tipos de dados, com mesmo 
tipo de dado, por exemplo, somente números inteiros, sendo que o Java possui 
oito tipos de variáveis primitivas.
• Os operadores de atribuição, aritméticos, de igualdade, relacionais, lógicos 
e deincremento e decremento permitem o desenvolvimento de lógicas, 
comparação entre valores, realização de cálculos matemáticos, atribuição de 
valor para variáveis ou atributos, entre outras funcionalidades.
RESUMO DO TÓPICO 1
28
1 Desde as primeiras linguagens de programação até as linguagens atuais, 
muitos conceitos básicos de programação permanecem, como controle de 
fluxo, laços de repetição, apesar da sintaxe de uma linguagem para outra 
ser diferente. Além disso, dependendo da linguagem de programação, o 
sistema operacional não compreende o código-fonte escrito na linguagem. 
Neste sentido, assinale a alternativa CORRETA referente à interpretação de 
código pelo sistema operacional:
a) ( ) Código-fonte de um programa escrito em linguagem de programação 
Java, após compilado, é gerado o código de máquina, sendo 
compreendido pelo sistema operacional.
b) ( ) Após compilado o código-fonte de um programa escrito em Pascal, é 
gerado o código de máquina que pode ser compreendido por qualquer 
sistema operacional.
c) ( ) No caso da linguagem de programação Delphi, um único código-fonte 
é escrito para rodar aplicações no sistema operacional Windows e no 
Linux.
d) ( ) Código-fonte de um programa escrito em linguagem de programação 
Java, após compilado, é gerado o bytecode e não código de máquina.
2 Nas linguagens de programação atuais, o sistema operacional não 
compreende diretamente o código-fonte escrito na linguagem, pois nas 
linguagens de alto nível, o código é escrito em uma linguagem compreendida 
por humanos, que após compilação é gerado o código de máquina, binário 
(zeros e uns). Neste sentido, assinale a alternativa CORRETA referente ao 
entendimento de código-fonte Java pelo sistema operacional:
a) ( ) Bytecode é o código gerado compreendido diretamente pelo sistema 
operacional Windows e Linux.
b) ( ) Bytecode é o código gerado compreendido pela JVM, gerado após 
compilação de um código-fonte da linguagem de programação Java.
c) ( ) A JVM interpreta códigos-fonte binários gerados pela compilação de 
programas escritos na linguagem de programação Java.
d) ( ) O JDK possui a finalidade de interpretar códigos-fonte binários gerados 
pela linguagem de programação Java.
3 Assim como outras linguagens de programação, a linguagem Java possui 
sua própria sintaxe, diferenciando-se das demais. Neste sentido, a maioria 
das linguagens de alto nível possui comandos parecidos, isto é, comandos 
similares, com mesma funcionalidade, porém com sintaxe diferente, como 
o System.out.print, por exemplo, do Java. Referente ao objeto System.out, 
assinale a alternativa CORRETA:
AUTOATIVIDADE
29
a) ( ) O método System.out.print permite imprimir String no terminal 
pulando uma linha em cada impressão.
b) ( ) O método System.out.printf permite imprimir String no terminal 
pulando uma linha em cada impressão.
c) ( ) Os métodos de impressão de Strings do objeto System.out podem ser 
utilizados apenas no terminal do prompt de comando, mas na IDE 
Eclipse não funciona.
d) ( ) Este objeto permite a impressão de Strings no console da IDE ou no 
terminal.
4 Em linguagens de alto nível, no desenvolvimento de software, no contexto 
da implementação de código-fonte, quando está sendo desenvolvido algum 
cálculo normalmente são utilizadas variáveis para facilitar o trabalho de 
desenvolvimento. Referente às variáveis nas linguagens de programação 
Java, assinale a alternativa CORRETA:
a) ( ) Uma variável declarada com o tipo int pode receber um valor do tipo 
char, desde que seu conteúdo seja um inteiro válido.
b) ( ) Uma variável declarada no início de uma classe apenas pode ter valor 
atribuído neste ponto do código-fonte, sendo que nos demais locais seu 
valor pode ser apenas utilizado.
c) ( ) Uma variável declarada com o tipo char pode receber um valor do tipo 
char ou então do tipo int, pois seu tamanho é equivalente.
d) ( ) Uma variável declarada com o tipo int não pode receber um valor do 
tipo double.
5 Assim como em outras linguagens de programação de alto nível, na 
linguagem Java existem alguns operadores que auxiliam o desenvolvimento 
de software, permitindo, por exemplo, a atribuição de valores a variáveis, ou 
ainda de realizar comparações entre variáveis ou expressões, dentre outras 
funcionalidades. Referente aos operadores na linguagem Java, assinale a 
alternativa CORRETA:
a) ( ) É utilizado operador relacional quando se deseja implementar uma 
condição em um programa para verificar se uma variável possui valor 
maior que uma segunda variável.
b) ( ) É utilizado operador lógico quando se deseja implementar uma 
condição em um programa para verificar se uma variável possui valor 
maior que uma segunda variável.
c) ( ) Para incrementar o valor em uma variável do tipo int é obrigatória a 
utilização do operador de incremento ++.
d) ( ) O sinal “/” indica a realização de um cálculo matemático conhecido por 
multiplicação.
30
31
TÓPICO 2
INSTALAÇÃO E CONFIGURAÇÃO DO AMBIENTE DE 
DESENVOLVIMENTO
UNIDADE 1
1 INTRODUÇÃO
Como vimos no Tópico 1, o Java pode ser entendido por ser uma 
linguagem de programação, além de ser uma plataforma que roda aplicações 
nesta linguagem, lançada pela Sun Microsystems na década de 1990. Atualmente, 
existem muitas aplicações e sites, incluindo aplicativos de celular, que rodam 
em diversos dispositivos diferentes, os quais necessitam do Java instalado no 
dispositivo. Neste contexto, o Java é utilizado tanto em notebooks como em 
datacenters, consoles de jogos, supercomputadores, smartphones e muitos outros 
dispositivos, sendo utilizado em muitas aplicações de pequenos como de grande 
porte.
Vimos também que em algumas linguagens de programação, como C e 
Pascal, é necessário reescrever uma parte do código para executar em sistemas 
operacionais diferentes, ou compilar de modo que o código-fonte gerado seja 
diferente para a aplicação rodar em Linux e no Windows. Já em aplicações 
desenvolvidas na linguagem de programação Java, isso não ocorre, pois nesta 
existe a máquina virtual, a qual está dentro do JRE (Java Runtime Environment), 
que além da máquina virtual possui bibliotecas (APIs). Neste sentido, a máquina 
virtual do Java realiza a tradução entre o sistema operacional e a aplicação, 
fazendo com que o sistema operacional entenda a aplicação. 
Neste contexto, o JRE está incluso na instalação do JDK, sendo este o que 
precisamos para desenvolvimento de aplicações por possuir todas as bibliotecas 
necessárias, o qual está apresentado no Subtópico 2 deste tópico. Além do JDK, 
este tópico apresenta os passos para baixar e configurar a IDE Eclipse, sistema 
gerenciador de banco de dados MySQL, assim como o servlet container Tomcat 
e, por último, a IDE NetBeans, a qual utilizaremos neste livro apenas para 
desenvolvimento desktop.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
32
Neste tópico você compreenderá melhor o que se refere ao servlet container, 
mas o importante é você saber que este é um minisservidor de aplicação.
 Neste tópico também será apresentada a IDE NetBeans com detalhes.
NOTA
Neste livro, a IDE Eclipse será mais utilizada para desenvolvimento dos 
exercícios práticos, embora será possível também utilizar a IDE NetBeans, a qual 
também é apresentada neste tópico. Uma IDE (Integrated Development Environment) 
pode ser entendida por ser um ambiente integrado de desenvolvimento, com 
várias ferramentas que auxiliam o desenvolvedor, como a facilidade de configurar 
um banco de dados, por exemplo (FURGERI, 2015). Além disso, uma IDE de 
desenvolvimento permite a alteração segura de nomes de classes, métodos, 
variáveis, realizando refactoring, além de geração de código automaticamente, 
buscar por referências a um determinado elemento selecionado, debug passo 
a passo a um determinado código-fonte, entre outras facilidades. Todas essas 
vantagens em utilizar uma IDE faz com que o desenvolvedor aproveite seu tempo 
nas implementações de lógicas para funcionamentodas aplicações, motivando seu 
uso em projetos de pequeno, médio e grande porte, auxiliando a produtividade.
O termo refactoring de código-fonte pode ser entendido por alterar o código-
fonte sem afetar as funcionalidades, quando necessário, por exemplo, alterar o nome de 
um método e consequentemente em todos os locais que o invocam.
IMPORTANT
E
2 INSTALAÇÃO DO JAVA DEVELOPMENT KIT (JDK)
Para desenvolver as aplicações Java apresentadas e estudadas neste livro, 
você precisará instalar o JDK (Java Development Kit) em seu computador, assim 
todas as ferramentas utilizadas funcionarão adequadamente. 
O JRE (Java Runtime Envoronment) torna possível a execução de 
programas desenvolvidos na linguagem de programação Java, porém, para o 
desenvolvimento de aplicações Java, é necessário ter instalado no computador 
TÓPICO 2 | INSTALAÇÃO E CONFIGURAÇÃO DO AMBIENTE DE DESENVOLVIMENTO
33
o JDK (Java Development Kit), o qual possui ferramentas de desenvolvimento, 
como o compilador Java, além de um privado JRE, isto é, um JRE somente para o 
desenvolvimento (FRIESEN, 2010).
O JDK é disponibilizado pela Oracle, sendo um conjunto de bibliotecas 
(APIs) que permitem a criação de jogos e programas na linguagem de programação 
Java. Ao ser instalado o JDK, caso não existir no computador, a JVM (Máquina 
Virtual Java) é também instalada.
Para a instalação, basta baixar o executável instalador. Para isso, em uma 
ferramenta de busca, como o Google, procure por “java JDK 8 download”, ou 
então procure direto no site da Oracle em https://www.oracle.com/. Optamos por 
baixar a versão 8, pois utilizaremos apenas alguns recursos deste, embora você 
possa baixar a versão mais recente, se desejar.
Ao selecionar o link de download será aberta a página de download do 
site da Oracle, conforme a Figura 29.
FIGURA 29 – PÁGINA DE DOWNLOAD DO JDK
FONTE: O autor
Para uma melhor eficiência, selecione a versão correta, 32 bits ou 64 bits, 
de acordo com o sistema operacional instalado em seu computador. Caso tenha 
Sistema Operacional 64 bits, você também pode instalar a versão 32 bits, porém 
não é o melhor para a eficiência.
Rolando a tela mais para baixo, você deve selecionar a opção para aceitar a 
licença do Java, que neste caso, em inglês, é a opção “Accept License Agreement”, 
conforme ilustrado na Figura 30.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
34
FIGURA 30 – OPÇÕES PARA DOWNLOAD DO JDK
FONTE: O autor
Ao clicar na opção correta para download, você precisará realizar acesso 
com login e senha, e caso não o possua, bastará realizar um breve cadastro e 
gratuito, selecionando a opção “Criar Conta”. Após o cadastro, você deve realizar 
a confirmação do e-mail, clicando no link enviado para ele. A partir daqui, você 
está apto a realizar o download, bastando acessar novamente a tela de download 
e efetuar o login, que automaticamente o download do JDK será iniciado.
Após ter realizado o download, basta executar o arquivo de instalação, 
confirmando sua execução, caso seja solicitado.
FIGURA 31 – ARQUIVO INSTALADOR DO JDK BAIXADO
FONTE: O autor
Ao executar o instalador, uma tela será apresentada, na qual basta 
pressionar o botão “Next”, conforme Figura 32:
TÓPICO 2 | INSTALAÇÃO E CONFIGURAÇÃO DO AMBIENTE DE DESENVOLVIMENTO
35
FIGURA 32 – INSTALADOR DO JDK EXECUTADO
FONTE: O autor
O mesmo será para as demais telas que forem apresentadas, bastando 
prosseguir com a instalação selecionando sempre o botão “Next”. 
Se preferir, você pode alterar a pasta de destino da instalação do JDK, 
conforme apresenta a Figura 33, bastando pressionar o botão “Change”, porém 
o ideal é deixar o diretório padrão, pois este será instalado no diretório “Java”, 
junto ao JRE, instalado a seguir, assim como outras versões do Java, se estiverem 
instaladas.
FIGURA 33 – INSTALADOR DO JDK EXECUTADO
FONTE: O autor
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
36
Ao prosseguir com a instalação, na tela ilustrada na Figura 33 será 
exibido o progresso, o que pode demorar alguns minutos, dependendo da 
configuração de seu computador. Durante a instalação, várias telas serão 
apresentadas, bastando confirmar e pressionar o botão “Next”, sendo que na 
última tela será apresentada a barra de progresso para acompanhamento do 
percentual de instalação, passo que pode demorar alguns minutos.
Após a conclusão da instalação será apresentada a tela de finalização, 
bastando selecionar a opção “Close”, significando que seu computador está 
quase pronto para o desenvolvimento de sistemas utilizando a linguagem de 
programação Java.
Se você observar o diretório “home” do JDK, ilustrado na Figura 34, neste 
existem vários arquivos importantes, e existem três subdiretórios principais, 
sendo um deles o diretório “bin”, o qual possui ferramentas do JDK, como o 
compilador Java chamado “javac”, por exemplo (FRIESEN, 2010). Ainda segundo 
Friesen (2010), o subdiretório “jre”, dentro do JDK, possui um JRE privado para 
que aplicações rodando com o JDK o utilizem, por último existe o subdiretório 
“lib”, no qual são encontrados vários arquivos (bibliotecas) que são utilizados 
pelas ferramentas do JDK.
FIGURA 34 – DIRETÓRIO DA INSTALAÇÃO DO JDK
FONTE: O autor
Os subtópicos seguintes apresentam a instalação e a configuração do 
sistema gerenciador de banco de dados Mysql, o qual utilizaremos na Unidade 
3 deste livro, assim como o ambiente de desenvolvimento Eclipse NetBeans e o 
servlet container Tomcat.
TÓPICO 2 | INSTALAÇÃO E CONFIGURAÇÃO DO AMBIENTE DE DESENVOLVIMENTO
37
3 INSTALAÇÃO DO SISTEMA GERENCIADOR DE BANCO DE 
DADOS MYSQL
Atualmente, existem vários sistemas gerenciadores de bancos de dados 
disponíveis para serem utilizados, mas os mais utilizados são os baseados na 
linguagem SQL (Structured Query Language), como o MySQL, o Oracle e o SQL 
Server (JOBSTRAIBIZER, 2010).
Embora utilizaremos neste livro apenas alguns comandos básicos de banco de 
dados, os quais serão explicados, acesse o seguinte link para conhecer conceitos básicos 
sobre bancos de dados: https://www.devmedia.com.br/conceitos-fundamentais-de-banco 
-de-dados/1649.
DICAS
3.1 CONHECENDO O MYSQL
Neste contexto, utilizaremos o sistema gerenciador de banco de dados MySQL 
na Unidade 3 deste livro, porém o ideal é deixarmos o computador com ele instalado 
e configurado. Desenvolveremos, também na Unidade 3, aplicações que realizarão 
persistência em banco de dados, neste sentido, será apresentada neste livro a configuração 
de projetos para acessar o MySQL.
ESTUDOS FU
TUROS
O MySQL é um sistema gerenciador de banco de dados (SGBD) relacional 
que possui licença open source e pode ser utilizado para trabalhar com aplicações 
de pequeno, médio e grande porte (MILANI, 2006). Ainda de acordo com Milani 
(2006), esse sistema gerenciador de banco de dados possui as características 
importantíssimas que um grande sistema gerenciador de banco de dados possui, 
podendo concorrer com seus concorrentes, como o Oracle, por exemplo.
UNIDADE 1 | LINGUAGEM DE PROGRAMAÇÃO JAVA
38
Na década de 1990, David Axmark, Allan Larson e Michael “Monty” 
Widenius tentaram utilizar a API mSQL para as aplicações e tabelas de dados que 
estavam utilizando, porém devido à lentidão do acesso acabaram desenvolvendo 
uma nova API nas linguagens C e C++, resultando no MySQL (MILANI, 2006). 
Ainda segundo Milani (2006), após a utilização desta nova API chamada MySQL, 
os três desenvolvedores e criadores desta fundaram a empresa MySQLAB com o 
objetivo de realizar manutenção nesta API.
Em 2008, a Sun Microsystems comprou o MySQLAB e seus códigos-fonte, 
logo depois iniciaram-se as negociações para a compra da Sun Microsystems, 
incluindo o MySQL e todos os seus códigos-fonte, pela empresa Oracle, fabricante 
de um dos maiores Sistemas Gerenciadores de Banco de Dados, o Oracle (MILANI, 
2006).
O MySQL surgiu como um simples sistema para armazenar dados brutos, 
sendo aperfeiçoado, o que o tornou um dos SGBDs (Sistemas Gerenciadores de 
Banco de Dados) mais utilizados do mundo

Outros materiais