E Book
E Book
Linguagem de
Programação
Java - Básico
Sumário
Apresentação 4
Módulo 1 6
Introdução ao Java 6
Introdução ao Java 7
O que é Java? 7
Um pouco de história 8
Portabilidade 11
Bytecode 12
Java Development Kit (JDK) 14
Ambiente de desenvolvimento integrado ou
Integrated Development Environment (IDEs) 20
Módulo 2 23
Fundamentos da linguagem Java 23
Fundamentos da linguagem Java 24
Primeiro programa em Java 24
Lógica de programação e variáveis 33
Palavras reservadas em Java 35
Operadores 41
Sumário
Módulo 3 50
Fluxo de controle e arrays 50
Fluxo de controle e arrays 51
Fluxos condicional e de repetição 51
Fechamento 61
Referências 62
Linguagem de Programação Java - Básico
Apresentação
Vídeo
Confira o vídeo de apresentação do curso.
4
Linguagem de Programação Java - Básico
5
Módulo 1
Introdução ao Java
Linguagem de Programação Java - Básico
Introdução ao Java
Diante disso, você irá aprofundar-se um pouco mais no assunto e aprender como
instalar e utilizar o JDK. Veja o que preparamos!
O que é Java?
A maioria das pessoas já se familiarizou com as tarefas rotineiras que os
computadores realizam, porém, o que pouca gente sabe é que uma linguagem de
programação como o Java nos permite escrever instruções que serão executadas
nesses computadores. Tais instruções construídas em Java são chamadas de
softwares, também conhecidos como “programas de computador”. Sobre isso, um
exemplo de programa de computador são os softwares de webconferência.
7
Linguagem de Programação Java - Básico
Um pouco de história
Anteriormente, você viu os primeiros conceitos atrelados ao Java, o de software
e desenvolvedores (ou programadores). Porém, neste momento, saberemos
brevemente um pouco sobre a história dessa linguagem tão empregada atualmente
no mundo da computação.
O Java foi criado pela empresa Sun Microsystems, no ano de 1991, quando um
projeto de pesquisa corporativa resultou em uma linguagem de programação. No
entanto, para entender melhor a história da linguagem Java, convidamos você a
assistir o vídeo a seguir, que detalha sua evolução ao longo dos anos. Acompanhe!
Vídeo
Confira o vídeo a evolução da linguagem Java.
8
Linguagem de Programação Java - Básico
9
Linguagem de Programação Java - Básico
Em 2004, dois anos mais tarde, a NASA enviou para Marte um robô
controlado por Java na missão Spirit, sendo que muitas pessoas
provavelmente o assistiram pela internet ou em noticiários na
televisão. E, em 2009, a empresa Oracle comprou a Sun Microsystems,
garantindo a continuidade na linguagem Java até os dias de hoje.
Dito isso, você pode estar se perguntando: por que a linguagem Java consegue
resolver o problema da portabilidade e da segurança?
10
Linguagem de Programação Java - Básico
Portabilidade
No podcast a seguir, você ouvirá sobre o que é a portabilidade e como ela se aplica
às linguagens de programação, como é o caso do Java. Confira!
Podcast
Confira o podcast sobre portabiliade.
11
Linguagem de Programação Java - Básico
Bytecode
O segredo para permitir que o Java resolva os problemas de segurança e portabilidade
que acabamos de aprender, decorrentes da saída do compilador Java, que não é
um código executável, seria utilizar o bytecode. Ouça o podcast na sequência para
saber mais a respeito do assunto!
Podcast
Confira o podcast sobre bytecode.
12
Linguagem de Programação Java - Básico
Aqui, ainda vale mencionar que este pacote Java Runtime Environment
(JRE) é de aplicativos, composto por bibliotecas (APIs) e pelo Java Virtual
Machine (JVM). O kit contém as ferramentas necessárias para a execução
de aplicativos e pode ser baixado diretamente pelo site da Oracle.
Com isso, a execução do bytecode pela JVM é a maneira mais fácil de criar
programas verdadeiramente portáveis. Além do fato de o JVM tornar os
programas executados por ele mais seguros. Pois, por ser controlado,
ele pode reter o programa e evitar que produza efeitos colaterais fora
do sistema. Desse modo, certas restrições na linguagem Java também
13
Linguagem de Programação Java - Básico
aumentam a segurança.
Neste podcast você conheceu não só o conceito de bytecode, mas também a sua relação
com o JVM (Java Virtual Machine), o qual contém o conjunto de instruções otimizáveis
que propicia a portabilidade e, por consequência, a segurança aos softwares.
Para utilizarmos a plataforma Java, precisamos ter o Java Development Kit (JDK)
instalado no computador. Ele pode ser baixado diretamente no site da Oracle. A
versão utilizada é a Java SE8 (Standard Edition).
Será importante observar que o pacote de instalação JDK oferece duas principais
instalações, conforme você conhecerá a seguir!
14
Linguagem de Programação Java - Básico
Instalação 1
Instalação 2
O processo para a instalação é simples, sendo que, uma vez instalado, é possível
compilar e executar os programas. Logo, no recurso adiante, você poderá
acompanhar o passo a passo de como instalar o Java Development Kit (JDK) no seu
computador.
15
Linguagem de Programação Java - Básico
16
Linguagem de Programação Java - Básico
Após realizar o download, o processo seguinte é bem simples, podendo ser realizado
conforme apresentado na imagem de passo a passo abaixo. As etapas consistem
no famoso “next”, “next” e “finish”.
17
Linguagem de Programação Java - Básico
18
Linguagem de Programação Java - Básico
C:\exercicio>java -version
java version “1.8.0 _ 281”
Java(TM) SE Runtime Environment (build 1.8.0 _ 281-b09),
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed
mode)
C:\exercicio>
19
Linguagem de Programação Java - Básico
instalação do Java:
Início
Neste tópico, você aprendeu como fazer o download e o cadastro para o login no
Oracle, passos relevantes para utilizar o Kit JDK. Assim, após compreender essa
primeira parte, ainda será necessário conhecer o Integrated Development Environment
(IDEs), isto é, o ambiente de desenvolvimento integrado que nada mais são que
softwares utilizados pelos programadores. Acompanhe no tópico a seguir.
20
Linguagem de Programação Java - Básico
No podcast, será possível conhecer em maiores detalhes o que eles são e quais
funções podem exercer. Acompanhe com atenção!
Podcast
Confira o podcast sobre os IDEs.
Olá! Agora que você já aprendeu a baixar o kit JDK, chegou o momento
de conhecer os Integrated Development Environment ou IDEs.
Simples não é mesmo? Até aqui você entendeu que os IDEs, no momento em que
o JDK é acionado, proporcionam uma série de ações, como identificar bugs, sugerir
códigos etc., as quais ajudam (e muito) na hora da programação.
21
Linguagem de Programação Java - Básico
22
Módulo 2
Fundamentos da
linguagem Java
Linguagem de Programação Java - Básico
Neste módulo, você realizará, na prática, seu primeiro programa em Java. Para
isso, verá sobre o funcionamento da estrutura da linguagem Java, como inserir
comentários em uma ou mais linhas no código, como criar variáveis, as palavras
reservadas em Java e os seus tipos, e como utilizar os operadores. Vamos começar!
Esse programa Java ainda não está no formato binário, ou seja, não tem conteúdo
em linguagem de máquina. Os bytecodes podem executar em qualquer máquina
que tenha o Java instalado.
#PraCegoVer
Na imagem, há um enquadramento de um
notebook aberto em cima de uma mesa
de escritório. Na tela dele, existem várias
linhas de código escritas.
24
Linguagem de Programação Java - Básico
#PraCegoVer
Na fotografia, há um programador de
costas e com um fone de ouvido enquanto
está trabalhando.
#PraCegoVer
Na fotografia, uma tela de computador
está enquadrada e contém várias linhas de
código.
O primeiro código terá como saída, a exibição da expressão “Olá Mundo!”. Nesse
primeiro momento, siga as etapas indicadas, não se preocupando em conhecer os
detalhes.
25
Linguagem de Programação Java - Básico
Passo 1
Passo 2
26
Linguagem de Programação Java - Básico
Passo 3
Passo 4
27
Linguagem de Programação Java - Básico
Passo 5
28
Linguagem de Programação Java - Básico
C:\>cd exercicio
C:\exercicio>dir
O volume na unidade C é Windows
O Número de Série do Volume é 9A31-C65E
Pasta de C:\exercicio
29
Linguagem de Programação Java - Básico
C:\exercicio>javac HelloWorld.java
C:\exercicio>java HelloWorld
Ola Mundo!
C:\exercicio
O slogan da linguagem Java é “write once run anywhere”, traduzindo de forma literal,
temos algo como “escreva uma vez e execute em qualquer lugar”. Porém, pensando
a respeito disso, você saberia explicar o que temos dentro de um arquivo Java, ou
seja, o que há inserido na fonte?
Na fonte, existe a definição da classe do programa, sendo que, dentro dessa classe,
há um conjunto de métodos. Destes, recebemos as instruções do aplicativo. Aliás,
para construirmos uma classe, utilizamos a palavra “class”, seguido do nome da
classe que queremos utilizar. Tal nome deverá ser o mesmo do arquivo-fonte que
criamos. Observe com atenção as informações na imagem!
30
Linguagem de Programação Java - Básico
O corpo da classe deve ser criado entre chaves (no bloco), nos quais poderemos
encontrar os métodos, conforme apresentado no código a seguir.
Nos métodos, há instruções, sendo que cada uma deve ser finalizada com o sinal
de ponto e vírgula (;). Este símbolo indica o final da instrução e imprime o texto ou
exibe o resultado na tela, como “Olá, Mundo!”, no prompt de comandos.
System.out.print(“Olá Mundo!”);
Como pode observar, o texto “Olá, Mundo!” está entre aspas duplas. A este valor,
chamamos de string ou literal string.
Tipo 1
31
Linguagem de Programação Java - Básico
Tipo 2
Tipo 3
/**
*Programa que imprime em tela Olá Mundo!
*@author Professor Carlos Moreno
*/
32
Linguagem de Programação Java - Básico
/**
* Programa que imprime em tela Olá Mundo!
*seguido de outra linha
*@author Professor Carlos Moreno
*/
Até este ponto, você viu sobre os elementos fundamentais para a estrutura da
linguagem Java, ou seja, as classes, os métodos e os comentários, sendo que,
paralelamente a partir das telas apresentadas, você notou a aplicação deles, para
gerar o programa “Olá, Mundo!”.
33
Linguagem de Programação Java - Básico
Ainda no contexto da lógica, também temos as variáveis, que fazem referência aos
dados. Na escola, por exemplo, você aprendeu nas aulas de matemática o conceito
de a = 1, b = 2 e c = a + b, certo? Diante disso, esses valores são chamados de variáveis.
/**
*Conceitos de Variável
*@author Professor Carlos Moreno
*/
34
Linguagem de Programação Java - Básico
/**
*Conceitos de Variável
*@author Professor Carlos Moreno
*/
Neste tópico, com base nos exemplos apresentados, você conheceu a lógica de
programação que a linguagem Java traz a partir dos conceitos de algoritmo e das
variáveis.
Na tabela a seguir, você pode compreender quais palavras são essas e que foram
criadas para serem utilizadas na linguagem de programação Java.
35
Linguagem de Programação Java - Básico
boolean do if private
volatile while
Private
Protected
36
Linguagem de Programação Java - Básico
Public
Classe que não pode ser instanciada ou método que precisa ser
Abstract
implementado por uma subclasse não abstrata.
Volatile Indica que uma variável pode ser alterada durante o uso de threads.
37
Linguagem de Programação Java - Básico
Pula a execução do código que viria após a linha e vai para a próxima
Continue
passagem do loop.
Assert
38
Linguagem de Programação Java - Básico
Catch
Finally
Throw
Throws
Try
Bloco de código que tentará ser executado, mas que pode causar
uma exceção.
Import
Package
39
Linguagem de Programação Java - Básico
Ainda quanto aos tipos primitivos, é importante mencionar que, como notamos,
a linguagem de programação Java oferece oito tipos para utilização, como lógico,
caractere, números inteiros e ponto flutuante.
Na tabela a seguir, você entenderá melhor a respeito desses tipos primitivos e suas
particularidades. Observe com atenção!
Valores possíveis
Valor
Tipos Primitivo Menor Maior Tamanho
Padrão
byte -128 127 0 8 bits
short -32768 32767 0 16 bits
Inteiro
init -2.147.483.648 2.147.483.647 0 32 bits
long -9.223.372.036.854.770.000 9.223.372.036.854.770.000 0 64 bits
Ponto float -1.4024E-37 3.4028234+38 0 32 bits
flutuante double -4.94E-307 1.79769313486231570E+308 0 64 bits
Caractere char 0 65535 0 16 bits
Booleano boolean false 0 0 1 bit
Super
40
Linguagem de Programação Java - Básico
This
No entanto, temos o grupo com algumas palavras reservadas que não são
utilizadas na linguagem Java por motivos plausíveis. Veja quais são:
Const
Goto
Operadores
Anteriormente, você estudou sobre os algoritmos, as variáveis e as palavras
reservadas, sendo que cada um é essencial para a linguagem Java. Porém, a fim
de que esses itens sejam articulados e, assim, servirem de base para a criação das
linhas de programação, é preciso que os operadores entrem em cena.
41
Linguagem de Programação Java - Básico
Operadores matemáticos
Operadores de incremento
Operadores lógicos
42
Linguagem de Programação Java - Básico
Para que fique mais claro os conceitos apresentados até aqui, vamos conhecer
mais detalhadamente os grupos dos operadores, iniciando pelos operadores
matemáticos. Também chamados de binários, esses operadores têm a função de
evidenciar o tipo de cálculo a ser empregado na linha de programação.
Agora que você já conheceu mais sobre os operadores principais e suas funções, na
imagem posterior convidamos você a observar o operador matemático de soma em
que uma variável X do tipo double recebe a soma de dois números. Tenha atenção
aos detalhes!
43
Linguagem de Programação Java - Básico
/**
*Operadores
*Operadores Matemáticos - Soma
*@author Professor Carlos Moreno
*/
double x = 2 + 2;
double x = 2 * 2;
double x = 2 – 1;
double x = 10 % 2.
44
Linguagem de Programação Java - Básico
/**
*Operadores
*Operadores Matemáticos
*Indica que o número é Positivo
*@author Professor Carlos Moreno
*/
public class Positivo {
/*Método principal da classe*/
public static void main (String[] args) {
double x = +3
System.out.println(“x”);
}//fim do método
}//fim da classe
/**
*Operadores
*Operadores Matemáticos
*Indica que o número é Negativo
*@author Professor Carlos Moreno
*/
45
Linguagem de Programação Java - Básico
Para que você entenda melhor, observe como aplicar esse operador no código,
apresentado na sequência!
/**
*Operadores
*Operadores Matemáticos
*Incremento
*@author Professor Carlos Moreno
*/
int x = 8;
int y = ++x;//pré-incremento
System.out.println(“x=” + x);
System.out.println(“y=” + y);
}//fim do método
}//fim da classe
46
Linguagem de Programação Java - Básico
/**
*Operadores
*Operadores Matemáticos
*Incremento
*@author Professor Carlos Moreno
*/
int x = 8;
int y = x++;//pós-incremento
System.out.println(“x=” + x);
System.out.println(“y=” + y);
}//fim do método
}//fim da classe
Agora, vemos como fica o código anterior com a inserção do operador de incremento
(pós-incremento).
Vale mencionar que, para executar os códigos, você deve considerar duas opções:
Opção 1
Pré-incremento = --x.
Opção 2
Pós-incremento = x++.
Quanto ao uso dos operadores lógicos, é preciso que você observe que eles
somente aceitam operadores do tipo boolean. Acompanhe no quadro a seguir.
47
Linguagem de Programação Java - Básico
O operador && é chamado de “operador E”. Ele retornará true se os dois operadores
lógicos forem verdadeiros, logo, <operador1> && <operador2>. Contudo, essa não
é a única combinação possível. No quadro a seguir, você pode notar que existem
outras opções de utilização do operado.
/**
* Classe utilizada para demonstrar o uso do operador logico
E ( && )
*/
O operador ||, por outro lado, é chamado de “operador OU”. Ele retornará true
48
Linguagem de Programação Java - Básico
/**
* classe utilizada para demonstrar o uso do operador logico
ou (11)
*/
public class OperadorLogicoou {
public static void main (String[] args) {
boolean a = true;
boolean b = false;
boolean c = false;
System.out.println(a || b);
System.out.println(b || c);
}
}
49
Linguagem de Programação Java - Básico
Operando 1 Operando 2
true false
false true
/**
* classe utilizada para demonstrar o uso do operador logico
negação
*/
public class OperadorLogicoNegacao {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c = false;
System.out.println(!a);
System.out.println(!(b || c));
}
}
Assim, fica mais fácil identificar os operadores e como eles trabalham dentro de um
código de programação, não é mesmo?
Desta forma, você pode acompanhar neste módulo uma abordagem mais prática
em relação ao funcionamento da linguagem Java. Nesse sentido, foi possível
compreender não só os elementos fundamentais dessa linguagem (classes,
métodos e comentários), como também entender a aplicação dos algoritmos, das
variáveis, das palavras reservadas e dos operadores.
Mas existem outros dois conceitos na linguagem Java, os quais são muito importantes,
principalmente quando você for ordenar os dados e avaliar os blocos de programa
presentes no código. Tais conceitos são o de fluxo de controle e arrays. Vamos lá?!
50
Módulo 3
Fluxo de controle e
arrays
Linguagem de Programação Java - Básico
Ainda continuando uma abordagem mais prática do nosso curso de linguagem Java,
iniciaremos este módulo descrevendo os conceitos de fluxo de controle e arrays, os
quais são muito importantes para que você possa programar adequadamente os
softwares a partir da linguagem Java. Sabendo disso, vamos lá.
Com base nesses dois assuntos, durante este último módulo, você aprenderá como
criar, acessar os elementos, realizar pesquisas dentro de uma coleção e como
ordená-la. Verá também, sobre os principais fluxos de controle que são utilizados
atualmente. Vamos em frente!
Vídeo
Confira o vídeo sobre fluxos condicional e de repetição.
52
Linguagem de Programação Java - Básico
Iniciando pelo fluxo condicional, temos o if, seu uso indica para
o programa que desejamos iniciar um teste. Assim, ele avaliará
determinada condição entre parênteses (bloco). Caso essa condição
retorne um valor verdadeiro (true), o programa executará as
instruções definidas no código. Neste exemplo, a variável idade é
definida com o tipo int (número inteiro) e valor 8.
*FLUXO CONDICIONAL
*Utilização do IF
*@author Professor Carlos Moreno
*/
public class ControleFLuxo {
/*Método principal da classe*/
public static void main (string [] args) {
}//fim do método
}//fim da classe
O else, por sua vez, significa que, caso o bloco seja falso, executará
o comando else. Isto é, se o valor da variável, assim como o resto da
divisão, for igual a zero, então o número (definido na variável) será par.
Do contrário, será exibida a mensagem “este número é ímpar”.
53
Linguagem de Programação Java - Básico
*FLUXO CONDICIONAL
*utilização do IF, ELSE
*@author Professor Carlos Moreno
*/
}//fim do método
}//fim do método
}//fim da classe
Mas, caso seja necessário avaliar outras condições, podemos usar o else
if, até que alguma das condições esteja satisfeita no código.
54
Linguagem de Programação Java - Básico
Por outro lado, se o valor da variável for maior que 7 e menor ou igual
a 18, então o código exibirá em tela a mensagem “É um adolescente”.
*FLUXO CONDICIONAL
*Utilização do IF, ELSE IF, ELSE
*@author Professor Carlos Moreno
*/
public class ControleFluxo3 {
/*Método principal da classe*/
public static void main (String [ ] args) {
int idade = 7;
if (idade <= 7){ //a idade é menor ou igual a 7?
Systen.out .println(“Ainda é uma criança”); // se
verdadeiro, imprima
} else {
System.out .println(“Está na melhor idade”); //
senao, imprima
}//fim do método
}//fim do método
}//fim da classe
55
Linguagem de Programação Java - Básico
56
Linguagem de Programação Java - Básico
while (i < 2) { // enquanto i for menor que 2
System.out.println(i); //imprima valor de i
i++; //incremento da variável i.
}//fim do método
}//fim da classe
*FLUXO DE REPETIÇÃO
*Utilização DO...WHILE (FAÇA...ENQUANTO)
*@author Professor Carlos Moreno
*/
import java.util.arraylist;
//Importamos a classe ArrayList para poder fazer
uso do vetor e armazenar elementos.
public class Dowhile {
/*Método principal da classe*/
public static void main (String[ ] args) {
//Fluxo de repetição usando While
int i = 3; //a variável i recebe o valor três (3)
57
Linguagem de Programação Java - Básico
do {
System.out .println(i); //imprima valor de i
i++; //incremento da variável i.
}
while (i < 5) { // enquanto i for menor que 5
}//fim do método
}//fim da classe
O número 5 não será exibido, pois a variável está definida como menor
que 5 (< 5). Caso estivesse como <=5, ele seria exibido.
/**
*FLUXO DE REPETIÇÃO
*Utilização FOR
*@author Professor Carlos Moreno
*/
class FOR {
public static void main(String args []) {
for (int i = 0; i < 5; i++ ) { //ordem crescente, de
0 à 5
System.out.println(i);
}
}
}
58
Linguagem de Programação Java - Básico
Agora, que tal ir ao estudo dos arrays? Na sequência, você poderá entender como
iniciar esse elemento e ter contato com os arrays multidimensionais. Confira o que
preparamos!
Iniciando arrays
No exemplo apresentado a seguir, temos uma lista dos países que compõem o
BRICS (acrônimo formado pelas iniciais dos países Brasil, Rússia, Índia, China e
África do Sul, sendo um agrupamento de países de mercado emergente em relação
ao seu desenvolvimento econômico).
Observe que a primeira posição na lista inicia em zero, logo, o primeiro componente
corresponde ao Brasil, o segundo à Rússia, e assim por diante.
59
Linguagem de Programação Java - Básico
System.out.println(paises[0]);
}
}
Podemos utilizar a classe “java.util.Arrays”, mas que não faz parte do pacote “lang”
do Java. Desse modo, devemos importá-la utilizando o comando “import java.util.
Arrays”, para que seja possível aplicar os recursos do exemplo.
import java.util.Arrays;
System.out.println(paises [0]);
System.out.println(Arrays.toString (paises))
}
}
Nesta etapa dos seus estudos, você já pode imaginar que precisa realizar uma
pesquisa no array. Esta pesquisa deverá retornar um país que compõe o array.
Para tanto, utilize um objeto chamado “arrays”, com o método “binarySearch” para
buscar o elemento. Em nosso caso, vamos buscar pelo país Brasil, inserido na lista
países. Será, então, retornada a posição do elemento, conforme definido no método
“binarySearch”, na coleção.
60
Linguagem de Programação Java - Básico
import java.util.Arrays;
System.out.println(paises[0]);
System.out.println(Arrays.toString (paises))
import java.util.Arrays;
System.out.println(paises[0]);
System.out.println(Arrays.toString (paises));
61
Linguagem de Programação Java - Básico
É importante mencionar que você ainda pode utilizar arrays com duas ou mais
dimensões, informando no código qual elemento deseja obter o acesso. Veja no
exemplo abaixo:
62
Linguagem de Programação Java - Básico
Fechamento
É válido frisar, que tudo o que foi abordado é fundamental, não só porque vai lhe
ajudar a compreender aspectos mais complexos da linguagem Java, mas também
será de grande relevância em sua futura prática profissional.
63
Linguagem de Programação Java - Básico
Referências
BURD, B. Começando a programar em Java para leigos. Rio de Janeiro: Alta Books,
2014.
DEITEL, P. J.; DEITEL, H. Java: how to program. 11. ed. São Paulo: Pearson, 2017.
FREEPIK. Graphic resources for everyone. Freepik, 2021. Disponível em: www.
freepik.com/br.
JAVA Logo. Marcas Logos, [s. l.], [s. d.]. Disponível em: https://marcas-logos.net/
java-logo/. Acesso em: 11 maio 2021.
JAVA SE Development Kit 8 downloads. Oracle, [s. l.], [s. d.]. Disponível em: https://
www.oracle.com/br/java/technologies/javase/javase-jdk8-downloads.html.
Acesso em: 11 maio 2021.
SIERRA, K.; BATES, B. Use a cabeça! JAVA. 2. ed. Rio de Janeiro: Alta Books, 2007.
YOU ALWAYS wondered: Duke, the Java mascot #Java #Duke @Oracle. Adafruit, [s.
l.], 7 mar. 2019. Disponível em: https://blog.adafruit.com/2019/03/07/you-always-
wondered-duke-the-java-mascot-java-duke-oracle/. Acesso em: 9 fev. 2021.
64