Capítulo 1: Introdução ao Java
O que é Java?
Java é uma linguagem de programação que nos permite dar instruções para o computador
realizar tarefas. Pense em Java como uma linguagem que os computadores entendem, assim
como o português é a nossa língua para nos comunicarmos. Com Java, você pode criar
programas que resolvem problemas, fazem cálculos, ou até mesmo jogos!
História e Usos da Linguagem
Java foi criado em 1995 por uma empresa chamada Sun Microsystems. Desde então, se tornou
muito popular por ser fácil de aprender e usar. Java é usado para fazer:
● Aplicativos para Android: Muitos apps que você usa no seu celular são feitos em
Java.
● Sites e serviços online: Java ajuda a criar sites que fazem mais do que apenas
mostrar texto e imagens.
● Jogos: Alguns jogos no computador e celular usam Java.
Configurando o Ambiente de Desenvolvimento
Antes de começar a programar em Java, precisamos instalar algumas ferramentas no nosso
computador. Vamos usar o Java Development Kit (JDK) e uma ferramenta chamada IDE
(Ambiente de Desenvolvimento Integrado).
Passos para Configurar:
1. Instalar o JDK (Java Development Kit):
○ Acesse o site oficial do JDK: Baixar JDK.
○ Escolha a versão correta para o seu sistema operacional (Windows, Mac ou
Linux).
○ Baixe e instale o JDK seguindo as instruções na tela.
2. Instalar uma IDE:
○ IntelliJ IDEA ou Eclipse são ótimas escolhas.
○ Acesse o site do IntelliJ IDEA ou do Eclipse.
○ Baixe e instale a IDE escolhida.
Após instalar essas ferramentas, estaremos prontos para escrever nosso primeiro programa em
Java!
Escrevendo Nosso Primeiro Programa: "Olá, Mundo!"
O "Olá, Mundo!" é tradicionalmente o primeiro programa que escrevemos ao aprender uma
nova linguagem de programação. Ele simplesmente exibe a frase "Olá, Mundo!" na tela.
Passos para Criar o Programa:
1. Abra sua IDE:
○ Se você escolheu o IntelliJ IDEA, abra o programa e crie um novo projeto Java.
○ Se estiver usando o Eclipse, faça o mesmo.
2. Crie um novo arquivo Java:
○ No IntelliJ IDEA, clique em File > New > Java Class.
○ No Eclipse, clique em File > New > Class.
Escreva o código:
Copie e cole o código abaixo no arquivo que você acabou de criar:
public class OlaMundo {
public static void main(String[] args) {
System.out.println("Olá, Mundo!");
}
}
3.
4. Executar o programa:
○ No IntelliJ IDEA, clique com o botão direito do mouse no código e escolha Run
OlaMundo.main().
○ No Eclipse, clique com o botão direito do mouse no código e escolha Run As >
Java Application.
5. Veja o resultado:
○ A mensagem "Olá, Mundo!" deve aparecer na área de console da sua IDE.
Explicação do Código
Vamos entender o que cada parte do código faz:
● public class OlaMundo: Define uma classe chamada OlaMundo. Em Java, todo
programa começa com uma classe.
● public static void main(String[] args): Este é o ponto de entrada do nosso
programa. O Java sempre começa a executar o código a partir daqui.
● System.out.println("Olá, Mundo!");: Este comando imprime "Olá, Mundo!" na
tela.
Capítulo 2: Conceitos Básicos
Neste capítulo, vamos explorar os conceitos fundamentais de programação em Java, incluindo
a estrutura de um programa, tipos de dados, variáveis, operadores e expressões. Esses
conceitos são essenciais para começar a criar programas mais complexos.
Estrutura de um Programa Java
Um programa Java é composto por classes e métodos. A estrutura básica de um programa
Java é a seguinte:
public class NomeDaClasse {
public static void main(String[] args) {
// Código do programa
}
}
● Classe: Todo programa Java é organizado em classes. Uma classe é como um modelo
ou planta que descreve como os objetos são criados e como eles se comportam.
● Método main: É o ponto de entrada do programa, onde o Java começa a execução.
Tipos de Dados e Variáveis
Tipos de Dados: São utilizados para definir o tipo de informação que podemos armazenar em
uma variável. Os principais tipos de dados em Java são:
● int: Números inteiros (ex: 10, 20, -5).
● double: Números decimais (ex: 3.14, -0.99).
● char: Caracteres únicos (ex: 'a', 'Z', '1').
● boolean: Verdadeiro ou falso (ex: true, false).
● String: Cadeia de caracteres (ex: "Olá", "Java").
Variáveis: São usadas para armazenar dados em um programa. Para declarar uma variável,
você deve especificar o tipo de dado e o nome da variável. Exemplo:
int idade = 16;
double altura = 1.75;
char inicial = 'A';
boolean estudante = true;
String nome = "João";
Operadores e Expressões
Os operadores são usados para realizar operações em variáveis e valores. Os operadores
mais comuns em Java são:
Aritméticos: + (adição), - (subtração), * (multiplicação), / (divisão), % (módulo).
Exemplo:
int soma = 10 + 5; // 15
int subtracao = 10 - 5; // 5
int multiplicacao = 10 * 5; // 50
double divisao = 10.0 / 3.0; // 3.33
int resto = 10 % 3; // 1
Comparação: == (igual a), != (diferente de), < (menor que), > (maior que), <= (menor ou igual
a), >= (maior ou igual a).
Exemplo:
boolean resultado1 = (10 == 5); // false
boolean resultado2 = (10 != 5); // true
boolean resultado3 = (10 > 5); // true
boolean resultado4 = (10 <= 5); // false
Lógicos: && (e lógico), || (ou lógico), ! (não lógico).
Exemplo:
boolean resultado = (10 > 5) && (5 < 3); // false
boolean resultado2 = (10 > 5) || (5 < 3); // true
boolean resultado3 = !(10 > 5); // false
Exercício Prático
Vamos criar um programa simples que calcula a média de duas notas e verifica se o aluno foi
aprovado (nota maior ou igual a 7).
java
Copiar código
public class CalculoMedia {
public static void main(String[] args) {
double nota1 = 8.5;
double nota2 = 6.0;
double media = (nota1 + nota2) / 2;
System.out.println("Média: " + media);
if (media >= 7) {
System.out.println("Aluno aprovado!");
} else {
System.out.println("Aluno reprovado.");
}
}
}
Explicação do Código
● Declaramos duas variáveis nota1 e nota2 do tipo double para armazenar as notas.
● Calculamos a média somando as notas e dividindo por 2.
● Usamos System.out.println para exibir a média.
● Utilizamos uma estrutura condicional if-else para verificar se a média é maior ou
igual a 7 e imprimimos o resultado.
Capítulo 3: Controle de Fluxo
As estruturas de controle de fluxo são usadas para determinar como e quando o código em um
programa é executado. Em Java, as principais estruturas de controle são as condicionais e os
loops.
Estruturas Condicionais
As estruturas condicionais permitem que um programa escolha diferentes caminhos de
execução com base em condições específicas.
if e else
A estrutura if é usada para executar um bloco de código se uma condição for verdadeira. O
else é usado para executar outro bloco de código se a condição for falsa.
Exemplo: Verificação de idade
public class VerificacaoIdade {
public static void main(String[] args) {
int idade = 16;
if (idade >= 18) {
System.out.println("Você é maior de idade.");
} else {
System.out.println("Você é menor de idade.");
}
}
}
else if
O else if é usado para testar múltiplas condições.
Exemplo: Classificação por nota
public class ClassificacaoNota {
public static void main(String[] args) {
int nota = 85;
if (nota >= 90) {
System.out.println("Excelente!");
} else if (nota >= 70) {
System.out.println("Bom!");
} else if (nota >= 50) {
System.out.println("Regular.");
} else {
System.out.println("Precisa melhorar.");
}
}
}
Estruturas de Repetição
Os loops permitem que você repita um bloco de código várias vezes.
for
O loop for é usado quando você sabe com antecedência quantas vezes deseja repetir um
bloco de código.
Exemplo: Contar de 1 a 5
public class Contagem {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("Número: " + i);
}
}
}
while
O loop while é usado quando você deseja repetir um bloco de código enquanto uma condição
for verdadeira.
Exemplo: Contar de 1 a 5 usando while
public class ContagemWhile {
public static void main(String[] args) {
int contador = 1;
while (contador <= 5) {
System.out.println("Número: " + contador);
contador++;
}
}
}
do-while
O loop do-while é semelhante ao while, mas garante que o bloco de código seja executado
pelo menos uma vez.
Exemplo: Contar de 1 a 5 usando do-while
public class ContagemDoWhile {
public static void main(String[] args) {
int contador = 1;
do {
System.out.println("Número: " + contador);
contador++;
} while (contador <= 5);
}
}
Exercício Prático
Vamos criar um programa que imprime os números pares de 1 a 10.
public class NumerosPares {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
System.out.println(i + " é par.");
}
}
}
}
Explicação do Código
● Usamos um loop for para iterar de 1 a 10.
● Dentro do loop, usamos uma condição if para verificar se o número é par usando o
operador % (módulo).
● Se i % 2 é igual a 0, então i é par, e imprimimos o número.
Capítulo 4: Introdução a Métodos
Os métodos em Java são blocos de código que executam tarefas específicas. Eles ajudam a
organizar o código e permitem reutilizá-lo em diferentes partes do programa.
O que são Métodos?
Um método é como uma função ou uma ação que o programa pode executar. Por exemplo,
você pode ter um método que calcule a soma de dois números ou um que imprima uma
mensagem na tela.
Estrutura de um Método em Java:
retornoTipo nomeDoMetodo(parametros) {
// Código a ser executado
}
● retornoTipo: Indica o tipo de dado que o método retorna. Use void se o método não
retornar nada.
● nomeDoMetodo: O nome do método. Deve ser descritivo do que o método faz.
● parametros: Os valores que você pode passar para o método (opcional).
Criando e Chamando Métodos
Vamos criar um método simples que imprime uma mensagem na tela.
Exemplo: Método para imprimir mensagem
public class ExemploMetodo {
public static void main(String[] args) {
// Chamando o método imprimirMensagem
imprimirMensagem();
}
// Método que imprime uma mensagem
public static void imprimirMensagem() {
System.out.println("Olá, este é um método!");
}
}
Explicação do Código
● imprimirMensagem(): Este é o nome do método. Ele não recebe parâmetros e não
retorna nada (void).
● System.out.println("Olá, este é um método!");: Este é o código dentro do
método que imprime a mensagem.
Métodos com Parâmetros
Métodos podem receber parâmetros para executar suas tarefas de forma mais flexível.
Exemplo: Método que soma dois números
public class SomaMetodo {
public static void main(String[] args) {
// Chamando o método somar com dois números
int resultado = somar(5, 3);
System.out.println("A soma é: " + resultado);
}
// Método que soma dois números e retorna o resultado
public static int somar(int a, int b) {
int soma = a + b;
return soma;
}
}
Explicação do Código
● somar(int a, int b): Este método recebe dois parâmetros inteiros a e b.
● return soma;: Retorna a soma dos dois números para quem chamou o método.
Compilando e Executando um Programa Java
Para compilar e executar um programa Java, siga estes passos:
1. Escrever o Código: Abra um editor de texto ou IDE e escreva o código do seu
programa.
2. Salvar o Arquivo: Salve o arquivo com a extensão .java. O nome do arquivo deve ser
o mesmo da classe pública que contém o método main. Por exemplo,
SomaMetodo.java.
3. Compilar o Programa:
○ Abra o terminal (Prompt de Comando no Windows ou Terminal no
macOS/Linux).
○ Navegue até o diretório onde o arquivo .java está salvo.
○ Digite o comando javac NomeDoArquivo.java e pressione Enter. Isso irá
compilar o código e gerar um arquivo NomeDoArquivo.class.
javac SomaMetodo.java
4. Executar o Programa:
○ Ainda no terminal, digite o comando java NomeDoArquivo (sem a extensão
.class) e pressione Enter. Isso executará o programa.
java SomaMetodo
Se tudo estiver correto, o programa exibirá a saída no console, mostrando "A soma é:
8".
Métodos com Retorno
Um método pode retornar um valor usando a palavra-chave return.
Exemplo: Método que verifica se um número é par
public class VerificarParidade {
public static void main(String[] args) {
boolean resultado = ehPar(4);
if (resultado) {
System.out.println("O número é par.");
} else {
System.out.println("O número é ímpar.");
}
}
// Método que verifica se um número é par
public static boolean ehPar(int numero) {
return numero % 2 == 0;
}
}
Explicação do Código
● ehPar(int numero): Este método recebe um número inteiro e retorna true se o
número for par e false caso contrário.
● return numero % 2 == 0;: Retorna o resultado da condição que verifica se o
número é par.
Exercício Prático
Vamos criar um método que calcula o quadrado de um número.
public class CalculoQuadrado {
public static void main(String[] args) {
int numero = 5;
int quadrado = calcularQuadrado(numero);
System.out.println("O quadrado de " + numero + " é " +
quadrado);
}
// Método que calcula o quadrado de um número
public static int calcularQuadrado(int numero) {
return numero * numero;
}
}
Explicação do Código
● calcularQuadrado(int numero): Este método recebe um número e retorna o seu
quadrado.
● return numero * numero;: Calcula o quadrado do número recebido e retorna o
resultado.
Capítulo 5: Introdução a Arrays
Os arrays em Java são estruturas de dados que permitem armazenar uma coleção de
elementos do mesmo tipo. Eles são úteis quando você precisa trabalhar com uma lista de
valores, como números, nomes ou qualquer outro tipo de dados.
O que é um Array?
Um array é uma estrutura que armazena múltiplos valores em um espaço contíguo de memória.
Todos os elementos de um array devem ser do mesmo tipo.
Declaração e Inicialização de Arrays
Para criar um array em Java, você deve declarar o tipo de dados e especificar o tamanho do
array. Aqui está a sintaxe básica:
tipo[] nomeDoArray = new tipo[tamanho];
● tipo: O tipo de dados que o array irá armazenar (por exemplo, int, String).
● nomeDoArray: O nome do array.
● tamanho: O número de elementos que o array pode armazenar.
Exemplo: Criando um Array de Números Inteiros
public class ExemploArray {
public static void main(String[] args) {
int[] numeros = new int[5]; // Cria um array para armazenar 5
inteiros
// Inicializa o array com valores
numeros[0] = 10;
numeros[1] = 20;
numeros[2] = 30;
numeros[3] = 40;
numeros[4] = 50;
// Imprime os valores do array
for (int i = 0; i < numeros.length; i++) {
System.out.println("Elemento na posição " + i + ": " +
numeros[i]);
}
}
}
Explicação do Código
● int[] numeros = new int[5];: Declara e inicializa um array de inteiros com 5
elementos.
● numeros[i] = valor;: Atribui um valor a cada posição do array.
● numeros.length: Retorna o tamanho do array (número de elementos).
Compilando e Executando um Programa com Arrays
Para compilar e executar um programa Java que utiliza arrays, siga os mesmos passos
descritos no capítulo anterior:
1. Escrever o Código: Abra um editor de texto ou IDE e escreva o código do seu
programa.
2. Salvar o Arquivo: Salve o arquivo com a extensão .java. O nome do arquivo deve ser
o mesmo da classe pública que contém o método main. Por exemplo,
ExemploArray.java.
3. Compilar o Programa:
○ Abra o terminal (Prompt de Comando no Windows ou Terminal no
macOS/Linux).
○ Navegue até o diretório onde o arquivo .java está salvo.
○ Digite o comando javac NomeDoArquivo.java e pressione Enter. Isso irá
compilar o código e gerar um arquivo NomeDoArquivo.class.
javac ExemploArray.java
4. Executar o Programa:
○ Ainda no terminal, digite o comando java NomeDoArquivo (sem a extensão
.class) e pressione Enter. Isso executará o programa.
java ExemploArray
Se tudo estiver correto, o programa exibirá a saída no console, mostrando os valores
dos elementos do array.
Inicializando Arrays com Valores
Você também pode inicializar um array com valores diretamente na declaração.
Exemplo: Array de Cores
java
Copiar código
public class CoresArray {
public static void main(String[] args) {
String[] cores = {"Vermelho", "Verde", "Azul", "Amarelo"};
// Imprime os valores do array
for (int i = 0; i < cores.length; i++) {
System.out.println("Cor na posição " + i + ": " +
cores[i]);
}
}
}
Explicação do Código
● String[] cores = {"Vermelho", "Verde", "Azul", "Amarelo"};: Declara
e inicializa um array de strings com valores.
Exercício Prático
Vamos criar um programa que calcula a média de uma lista de notas armazenadas em um
array.
public class MediaNotas {
public static void main(String[] args) {
double[] notas = {8.5, 7.0, 9.5, 6.0, 8.0};
double soma = 0.0;
// Calcula a soma das notas
for (int i = 0; i < notas.length; i++) {
soma += notas[i];
}
// Calcula a média
double media = soma / notas.length;
System.out.println("A média das notas é: " + media);
}
}
Explicação do Código
● double[] notas = {8.5, 7.0, 9.5, 6.0, 8.0};: Declara e inicializa um array
de doubles com valores de notas.
● soma += notas[i];: Soma cada nota ao total.
● double media = soma / notas.length;: Calcula a média dividindo a soma pelo
número de elementos no array.
Capítulo 6: Introdução a Loops
Loops são estruturas que permitem executar um bloco de código várias vezes, facilitando a
repetição de tarefas sem a necessidade de escrever o mesmo código repetidamente.
Tipos de Loops em Java
Existem três tipos principais de loops em Java:
1. for loop: Usado quando você sabe o número exato de vezes que deseja repetir um
bloco de código.
2. while loop: Usado quando você deseja repetir um bloco de código enquanto uma
condição for verdadeira.
3. do-while loop: Semelhante ao while, mas garante que o bloco de código seja
executado pelo menos uma vez.
O Loop for
O loop for é ideal quando você conhece o número de iterações antecipadamente. Sua sintaxe
é:
for (inicialização; condição; incremento) {
// Código a ser repetido
}
● inicialização: Configura uma variável de controle.
● condição: Define a condição para continuar o loop.
● incremento: Atualiza a variável de controle a cada iteração.
Exemplo: Imprimindo números de 1 a 5
public class ExemploFor {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
System.out.println("Número: " + i);
}
}
}
Explicação do Código
● int i = 1: Inicializa a variável i com o valor 1.
● i <= 5: Continua o loop enquanto i for menor ou igual a 5.
● i++: Incrementa i em 1 a cada iteração.
O Loop while
O loop while repete um bloco de código enquanto uma condição for verdadeira.
Exemplo: Imprimindo números de 1 a 5
public class ExemploWhile {
public static void main(String[] args) {
int i = 1; // Inicialização da variável
while (i <= 5) {
System.out.println("Número: " + i);
i++; // Incremento
}
}
}
Explicação do Código
● int i = 1;: Inicializa a variável i com o valor 1.
● while (i <= 5): Continua o loop enquanto i for menor ou igual a 5.
● i++: Incrementa i em 1 a cada iteração.
O Loop do-while
O loop do-while é semelhante ao while, mas executa o bloco de código pelo menos uma
vez antes de verificar a condição.
Exemplo: Imprimindo números de 1 a 5
public class ExemploDoWhile {
public static void main(String[] args) {
int i = 1; // Inicialização da variável
do {
System.out.println("Número: " + i);
i++; // Incremento
} while (i <= 5);
}
}
Explicação do Código
● int i = 1;: Inicializa a variável i com o valor 1.
● do { ... } while (i <= 5);: Executa o bloco de código e depois verifica a
condição.
Compilando e Executando um Programa com Loops
Para compilar e executar um programa Java que utiliza loops, siga os mesmos passos
descritos nos capítulos anteriores:
1. Escrever o Código: Abra um editor de texto ou IDE e escreva o código do seu
programa.
2. Salvar o Arquivo: Salve o arquivo com a extensão .java. O nome do arquivo deve ser
o mesmo da classe pública que contém o método main. Por exemplo,
ExemploFor.java.
3. Compilar o Programa:
○ Abra o terminal (Prompt de Comando no Windows ou Terminal no
macOS/Linux).
○ Navegue até o diretório onde o arquivo .java está salvo.
○ Digite o comando javac NomeDoArquivo.java e pressione Enter. Isso irá
compilar o código e gerar um arquivo NomeDoArquivo.class.
javac ExemploFor.java
4. Executar o Programa:
○ Ainda no terminal, digite o comando java NomeDoArquivo (sem a extensão
.class) e pressione Enter. Isso executará o programa.
java ExemploFor
Se tudo estiver correto, o programa exibirá a saída no console, mostrando os números
de 1 a 5.
Exercício Prático
Vamos criar um programa que calcula a soma de números de 1 a 10 usando um loop for.
public class SomaNumeros {
public static void main(String[] args) {
int soma = 0;
for (int i = 1; i <= 10; i++) {
soma += i; // Adiciona i à soma
}
System.out.println("A soma dos números de 1 a 10 é: " + soma);
}
}
Explicação do Código
● int soma = 0;: Inicializa a variável soma com 0.
● soma += i;: Adiciona o valor de i à variável soma em cada iteração.