Java - 2 em 1 - Parte 1
Java - 2 em 1 - Parte 1
COM
/INTRODUÇÃO AO JAVA
FUNDAMENTOS DE
LÓGICA DE PROGRAMAÇÃO
Main.java
ONEDAYCODE.COM
/DOWNLOAD
DOS ARQUIVOS
DO CURSO
CLIQUE AQUI PARA BAIXAR OS EXEMPLOS DO CURSO
Main.java
ONEDAYCODE.COM
/SOBRE MIM
Ensino online desde 2009:mais de 35 cursos
produzidos, 250 mil alunos em 141 países.
Main.java
ONEDAYCODE.COM
/COMPROMISSO DO ALUNO
Main.java
ONEDAYCODE.COM
/SOBRE O JAVA
Sintaxe muito parecida com C e C++.
Main.java
ONEDAYCODE.COM
/SOBRE O CURSO
Se você está assistindo ao curso grátis,
infelizmente não teremos exercícios de fixação,
pois existe um limite de tempo permitido para
postar cursos grátis e eu escolhi postar mais
conteúdo, do que pouco conteúdo com exercícios.
Main.java
ONEDAYCODE.COM
/CONTEÚDO BÁSICO
● Instalação da IDE
● Imprimir e ler valores
● Operações Matemáticas
● Condicionais (If, Switch)
● Conectivos Lógicos
● Laços de Repetição (While, For)
● Constantes
● Vetores
● Matrizes
Main.java
ONEDAYCODE.COM
/CONTEÚDO COMPLETO
● Conversão de valores (Parse)
● Naming Conventions
● Arraylists
● Gerar Aleatório
● Funções (Retorno, Parâmetros)
● Static
● Classes e Objetos
● Atributos de Classes
● Método Construtor
● Métodos com e sem Retorno
● Encapsulamento (Getters e Setters)
● Herança
● Diagramas UML
● Sobrecarga
● Polimorfismo
● Interfaces
Extra: Interface Gráfica com JFrame
Main.java
ONEDAYCODE.COM
/DÚVIDAS E AVALIAÇÃO
Main.java
ONEDAYCODE.COM
/AMBIENTE DE
DESENVOLVIMENTO
(IDE)
Main.java
ONEDAYCODE.COM
/JRE
Clique para baixar: JRE (JAVA RUNTIME ENVIRONMENT)
Main.java
ONEDAYCODE.COM
/JDK
Clique para baixar: JDK(JAVA DEVELOPMENT KIT)
Main.java
ONEDAYCODE.COM
/IDE
“Ambiente de Desenvolvimento Integrado”
Main.java
ONEDAYCODE.COM
/JVM
Através da Java Virtual Machine é possível rodar o mesmo programa em
vários dispositivos com perfeição.
Main.java
ONEDAYCODE.COM
/O QUE É COMPUTAÇÃO?
Main.java
ONEDAYCODE.COM
/COMPUTAÇÃO
Computar = Calcular segundo determinadas regras (Algoritmo).
Main.java
ONEDAYCODE.COM
A B RESULTADO
10 + 20 = 30
/COMPUTAR
Computar = juntar dois valores e retornar a soma deles.
Outputs: resultado=30
Main.java
ONEDAYCODE.COM
A B RESULTADO
10 + 20 = 30
/ALGORITMO
Algoritmo: Sequência de comandos executados em ordem para resolver
um problema.
a = 10 b = 20 resultado = a + b
Main.java
ONEDAYCODE.COM
A B RESULTADO
10 + 20 = 30
/VARIÁVEIS
Para que os valores sejam armazenados pelo computador usamos as
variáveis, que são pedaços da memória responsáveis por guardar
números, letras e palavras, como se fossem “caixas”.
Main.java
ONEDAYCODE.COM
A B RESULTADO
10 + 20 = 30
/TIPOS DE VARIÁVEIS
É preciso informar ao computador qual tipo de informação será
armazenada nessas variáveis e indicar onde o comando termina com “;”
No exemplo são valores inteiros, então em JAVA ficaria:
int a = 10;
int b = 20;
int resultado = a + b;
Main.java
ONEDAYCODE.COM
/TIPOS DE VARIÁVEIS
int números inteiros 10, 25, 67
char letra a, g, X
Main.java
ONEDAYCODE.COM
/OPERAÇÕES MATEMÁTICAS
+ soma
- subtração
* multiplicação
/ divisão
% resto da divisão
Main.java
ONEDAYCODE.COM
/FUNÇÕES E BIBLIOTECAS
Conjunto de comandos para realizar uma função no código.
A função padrão do Java que faz a IDE identificar por onde o código
deve começar é a:
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
/MÃO NA MASSA
PRIMEIRO CÓDIGO
Main.java
/RODANDO
Para rodar o código clicamos no
triângulo verde.
//Exemplo de comentário
ONEDAYCODE.COM
/IMPRIMIR NA TELA
Para imprimir dados na tela usamos a função System.out.println();
Imprimir um inteiro:
System.out.println(nomedavariavel) ;
Main.java
ONEDAYCODE.COM
/CÓDIGO FINAL
package com.company;
Main.java
ONEDAYCODE.COM
/FUNCIONAMENTO
Primeiramente foi definido automaticamente
o nome do nosso pacote do programa (por
padrão com.company) para que todos os
arquivos do mesmo projeto possam ser
conectados uns com os outros.
/REVISÃO
Computar Calcular seguindo determinadas regras
Main.java
ONEDAYCODE.COM
<EXERCÍCIOS>
Operações Matemáticas
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE MULTIPLIQUE 3 VALORES E MOSTRE O
RESULTADO NA TELA (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
package com.company;
}
}
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE MOSTRE O RESULTADO DA SOMA DE 3
NÚMEROS QUEBRADOS (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
package com.company;
/SUA VEZ
FAÇA UM PROGRAMA QUE MOSTRE O RESTO DA DIVISÃO DE 2
NÚMEROS QUEBRADOS (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
A B RESULTADO
? + ? = ?
/LER VALORES
Os valores em um programa não precisam sempre ser definidos no
código, eles podem ser inseridos pelos usuários durante a execução
do programa utilizando um Scanner.
Main.java
ONEDAYCODE.COM
/LER VALORES
Ao tentar usar alguma funcionalidade do Java que seja de uma outra
classe, o próprio software sugere a inserção da biblioteca.
Main.java
ONEDAYCODE.COM
/LER UM NÚMERO
package com.company;
//É preciso adicionar uma biblioteca para usar o scanner, pois ela possui
as
funcionalidades(métodos) necessários para ler informações do teclado.
import java.util.Scanner;
//Inicializa o scanner
Scanner leitor = new Scanner(System.in);
//Ler Sexo
System.out.println("Qual é o seu sexo: ");
String sexo = leitor.nextLine();
//Ler Altura
System.out.println("Qual é a sua altura: ");
double altura = leitor.nextDouble();
//Ler Idade
System.out.println("Quantos anos você tem?: ");
int idade = leitor.nextInt();
}
}
Main.java
ONEDAYCODE.COM
//Inicializa o scanner
Scanner leitor = new Scanner(System.in);
//Ler Sexo
System.out.println("Qual é o seu sexo: ");
String sexo = leitor.nextLine();
//Ler Altura
System.out.println("Qual é a sua altura: ");
double altura = leitor.nextDouble();
leitor.nextLine();
//Ler Idade
System.out.println("Quantos anos você tem?: ");
int idade = leitor.nextInt();
leitor.nextLine();
}
} Main.java
ONEDAYCODE.COM
<EXERCÍCIOS>
Leitura de Valores
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 3 VALORES E MOSTRE O
RESULTADO DA SOMA DELES (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NOME E UM SOBRENOME
E IMPRIMA NA TELA O NOME COMPLETO.
Main.java
ONEDAYCODE.COM
/COMO CONVERTER
VALORES (PARSE)
Main.java
ONEDAYCODE.COM
/CONVERTER VALORES
Muitas vezes os valores que lemos ou com que estamos trabalhando não
estão no formato que precisamos. Podemos contornar esse problema
através da conversão de valores usando o parse.
Main.java
ONEDAYCODE.COM
/NAMING CONVENTIONS
Main.java
ONEDAYCODE.COM
/NAMING CONVENTIONS
Packages com.onedaycode
Classes NomeDaClasse
Métodos nomeDoMetodo
Variáveis nomeDaVariavel
Constantes NOME_DA_CONSTANTE
Objetos nomeDoObjeto
Main.java
ONEDAYCODE.COM
/CONDICIONAIS SIMPLES
Main.java
ONEDAYCODE.COM
/CONDICIONAIS
É muito comum que ao criar programas, dependendo da situação das
variáveis, ele vá para um lugar ou então para outro a partir de uma
condição.
Dentro dos parênteses temos uma condição que se for verdadeira, irá
executar tudo que estiver entre as chaves.
Main.java
ONEDAYCODE.COM
/EXEMPLOS
Texto: Se idade for maior que 18 anos, então é maior de idade.
Main.java
ONEDAYCODE.COM
/EXEMPLOS
Também podemos executar outro código caso a condição analisada não
seja cumprida
Main.java
ONEDAYCODE.COM
/OPERADORES
== igual a
> maior que
< menor que
>= maior ou igual
<= menor ou igual
!= diferente de
.equals() igual a (strings)
Main.java
ONEDAYCODE.COM
/FUNCIONAMENTO
package com.company;
import java.util.Scanner;
public static void main(String[] args) { Defino uma variável idade para ser lida
pelo usuário.
//Cria o leitor
Scanner leitor = new Scanner(System.in);
}
}
ONEDAYCODE.COM
/FUNCIONAMENTO
package com.company;
import java.util.Scanner;
}
ONEDAYCODE.COM
/FUNCIONAMENTO
package com.company;
import java.util.Scanner;
public static void main(String[] args) { Para comparar Strings, usamos o comando
.equals().
//Cria o leitor
Scanner leitor = new Scanner(System.in);
Se elas forem iguais, então entra no
//Lido pelo usuário bloco.
String palavra1 = leitor.nextLine();
String palavra2 = leitor.nextLine();
}
ONEDAYCODE.COM
<EXERCÍCIOS>
Condicionais
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 2 NÚMEROS INTEIROS E
IMPRIMA NA TELA SE A SOMA ENTRE ELES FOR MAIOR QUE 10
(RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 1 NÚMERO INTEIRO E IMPRIMA
NA TELA SE ELE FOR ÍMPAR (PESQUISE SOBRE A OPERAÇÃO
RESTO DE DIVISÃO QUE É O %) (RESPOSTA NO PRÓXIMO
SLIDE).
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UMA PALAVRA E INFORME SE
ELA TEM PELO MENOS 5 LETRAS OU SE TEM MENOS (PESQUISE
SOBRE O COMANDO .LENGTH) (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 1 PALAVRA E INFORME SE A
PALAVRA FOR “DIA” OU NÃO (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/CONECTIVOS LÓGICOS
Main.java
ONEDAYCODE.COM
/CONECTIVOS LÓGICOS
Existem situações em que precisamos que mais de uma condição seja
analisada ao mesmo tempo, para algo acontecer.
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
? ? PROBLEMA
/CONDICIONAL E
Numa balada, se pessoa1 e pessoa2 forem maiores de idade,
então está tudo OK, senão, teremos problemas.
Main.java
ONEDAYCODE.COM
? ? PROBLEMA
18 20 OK V V V
18 17 PROBLEMA V F F
17 17 PROBLEMA F F F
Main.java
ONEDAYCODE.COM
/FUNCIONAMENTO
package com.company;
import java.util.Scanner;
Ele é usado quando preciso que PELO MENOS UMA das condições
dentro do IF sejam verdadeiras, e só assim, o código será executado.
Main.java
ONEDAYCODE.COM
? ? PROBLEMA
/CONDICIONAL OU
Num cinema com um filme +18, se pessoa1 OU pessoa2 for maior de
idade, então está tudo OK, senão, teremos problemas.
Neste caso, se pessoa1 OU pessoa2 tiver mais que 18 anos, uma será
responsável pela outra, então tudo OK, mas se nenhuma for TEREMOS
PROBLEMAS.
Main.java
ONEDAYCODE.COM
? ? PROBLEMA
18 20 OK V V V
18 17 OK V F V
17 17 PROBLEMA F F F
Main.java
ONEDAYCODE.COM
/FUNCIONAMENTO
package com.company;
import java.util.Scanner;
public static void main(String[] args) { Entra no bloco do IF se pelo menos uma
das comparações forem verdadeiras.
//Cria o leitor
Scanner leitor = new Scanner(System.in);
<EXERCÍCIOS>
Conectivos Lógicos &&
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 1 NÚMERO QUEBRADO E IMPRIMA
NA TELA SE ELE ESTIVER ENTRE 5 E 20 (RESPOSTA NO
PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 2 NÚMEROS INTEIROS
E IMPRIMA NA TELA SE OS 2 SÃO MAIORES QUE 10 OU SE
PELO MENOS UM NÃO É MAIOR QUE 10
(RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
<EXERCÍCIOS>
Conectivos Lógicos ||
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 1 NÚMERO QUEBRADO E IMPRIMA
NA TELA SE ELE FOR MENOR QUE 5 OU MAIOR QUE 10
(RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 2 NÚMEROS INTEIROS E
IMPRIMA NA TELA SE PELO MENOS UM DELES FOR MAIOR QUE
10 (RESPOSTA NO PRÓXIMO SLIDE).
Main.java
ONEDAYCODE.COM
/CONDICIONAL SWITCH
Main.java
ONEDAYCODE.COM
/SWITCH
Existem situações em que sempre será selecionada apenas uma
condição, sendo impossível duas acontecerem ao mesmo tempo.
Main.java
ONEDAYCODE.COM
package com.company;
import java.util.Scanner;
/FUNCIONAMENTO
public class Main {
public static void main(String[] args) {
//Apresenta o menu
System.out.println("1 - Espresso \n");
System.out.println("2 - Cappuccino \n");
System.out.println("3 - Macchiato \n");
System.out.println("Escolha uma opcao: \n"); Apresento o menu e cada número de
opção dará um resultado diferente.
//Lê a opção escolhida
Scanner leitor = new Scanner(System.in);
int opcao = leitor.nextInt();
Leio a opção escolhida na variável
//Seleção da opção opcao.
switch(opcao){
case 1:
System.out.println("Espresso escolhido.");
break; Faço um switch() da variável opcao e
case 2: imprimo uma mensagem diferente para
System.out.println("Cappuccino escolhido."); cada um dos case.
break;
case 3:
System.out.println("Macchiato escolhido.");
break; O código será executado de acordo
default: com a opção, até o comando break;
System.out.println("Opcao invalida!");
break;
}
}
}
ONEDAYCODE.COM
package com.company;
import java.util.Scanner;
/FUNCIONAMENTO
public class Main {
public static void main(String[] args) {
//Apresenta o menu
System.out.println("1 - Espresso \n");
System.out.println("2 - Cappuccino \n");
System.out.println("3 - Macchiato \n");
System.out.println("Escolha uma opcao: \n"); Também podemos adicionar a opção
default: para casos em que nenhuma
//Lê a opção escolhida
Scanner leitor = new Scanner(System.in);
das opções previstas em case sejam
int opcao = leitor.nextInt(); selecionadas.
//Seleção da opção
switch(opcao){
case 1:
System.out.println("Espresso escolhido.");
break;
case 2:
System.out.println("Cappuccino escolhido.");
break;
case 3:
System.out.println("Macchiato escolhido.");
break;
default:
System.out.println("Opcao invalida!");
break;
}
}
}
package com.company; ONEDAYCODE.COM
import java.util.Scanner;
//Seleção da opção
switch(opcao){
case 'a':
System.out.println("Espresso escolhido.");
break;
case 'b':
System.out.println("Cappuccino escolhido.");
break;
case 'c':
System.out.println("Macchiato escolhido.");
break;
}
}
}
ONEDAYCODE.COM
<EXERCÍCIOS>
Switch
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NÚMERO E IMPRIMA QUAL
DIA DA SEMANA DE ACORDO COM O NÚMERO LIDO USANDO
SWITCH
(1-Domingo,2-Segunda,3-Terça,4-Quarta,
5-Quinta,6-Sexta,7-Sábado)
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
import java.util.Random ;
Main.java
ONEDAYCODE.COM
package com.company ;
import java.util.Random ;
import java.util.Random ;
}
}
ONEDAYCODE.COM
<EXERCÍCIOS>
Aleatório
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE GERA DOIS NÚMEROS DE 1 E 6 E
IMPRIMA SE A MULTIPLICAÇÃO ENTRE ELES É MAIOR OU
MENOR QUE 15.
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
/WHILE
É muito comum que em programação existam situações em que precisamos
repetir alguma funcionalidade várias vezes seguidas.
Main.java
ONEDAYCODE.COM
/WHILE
Vamos começar estudando o laço de repetição ENQUANTO, que em Java é
chamado de WHILE.
Main.java
ONEDAYCODE.COM
package com.company ;
/FUNCIONAMENTO
public class Main {
package com.company ;
/FUNCIONAMENTO
public class Main {
package com.company ;
/FUNCIONAMENTO
public class Main {
Main.java
ONEDAYCODE.COM
package com.company ;
/FUNCIONAMENTO
public class Main {
package com.company ;
/FUNCIONAMENTO
import java.util.Scanner ;
package com.company ;
/FUNCIONAMENTO
import java.util.Scanner ;
package com.company ;
import java.util.Scanner ;
package com.company ;
import java.util.Scanner ;
package com.company ;
/FUNCIONAMENTO
public class Main {
int i = 10;
Outra forma de fazer o
do { while é usando a
comparação no final.
System. out.println( "Vai ser executado ao menos uma vez" );
System.out.println( "Mesmo que a condição seja falsa" ); A diferença, é que
neste caso o código
}while(i < 5);
sempre será executado
} ao menos uma vez.
}
Só depois, é feita a
comparação e verificar
se precisará ser
executado novamente.
ONEDAYCODE.COM
<EXERCÍCIOS>
While e Do While
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE IMPRIMA NA TELA A SOMA DOS 10
PRIMEIROS NÚMEROS NATURAIS.
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NÚMERO E MULTIPLIQUE O
RESULTADO POR 2 ATÉ O NÚMERO PASSAR 100.
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA DOIS NÚMEROS E IMPRIMA
TODOS OS NÚMEROS INTEIROS ENTRE ELES.
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
/FOR
Outra forma de fazer laços de repetição é através do laço FOR, em que
temos controle de uma variável contadora (geralmente chamada de i)
Main.java
ONEDAYCODE.COM
/FOR
Fazer um laço de repetição rodar 10 vezes:
//Faz algo
Main.java
ONEDAYCODE.COM
package com.company ;
/FUNCIONAMENTO
public class Main {
<EXERCÍCIOS>
For
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE IMPRIMA NA TELA OS NÚMEROS DE 10
A 20, DE 2 EM 2
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 5 VALORES (USANDO O FOR) E
MOSTRE A SOMA DELES
Main.java
ONEDAYCODE.COM
/CONSTANTES
Main.java
ONEDAYCODE.COM
/CONSTANTES
Algumas vezes, definimos algumas variáveis no programa que não serão
modificadas em nenhum momento durante o programa, neste caso podemos
trabalhar com CONSTANTES em vez de VARIÁVEIS.
Main.java
ONEDAYCODE.COM
/FUNCIONAMENTO
Para definir constantes, antes do nome da
classe a declaramos como:
final int A = 5;
/VETORES
Main.java
ONEDAYCODE.COM
/VETORES
Além das variáveis e constantes que geralmente adicionamos em nossos
programas, também podemos adicionar vetores quando precisamos
armazenar valores associados.
0 1 2
Main.java
ONEDAYCODE.COM
/VETORES
Esses vetores podem conter variáveis de apenas o tipo que foi
definido e não de múltiplos tipos diferentes.
Main.java
ONEDAYCODE.COM
/VETORES
Os vetores têm a contagem de posições sempre iniciando a partir da
posição ZERO:
int[] vetor = { 10 , 25 , 70 }
Main.java
ONEDAYCODE.COM
VETOR
0 1 2
10 25 70
/VETORES
Os vetores têm a contagem de posições sempre iniciando a partir da
posição ZERO
Main.java
ONEDAYCODE.COM
/VETORES
Para atribuir valores a um vetor já criado, usamos: vetor[X] = 10;
Main.java
ONEDAYCODE.COM
/VETORES
Para criar um vetor sem valores pré-determinados, usamos o seguinte
código:
Main.java
ONEDAYCODE.COM
/VETORES
Para ler valores para um vetor e imprimir na tela:
Main.java
ONEDAYCODE.COM
package com.company ;
/FUNCIONAMENTO
import java.util.Scanner ;
/FUNCIONAMENTO
for(i = 0; i < 4 ; i++){
System.out.println(vetorDeInt[i]);
}
System.out.println("Vetor 2: \n");
for(i = 0; i < 3 ; i++){
System.out.println(vetorDeDouble[i]); Agora mostro como imprimir vetores
} utilizando o laço de repetição FOR.
System.out.println("Vetor 3: \n");
for(i = 0; i < 2 ; i++){
System.out.println(vetorDeChar[i]);
} Perceba que só precisei definir i
uma vez e posso reutilizar nas
//Lendo Valores Para Todo o Vetor e
System.out.println("Digite inteiros");
próximas impressões, pois a cada
for(i = 0; i < 4 ; i++){ for o valor dele volta a ser ZERO.
System.out.println("Lendo em vetor["+i+"]:");
vetorDeInt[i] = leitor.next().charAt(0);
}
//Imprimindo este vetor atualizado i deve ser sempre menor que TAMANHO
for(i = 0; i < 4 ; i++){ do vetor e iniciar em 0, pois assim
System.out.println(vetorDeInt[i]); ele não vai extrapolar as casas
}
possíveis.
}
}
ONEDAYCODE.COM
<EXERCÍCIOS>
Vetores
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NÚMERO E IMPRIMA QUAL
DIA DA SEMANA DE ACORDO COM O NÚMERO LIDO USANDO O
VETOR:
[Domingo,Segunda,Terça,Quarta,Quinta,Sexta,Sábado]
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 5 NÚMEROS E ADICIONE-OS NUM
ARRAY. DEPOIS QUANDO O USUÁRIO DIGITAR UM NÚMERO PARA
SER BUSCADO, INFORME SE ELE ESTÁ OU NÃO NO ARRAY.
Main.java
ONEDAYCODE.COM
/ARRAYLISTS
Main.java
ONEDAYCODE.COM
/ARRAYLISTS
Os arraylists são uma estrutura de dados que armazena listas e que
não tem tamanho definido, ou seja, é possível adicionar quantos
elementos quiser a ele, que ele se adapta.
import java.util.ArrayList;
Main.java
ONEDAYCODE.COM
package com.company;
import java.util.ArrayList;
import java.util.Scanner;
/FUNCIONAMENTO
public class Main {
<EXERCÍCIOS>
Arraylist
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE ADICIONE NÚMEROS INTEIROS NUM
ARRAYLIST ATÉ O NÚMERO DIGITADO SER -1.
DEPOIS IMPRIMA O ARRAYLIST LIDO NA TELA.
Main.java
ONEDAYCODE.COM
/MATRIZES
Main.java
ONEDAYCODE.COM
char tabuleiro[3][3]
X O
X O
/MATRIZES
O
Main.java
ONEDAYCODE.COM
/MATRIZES
Matrizes podem conter variáveis de apenas o tipo que foi definido e não de
múltiplos tipos diferentes
(Definindo valores)
String[][] matriz = {{“oi”,”olá”},{“hola”,”hi”}}
Main.java
ONEDAYCODE.COM
/MATRIZES
Para atribuir valores a uma matriz já criada, usamos: matriz[X][Y] = 10;
Para receber um valor de uma matriz já criada, usamos: int variavel = matriz[X][Y];
Main.java
ONEDAYCODE.COM
/IMPRIMIR VETORES
Para imprimir todos os valores de um vetor na tela precisamos de
dois FOR e duas auxiliares i e j
//Define a matriz
int[][] matriz = {{1,2,3},{4,5,6}};
//Percorre a matriz
for(int i = 0; i < 2; i++){
for(int j = 0; j < 3; j++){
//Imprime o valor de cada posição
System.out.print(matriz[i][j]);
}
//Pula uma linha
System.out.println();
}
Main.java
ONEDAYCODE.COM
/LER VETORES
Para ler todos os valores de um vetor na tela precisamos de dois FOR
e duas auxiliares i e j
Main.java
ONEDAYCODE.COM
package com.company;
import java.util.Scanner;
/FUNCIONAMENTO
public class Main {
//Define a matriz
int[][] matriz = {{1,2,3},{4,5,6}};
}
}
ONEDAYCODE.COM
<EXERCÍCIOS>
Matrizes
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 9 VALORES NUMA MATRIZ 3X3 E
IMPRIMA ESSES VALORES NA TELA (3 POR LINHA)
Main.java
ONEDAYCODE.COM
/REVISÃO DE CONCEITOS
Main.java
ONEDAYCODE.COM
/REVISÃO DE CONCEITOS
IDE O programa de computador usado para escrever códigos.
Condicional Análise de condição para determinar se linhas específicas de código devem ou não
serem executadas. (==, !=, >, >=,<, <=) if, else if, else, switch case
Laço de Repetição Condição que determina quantas vezes determinadas linhas de código deverão ser
executadas.
While : validação de dados.
For : imprimir valores e repetir ações.
Main.java
ONEDAYCODE.COM
/REVISÃO DE CONCEITOS
Vetores Funciona como uma variável, porém pode armazenar mais de um valor, se forem do mesmo
tipo, por possuir colunas.
Matrizes Funciona como um vetor com mais dimensões, pode armazenar mais de um valor, se forem
do mesmo tipo, por possuir colunas e também linhas.
Main.java
ONEDAYCODE.COM
/CONTEÚDO BÁSICO
● Instalação da IDE
● Imprimir e ler valores
● Operações Matemáticas
● Condicionais (If, Switch)
● Conectivos Lógicos
● Laços de Repetição (While, For)
● Constantes
● Vetores
● Matrizes
Main.java
ONEDAYCODE.COM
/CONTEÚDO COMPLETO
● Conversão de valores (Parse)
● Naming Conventions
● Arraylists
● Gerar Aleatório
● Funções (Retorno, Parâmetros)
● Static
● Classes e Objetos
● Atributos de Classes
● Método Construtor
● Métodos com e sem Retorno
● Encapsulamento (Getters e Setters)
● Herança
● Diagramas UML
● Sobrecarga
● Polimorfismo
● Interfaces
Extra: Interface Gráfica com JFrame
Main.java
ONEDAYCODE.COM
/REVISÃO DE CONCEITOS
Vetores Funciona como uma variável, porém pode armazenar mais de um valor, se forem do mesmo
tipo, por possuir colunas.
Arraylists Funciona como um vetor,porém não precisa definir o tamanho e se adapta de acordo com
os elementos inseridos. Além disso tem operações automatizadas.
add()
get()
size()
clear()
Matrizes Funciona como um vetor com mais dimensões, pode armazenar mais de um valor, se forem
do mesmo tipo, por possuir colunas e também linhas.
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
/A CLASSE MAIN
Existe uma classe no Java que é peculiar, é a classe principal,
conhecida como public class Main.
package com.company ;
Main.java
ONEDAYCODE.COM
/MÉTODO MAIN
CALMA, RESPIRA FUNDO, SÃO MUITAS INFORMAÇÕES, PORÉM É
O LOOP INFINITO DE CONHECIMENTO QUE EU SEMPRE FALO NO
ENSINO DA PROGRAMAÇÃO.
Main.java
ONEDAYCODE.COM
/MÉTODO MAIN
public static void main(String[] args) {}
public: significa que você pode acessar esse método por outras
classes, não apenas essa que está programando no momento.
void: significa que esse método não vai retornar nada ao seu final.
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
FUNÇÕES/MÉTODOS
(SEM RETORNO)
Main.java
ONEDAYCODE.COM
Main.java
ONEDAYCODE.COM
tipoDeRetorno nomeDaFuncao(params){}
Main.java
ONEDAYCODE.COM
package com.company ;
import java.util.Scanner ;
<EXERCÍCIOS>
Função Vazia
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE IMPRIMA “BOM DIA” 10 VEZES NA
TELA USANDO UMA FUNÇÃO.
Main.java
ONEDAYCODE.COM
FUNÇÕES/MÉTODOS
(COM RETORNO)
Main.java
ONEDAYCODE.COM
Por exemplo se temos uma classe CALCULADORA e ela recebe valores para
executar operações matemáticas, os resultados dessas operações
precisam ser RETORNADOS.
return ALGUMAVARIÁVELDAQUELETIPO;
Main.java
package com.company; ONEDAYCODE.COM
/FUNCIONAMENTO
static int retorna10(){
int a = 10;
return a;
}
}
}
ONEDAYCODE.COM
<EXERCÍCIOS>
Função Com Retorno
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM IDIOMA SELECIONADO
NUMERICAMENTE E EXIBA “BOM DIA” OU “BUENOS DIAS”
ATRAVÉS DE FUNÇÕES COM RETORNO.
Main.java
ONEDAYCODE.COM
/ESCOPO
Main.java
ONEDAYCODE.COM
/ESCOPO
O escopo refere-se a área de abrangência de acesso de uma variável,
ou seja, se posso chamar/modificar uma variável em qualquer lugar
(escopo global) ou se ela funciona apenas dentro de um determinado
espaço menor (escopo local).
Main.java
ONEDAYCODE.COM
package com.company ;
/FUNCIONAMENTO
Neste caso, quando eu defino a
variável nome dentro da minha
main e tento acessá-la dentro da
minha função imprimeSaudacao()
eu não consigo, porque está fora
do escopo.
/FUNÇÕES
(COM PARÂMETROS E RETORNO)
Main.java
ONEDAYCODE.COM
Main.java
package com.company; ONEDAYCODE.COM
import java.util.Scanner;
public class Main {
/FUNCIONAMENTO
static void imprimeSoma(int a, int b){
System.out.println("Soma:" + (a+b));
}
static double retornaSoma(int a, int b){
int soma = a + b;
return soma; Neste código temos 3 tipos de
}
static double retornaComMais10(double a){ funções com retornos diferentes.
return a + 10.0;
} É possível retornar tanto uma
public static void main(String[] args) { variável, quanto um valor
//Enviando para imprimir
direto.
int valor1, valor2;
System.out.printf("Insira dois valores inteiros"); Na main() podemos chamar a
Scanner leitor = new Scanner(System.in); função no momento da impressão,
valor1 = leitor.nextInt();
mas também podemos passar o
valor2 = leitor.nextInt();
imprimeSoma(valor1,valor2); valor para uma variável antes.
//Retornando a soma
System.out.println("Soma:" + retornaSoma(10,20));
<EXERCÍCIOS>
Função com Retorno
e Parâmetro
Main.java
ONEDAYCODE.COM
/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NOME, IDADE E PESO E
IMPRIMA NA TELA AS INFORMAÇÕES DA SEGUINTE FORMA:
NOME:
IDADE:
PESO:
Main.java
ONEDAYCODE.COM
/INTERFACE GRÁFICA
BÁSICA COM INTELIJ GUI EDITOR
Main.java
ONEDAYCODE.COM
/JFRAME
Com a biblioteca JFrame é possível criar interfaces gráficas para
nossos programas.
Tutoriais: https://www.javatpoint.com/java-swing
Main.java
ONEDAYCODE.COM
frame JFrameText
JLabel JTextField
panels
JButton
insets
Main.java
ONEDAYCODE.COM
/GUI
Cria um novo Swing UI Designer -> GUI Form
Main.java
ONEDAYCODE.COM
/GUI
Renomeia o panel
Main.java
ONEDAYCODE.COM
/GUI
Renomeia o panel
Main.java
package com.company ; ONEDAYCODE.COM
import javax.swing.* ;
/FUNCIONAMENTO
public class ExemploJFrameComGUI extends JFrame{
}
ONEDAYCODE.COM
/GUI
Vai arrastando os componentes para o panel e renomeando
Main.java
ONEDAYCODE.COM
/GUI
Seleciona o Panel e aumenta as margins para dar espaço.
Main.java
ONEDAYCODE.COM
/GUI
Adiciona um listener ao botão para quando clicar
Main.java
package com.company ; ONEDAYCODE.COM
import javax.swing.* ;
/FUNCIONAMENTO
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.text.DecimalFormat ;
public class ExemploJFrameComGUI extends JFrame{
Agora ao clicar no
private JTextField dolarTextField ;
private JLabel dolarLabel ;
private JButton convertButton ; convertButton uma ação é
gerada.
private JLabel reaisLabel ;
//Método Construtor
Main.java
ONEDAYCODE.COM
/JAR
File->Project Structure->Artifacts->JAR->From module with
dependencies
Main.java
ONEDAYCODE.COM
/JAR
Seleciona a main e clica em OK
Main.java
ONEDAYCODE.COM
/JAR
Build->Build Artifacts NomeDaCLasse->Build
Main.java
ONEDAYCODE.COM
/JAR
Pasta out/artifacts/NomeDoProjeto_jar e copia o caminho
Main.java
ONEDAYCODE.COM
/JAR
Abre o caminho e executa o programa
Main.java
ONEDAYCODE.COM
/JAR
Abre o caminho e executa o programa
Main.java
ONEDAYCODE.COM
/INTERFACE GRÁFICA
BÁSICA COM JFRAME
Main.java
ONEDAYCODE.COM
/JFRAME
Com a biblioteca JFrame é possível criar interfaces gráficas para
nossos programas.
import javax.swing.* ;
import java.awt.* ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
Tutoriais: https://www.javatpoint.com/java-swing
Main.java
ONEDAYCODE.COM
frame JFrameText
JLabel JTextField
panels
JButton
insets
Main.java
import javax.swing.* ; ONEDAYCODE.COM
import java.awt.* ;
import java.awt.event.ActionEvent ;
/FUNCIONAMENTO
import java.awt.event.ActionListener ;
//Margens Mínimas
constr.insets = new Insets(5, 5, 5, 5);
}
}
/*************** TEXTO E CAMPO DO NOME**********/ ONEDAYCODE.COM
// Título
JLabel userNameLabel = new JLabel("Digite seu nome:" );
//Campo Editável do Nome
/FUNCIONAMENTO
JTextField userNameTxt = new JTextField( 20);
[0,1] [1,1]
/FUNCIONAMENTO
JTextField ageTxt = new JTextField( 20);
[0,1] [1,1]
/FUNCIONAMENTO
constr.gridwidth = 2;
//Alinhamento
constr.anchor = GridBagConstraints. CENTER;
/FUNCIONAMENTO
frame.setSize( 400, 200);
frame.setLocationRelativeTo( null);
frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
frame.setVisible( true);
}
} Finaliza adicional o painel ao
frame.