0% acharam este documento útil (0 voto)
39 visualizações140 páginas

Fundamentos de Lógica em Java

O documento apresenta um curso introdutório de programação em Java, abordando desde fundamentos de lógica até conceitos de orientação a objetos. Inclui informações sobre o instrutor, conteúdo do curso, exercícios práticos e como utilizar a IDE para programar. O curso enfatiza a proatividade do aluno e a importância de praticar para aprender efetivamente.

Enviado por

Lucas Ribeiro
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
39 visualizações140 páginas

Fundamentos de Lógica em Java

O documento apresenta um curso introdutório de programação em Java, abordando desde fundamentos de lógica até conceitos de orientação a objetos. Inclui informações sobre o instrutor, conteúdo do curso, exercícios práticos e como utilizar a IDE para programar. O curso enfatiza a proatividade do aluno e a importância de praticar para aprender efetivamente.

Enviado por

Lucas Ribeiro
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

ONEDAYCODE.

COM

/INTRODUÇÃO AO JAVA
FUNDAMENTOS DE
LÓGICA DE PROGRAMAÇÃO

[Link]
[Link]

/DOWNLOAD
DOS ARQUIVOS
DO CURSO
CLIQUE AQUI PARA BAIXAR OS EXEMPLOS DO CURSO

CLIQUE AQUI PARA BAIXAR OS EXERCÍCIOS DO CURSO

[Link]
[Link]

/SOBRE MIM
Ensino online desde 2009:mais de 35 cursos
produzidos, 250 mil alunos em 141 países.

Técnico em Informática (TECPUC).


Bacharel em Sistemas de Informação (UTFPR).

Fundador da One Day Code.

Autor do livro “Bem-vindo ao Game Design”

Trabalhei com Banco de Dados na HQS+, Sistemas Web


e Aplicativos na Agência PUC (Hotmilk) e SITE.

Aplicativos lançados: Vestfoco, Save My Night,


Hoby Box e Equilibrium.

[Link]
[Link]

/COMPROMISSO DO ALUNO

1. Proatividade na hora de buscar por soluções


(Vou te desafiar!)

2. Aprender a aceitar alguns termos ensinados


para não cair num looping infinito de
conhecimento e perder o foco do curso que é
aprender programação.

3. Fazer exercícios e buscar exercícios na


internet, não ficar apenas observando e
copiando códigos.

[Link]
[Link]

/SOBRE O JAVA
Sintaxe muito parecida com C e C++.

Linguagem orientada a objetos.

Roda em uma máquina virtual (Java Virtual Machine),


quando o Java está instalado no dispositivo
(Grande Portabilidade de dispositivos).

Acesso a recursos de rede para trabalhar com


protocolos e desenvolver servidores.

Possui muitas bibliotecas que facilitam o


desenvolvimento de softwares.

Aloca e desaloca memória automaticamente


(Garbage Collector).

[Link]
[Link]

/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.

No curso completo você aprenderá além de todos os


fundamentos da programação e vários exercícios de
fixação corrigidos, a parte de Orientação a
Objetos.

[Link]
[Link]

/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

[Link]
[Link]

/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

[Link]
[Link]

/DÚVIDAS E AVALIAÇÃO

Caso tenha dúvidas, você pode deixar elas no fórum


ou nos comentários que eu responderei assim que
possível.

A sua avaliação é extremamente importante, seja


gentil e me ajude se possível, críticas
construtivas são sempre aceitas por mensagem, assim
posso sempre melhorar o curso com novas aulas.

Muito obrigado e tenha um ótimo curso!

[Link]
[Link]

/AMBIENTE DE
DESENVOLVIMENTO
(IDE)

[Link]
[Link]

/JRE
Clique para baixar: JRE (JAVA RUNTIME ENVIRONMENT)

[Link]
[Link]

/JDK
Clique para baixar: JDK(JAVA DEVELOPMENT KIT)

[Link]
[Link]

/IDE
“Ambiente de Desenvolvimento Integrado”

O programa de computador usado para escrever códigos.

Sugestões: IntellIj Community , Online GDB, Eclipse, Netbeans

[Link]
[Link]

/JVM
Através da Java Virtual Machine é possível rodar o mesmo programa em
vários dispositivos com perfeição.

[Link]
[Link]

/O QUE É COMPUTAÇÃO?

[Link]
[Link]

/COMPUTAÇÃO
Computar = Calcular segundo determinadas regras (Algoritmo).

Inputs = Valores de Entrada

Outputs = Valores de Saída

A partir de determinadas inputs, os dados são computados e geram


outputs.

[Link]
[Link]

A B RESULTADO

10 + 20 = 30
/COMPUTAR
Computar = juntar dois valores e retornar a soma deles.

Inputs: a=10 e b=20

Outputs: resultado=30

resultado = a + b; (resultado recebe a soma de a + b)

[Link]
[Link]

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

[Link]
[Link]

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”.

No algoritmo de soma, as variáveis seriam: a, b e resultado.

[Link]
[Link]

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;
[Link]
[Link]

/TIPOS DE VARIÁVEIS
int números inteiros 10, 25, 67

float números quebrados 2.4f, 5.5f, 7.3f

double números quebrados 2.1, 5.4, 8.5

char letra a, g, X

String Palavra ou frase “Banana”, “Uva”

boolean verdadeiro(1) ou true, false


falso(0).

[Link]
[Link]

/OPERAÇÕES MATEMÁTICAS
+ soma

- subtração

* multiplicação

/ divisão

% resto da divisão

[Link]
[Link]

/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:

public static int main(String[] args) que entenderemos ao longo do


curso.

Outras funções padrão da linguagem como: imprimir e ler valores vêm


de determinadas bibliotecas (Conjunto de Funções), que são incluídas
no código de acordo com a necessidade.

[Link]
[Link]

/CLASSES E OBJETOS (SIMPLIFICADO)


Java é uma linguagem que possui o paradigma de Orientação a Objetos.

Classes: funcionam como um “molde”, é usado como modelo para criar


algo. Pode possuir variáveis (atributos) e funcionalidades (métodos).

Objetos: utilizam o “molde” da Classe para criar uma instância


específica.

[Link]
[Link]

/MÃO NA MASSA
PRIMEIRO CÓDIGO

[Link]
/RODANDO
Para rodar o código clicamos no
triângulo verde.

Tudo que for impresso com o comando:


[Link](resultado);

Aparecerá na parte inferior da tela,


no console e tudo que ficar após
barra dupla não será lido pelo
programa, pois são comentários.

//Exemplo de comentário
[Link]

/IMPRIMIR NA TELA
Para imprimir dados na tela usamos a função [Link]();

Imprimir um texto e pular uma linha:


[Link]("oi");

Imprimir um texto sem pular uma linha:


[Link]("oi");

Imprimir um inteiro:
[Link](nomedavariavel) ;

Imprimir um texto e uma variável:


[Link]("Valor:" + nomedavariavel) ;

Imprimir variáveis e textos:


[Link]("Valor 1:" + a + ", valor 2:" + b);

[Link]
[Link]

/CÓDIGO FINAL
package [Link];

public class Main {


public static void main(String[] args) {
int a = 10;
int b = 20;
int resultado = a + b;
//Imprime o resultado na tela
[Link](resultado);
}
}

[Link]
[Link]

/FUNCIONAMENTO
Primeiramente foi definido automaticamente
o nome do nosso pacote do programa (por
padrão [Link]) para que todos os
arquivos do mesmo projeto possam ser
conectados uns com os outros.

Depois iniciamos a função:


public static void main(String[] args) {}

E tudo que estiver dentro das {} será


executado.

As variáveis receberam valores e com o


comando
[Link](resultado);

O resultado será impresso na tela.


[Link]

/REVISÃO
Computar Calcular seguindo determinadas regras

Algoritmo Conjunto de comandos a serem seguidos em determinada ordem

IDE O programa de computador usado para escrever códigos.

Compilador Responsável por transformar o código escrito por humanos em 010101

Variável Parte reservada na memória do computador para armazenar valores

Input Um valor que entra no programa

Output Um valor que é retornado pelo programa

Função Um conjunto de comandos com determinado objetivo

Biblioteca Conjunto de funções

[Link]
[Link]

<EXERCÍCIOS>
Operações Matemáticas

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE MULTIPLIQUE 3 VALORES E MOSTRE O
RESULTADO NA TELA (RESPOSTA NO PRÓXIMO SLIDE).

[Link]
[Link]

package [Link];

public class Main {

public static void main(String[] args) {


// FAÇA UM PROGRAMA QUE MULTIPLIQUE 3 VALORES E MOSTRE O RESULTADO NA TELA
int a = 10;
int b = 20;
int c = 30;
int resultado = a * b * c;
//Imprime o resultado na tela
[Link]("O resultado da multiplicação entre:" + a +
"," + b+ "," + c +" é:" + resultado);

}
}
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE MOSTRE O RESULTADO DA SOMA DE 3
NÚMEROS QUEBRADOS (RESPOSTA NO PRÓXIMO SLIDE).

[Link]
[Link]

package [Link];

public class Main {

public static void main(String[] args) {


// FAÇA UM PROGRAMA QUE MOSTRE O RESULTADO DA SOMA DE 3 NÚMEROS QUEBRADOS
double a = 5.5;
double b = 6.7;
double c = 9.3;
double resultado = a + b + c;
[Link]("Resultado:" + resultado);
}
}
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE MOSTRE O RESTO DA DIVISÃO DE 2
NÚMEROS QUEBRADOS (RESPOSTA NO PRÓXIMO SLIDE).

[Link]
[Link]

/COMO LER VALORES


(SCANNER)

[Link]
[Link]

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.

[Link]
[Link]

/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.

Para isso use ALT+ENTER

[Link]
[Link]

/LER UM NÚMERO
package [Link];
//É preciso adicionar uma biblioteca para usar o scanner, pois ela possui
as
funcionalidades(métodos) necessários para ler informações do teclado.
import [Link];

public class Main {

public static void main(String[] args) {

//Inicializa um objeto chamado leitor


//Esse leitor é da Classe Scanner (Que foi importada no arquivo antes da Main
//Eu inicializo o leitor criando um new Scanner para ler um input do Sistema
Scanner leitor = new Scanner([Link]);

//Ler e Imprimir Idade


[Link]("Quantos anos você tem?: ");
int idade;
idade = [Link]();
[Link]("Idade lida:" + idade);
}
}
ATENÇÃO: Não se preocupe em não entender 100% a parte de bibliotecas, Classes, Objetos e
Métodos, esses conceitos serão ensinados ao longo do curso. Se eu parar para explicar cada um
deles sem a devida atenção, iremos perder o foco que no momento é aprender o básico.
[Link]
[Link]

/LER VALORES (ERRO)


package [Link];
//É preciso adicionar uma biblioteca antes da public class para ele ser reconhecido
import [Link];

public class Main {

public static void main(String[] args) {

//Inicializa o scanner
Scanner leitor = new Scanner([Link]);

//Ler Sexo
[Link]("Qual é o seu sexo: ");
String sexo = [Link]();

//Ler Altura
[Link]("Qual é a sua altura: ");
double altura = [Link]();

//Ler Idade
[Link]("Quantos anos você tem?: ");
int idade = [Link]();
}
}
[Link]
[Link]

/LER VALORES (CORRETO)


package [Link];
import [Link];

public class Main {

public static void main(String[] args) {

//Inicializa o scanner
Scanner leitor = new Scanner([Link]);

//Ler Sexo
[Link]("Qual é o seu sexo: ");
String sexo = [Link]();

//Ler Altura
[Link]("Qual é a sua altura: ");
double altura = [Link]();
[Link]();

//Ler Idade
[Link]("Quantos anos você tem?: ");
int idade = [Link]();
[Link]();
}
} [Link]
[Link]

<EXERCÍCIOS>
Leitura de Valores

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 3 VALORES E MOSTRE O
RESULTADO DA SOMA DELES (RESPOSTA NO PRÓXIMO SLIDE).

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NOME E UM SOBRENOME
E IMPRIMA NA TELA O NOME COMPLETO.

[Link]
[Link]

/CONDICIONAIS SIMPLES

[Link]
[Link]

/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.

Para criar essas condições, usamos o comando if(){}

Dentro dos parênteses temos uma condição que se for verdadeira, irá
executar tudo que estiver entre as chaves.

[Link]
[Link]

/EXEMPLOS
Texto: Se idade for maior que 18 anos, então é maior de idade.

Portugol: se idade > 17, imprima “é maior de idade”

Java: if (idade > 17){


[Link]("Maior de idade" );
}

[Link]
[Link]

/EXEMPLOS
Também podemos executar outro código caso a condição analisada não
seja cumprida

if (idade > 17){


System. [Link]("Maior de idade" );
}else{
System. [Link]("Menor de idade" );
}

[Link]
[Link]

/OPERADORES
== igual a
> maior que
< menor que
>= maior ou igual
<= menor ou igual
!= diferente de
.equals() igual a (strings)

[Link]
[Link]

/FUNCIONAMENTO
package [Link];

import [Link];

public class Main {

public static void main(String[] args) { Defino uma variável idade para ser lida
pelo usuário.
//Cria o leitor
Scanner leitor = new Scanner([Link]);

//O valor lido pelo usuário vai para a


//variável idade Usando um if, analiso se a idade é maior
int idade = [Link](); que 17 (Números iguais ou maiores que 18),
//Analisa a idade inserida e imprime algo
senão mostro que é menor de idade.
if (idade > 17){
[Link]("Maior de idade");
}else{
[Link]("Menor de idade");
} *Também poderia ser if(idade >= 18).

}
}
[Link]

/FUNCIONAMENTO
package [Link];

import [Link];

public class Main {

public static void main(String[] args) { Também é possível adicionar outras


condições específicas, utilizando o “else
//Cria o leitor if”,
Scanner leitor = new Scanner([Link]);

//O valor lido pelo usuário vai para a


//variável idade
int idade = [Link](); Por último caso não entre em nenhuma das
//Analisa a idade inserida e imprime algo
condições, podemos usar o “else” sozinho.
if (idade == 18){
[Link]("Tem que se alistar");
}else if(idade > 18){
[Link]("Se alistou");
}else{
[Link]("Menor de idade");
}

}
[Link]

/FUNCIONAMENTO
package [Link];

import [Link];

public class Main {

public static void main(String[] args) { Para comparar Strings, usamos o comando
.equals().
//Cria o leitor
Scanner leitor = new Scanner([Link]);
Se elas forem iguais, então entra no
//Lido pelo usuário bloco.
String palavra1 = [Link]();
String palavra2 = [Link]();

//Analisa a idade inserida e imprime algo


if ([Link](palavra2)){
[Link]("Palavras Iguais");
}else{
[Link]("Palavras Diferentes");
}

}
[Link]

<EXERCÍCIOS>
Condicionais

[Link]
[Link]

/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).

[Link]
[Link]

/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).

[Link]
[Link]

/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).

[Link]
[Link]

/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).

[Link]
[Link]

/CONECTIVOS LÓGICOS

[Link]
[Link]

/CONECTIVOS LÓGICOS
Existem situações em que precisamos que mais de uma condição seja
analisada ao mesmo tempo, para algo acontecer.

Como por exemplo:

se condição 1 E condição 2 forem verdadeiras, então…

se condição 1 OU condição 2 forem verdadeiras, então...

[Link]
[Link]

/CONECTIVOS LÓGICOS (E)


Primeiro vamos entender o funcionamento do conectivo E, que em Java
é o &&

Ele é usado quando preciso que TODAS as condições dentro do IF sejam


verdadeiras,e só assim, o código será executado.

Se UMA das condições for FALSA, o código NÃO SERÁ EXECUTADO.

[Link]
[Link]

SE(PESSOA1 > 17 && PESSOA2 > 17) OK


PESSOA1 PESSOA2

? ? PROBLEMA

/CONDICIONAL E
Numa balada, se pessoa1 e pessoa2 forem maiores de idade,
então está tudo OK, senão, teremos problemas.

Neste caso, tanto pessoa1 quanto pessoa2 precisam ser maiores de


idade (idade > 17).

Se qualquer uma delas não for maior de idade, TEREMOS PROBLEMAS.

[Link]
[Link]

SE(PESSOA1 > 17 && PESSOA2 > 17) OK


PESSOA1 PESSOA2

? ? PROBLEMA

/TABELA DA VERDADE (E)


PESSOA1 PESSOA2 RESULTADO PESSOA1 PESSOA2 RESULTADO

18 20 OK V V V

18 17 PROBLEMA V F F

17 17 PROBLEMA F F F

[Link]
[Link]

/FUNCIONAMENTO
package [Link];

import [Link];

public class Main {

public static void main(String[] args) { Só entra no bloco do IF se todas as


comparações forem verdadeiras.
//Cria o leitor
Scanner leitor = new Scanner([Link]);

//Lê a idade de cada pessoa


int pessoa1 = [Link]();
int pessoa2 = [Link](); PESSOA1 PESSOA2 RESULTADO

//Comparações em que as duas pessoas V V V


//precisam ser maiores de idade
if (pessoa1 > 17 && pessoa2 > 17){ V F F
[Link]("OK");
}else {
[Link]("PROBLEMA"); F F F
}
}
}
[Link]

/CONECTIVOS LÓGICOS (OU)


Agora vamos entender o funcionamento do conectivo OU, que em Java é
o ||

Ele é usado quando preciso que PELO MENOS UMA das condições
dentro do IF sejam verdadeiras, e só assim, o código será executado.

O código NÃO SERÁ EXECUTADO apenas se TODAS AS CONDIÇÕES FOREM


FALSAS.

[Link]
[Link]

SE(PESSOA1 > 17 || PESSOA2 > 17) OK


PESSOA1 PESSOA2

? ? 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.

[Link]
[Link]

SE(PESSOA1 > 17 || PESSOA2 > 17) OK


PESSOA1 PESSOA2

? ? PROBLEMA

/TABELA DA VERDADE (OU)


PESSOA1 PESSOA2 RESULTADO PESSOA1 PESSOA2 RESULTADO

18 20 OK V V V

18 17 OK V F V

17 17 PROBLEMA F F F

[Link]
[Link]

/FUNCIONAMENTO
package [Link];

import [Link];

public class Main {

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([Link]);

//Lê a idade de cada pessoa


int pessoa1 = [Link]();
int pessoa2 = [Link](); PESSOA1 PESSOA2 RESULTADO

//Comparações em que uma pessoa precisa V V V


//ser maior de idade
if (pessoa1 > 17 || pessoa2 > 17){ V F V
[Link]("OK");
}else {
[Link]("PROBLEMA"); F F F
}
}
}
[Link]

<EXERCÍCIOS>
Conectivos Lógicos &&

[Link]
[Link]

/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).

[Link]
[Link]

/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).

[Link]
[Link]

<EXERCÍCIOS>
Conectivos Lógicos ||

[Link]
[Link]

/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).

[Link]
[Link]

/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).

[Link]
[Link]

/CONDICIONAL SWITCH

[Link]
[Link]

/SWITCH
Existem situações em que sempre será selecionada apenas uma
condição, sendo impossível duas acontecerem ao mesmo tempo.

Nesta situação que se assemelha a escolher uma opção de um “Menu”, é


recomendado utilizar a condicional SWITCH.

[Link]
[Link]
package [Link];
import [Link];

/FUNCIONAMENTO
public class Main {
public static void main(String[] args) {
//Apresenta o menu
[Link]("1 - Espresso \n");
[Link]("2 - Cappuccino \n");
[Link]("3 - Macchiato \n");
[Link]("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([Link]);
int opcao = [Link]();
Leio a opção escolhida na variável
//Seleção da opção opcao.
switch(opcao){
case 1:
[Link]("Espresso escolhido.");
break; Faço um switch() da variável opcao e
case 2: imprimo uma mensagem diferente para
[Link]("Cappuccino escolhido."); cada um dos case.
break;
case 3:
[Link]("Macchiato escolhido.");
break; O código será executado de acordo
default: com a opção, até o comando break;
[Link]("Opcao invalida!");
break;
}
}
}
[Link]
package [Link];
import [Link];

/FUNCIONAMENTO
public class Main {
public static void main(String[] args) {
//Apresenta o menu
[Link]("1 - Espresso \n");
[Link]("2 - Cappuccino \n");
[Link]("3 - Macchiato \n");
[Link]("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([Link]);
das opções previstas em case sejam
int opcao = [Link](); selecionadas.

//Seleção da opção
switch(opcao){
case 1:
[Link]("Espresso escolhido.");
break;
case 2:
[Link]("Cappuccino escolhido.");
break;
case 3:
[Link]("Macchiato escolhido.");
break;
default:
[Link]("Opcao invalida!");
break;
}
}
}
package [Link]; [Link]
import [Link];

public class Main {

public static void main(String[] args) {


/FUNCIONAMENTO
//Apresenta o menu
[Link]("Menu \n");
[Link]("a - Espresso \n"); Caso vá analisar variáveis do tipo
[Link]("b - Cappuccino \n");
char, então será preciso usar aspas
[Link]("c - Macchiato \n");
[Link]("Escolha uma opcao: \n"); simples para separar as opções
possíveis de letras.
//Lê a opção escolhida
Scanner leitor = new Scanner([Link]);
int opcao = [Link]();

//Seleção da opção
switch(opcao){
case 'a':
[Link]("Espresso escolhido.");
break;
case 'b':
[Link]("Cappuccino escolhido.");
break;
case 'c':
[Link]("Macchiato escolhido.");
break;
}
}
}
[Link]

<EXERCÍCIOS>
Switch

[Link]
[Link]

/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)

[Link]
[Link]

/LAÇO DE REPETIÇÃO WHILE

[Link]
[Link]

/WHILE
É muito comum que em programação existam situações em que precisamos
repetir alguma funcionalidade várias vezes seguidas.

Para evitar de ter que ficar reescrevendo um código ou fazendo tudo


manualmente, podemos utilizar um LAÇO DE REPETIÇÃO.

[Link]
[Link]

/WHILE
Vamos começar estudando o laço de repetição ENQUANTO, que em Java é
chamado de WHILE.

Ele funciona da seguinte forma:

ENQUANTO(DETERMINADA COMPARAÇÃO FOR VERDADEIRA) EXECUTE {


FAÇA ALGUMA COISA REPETIDAMENTE;
}

[Link]
[Link]

package [Link] ;

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {


int i = 0;

while (i <= 10){ Para imprimir valores de 0 a 10,


inicializo uma variável, que por
//Imprime i e pula uma linha padrão chamamos de i (Iterador) com
[Link](i) ; 0.
//Aumenta em 1 o valor do i atual
Enquanto ela for menor ou igual a
i = i + 1;
10, eu imprimo o valor na tela e
//Quando chega aqui, o código volta para pulo uma linha.
//a linha 8 e verifica se a condição
//i <=10 continua verdadeira, para Após, eu faço um incremento,
//executar o laço novamente ou sair adicionando 1 ao valor atual de i.
}
} Depois executo tudo novamente até
} que i não seja mais <= 10.
[Link]

package [Link] ;

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {


int i = 0;

while (i <= 10){ Também é possível resumir a operação


de incremento que era:
//Imprime i e pula uma linha
[Link](i) ; i = i + 1;
//Aumenta em 1 o valor do i atual
em
i += 1;

//Quando chega aqui, o código volta para i += 1;


//a linha 8 e verifica se a condição
//i <=10 continua verdadeira, para ou
//executar o laço novamente ou sair
} i++;
}
}
[Link]

package [Link] ;

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {


int i = 0;

while (i <= 10){ Também é possível resumir fazer


operações de incremento com
//Imprime i e pula uma linha quaisquer outros valores, como por
[Link](i) ; exemplo de 3 em 3.
//Aumenta em 3 o valor do i atual
Assim como adicionar qualquer outro
i = i + 3;
tipo de código como condicionais,
//Quando chega aqui, o código volta para operações matemáticas ou menus
//a linha 8 e verifica se a condição dentro de um while.
//i <=10 continua verdadeira, para
//executar o laço novamente ou sair
}
}
}
[Link]

/LAÇO DE REPETIÇÃO WHILE


PARTE 2

[Link]
[Link]

package [Link] ;

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {


int i = 10;

while (i > -1){ Também é possível fazer operações de


decremento , fazendo o número
//Imprime i e pula uma linha diminuir ao longo do código
[Link](i) ;
i = i - 1;
//Diminui em 1 o valor do i atual
i = i - 1;
ou
//Quando chega aqui, o código volta para
//a linha 8 e verifica se a condição i -= 1;
//i > -1 continua verdadeira, para
//executar o laço novamente ou sair ou
}
} i--;
}
[Link]

package [Link] ;

/FUNCIONAMENTO
import [Link] ;

public class Main {

public static void main(String[] args) {


Uma das maiores utilidades do while
int i = 0; é para executar comandos até que um
valor específico seja digitado, para
while (i != 10){ continuar com o programa.
System. [Link]( "Digite 10:" );
Por exemplo um programa que lê
valores, até que o valor informado
//Lê o valor digitado
Scanner leitor = new Scanner(System. in); seja 10.
i = [Link]() ;
Isso é chamado de validação de
//Quando chega aqui, o código volta para dados.
//a linha 8 e verifica se o valor digitado
//é 10 para poder continuar, ou se ele
//NÃO FOR == 10, então executa de novo
}

System. [Link]( "Fim");


}
}
[Link]

package [Link] ;

/FUNCIONAMENTO
import [Link] ;

public class Main {

public static void main(String[] args) {


Outra utilidade do while é para
int i = 0; executar comandos até que um valor
que cumpre requisitos seja digitado,
while (i < 10){ para continuar com o programa.
System. [Link]( "Digite > 10:" );
Por exemplo um programa que lê
valores, até que o valor informado
//Lê o valor digitado
Scanner leitor = new Scanner(System. in); seja maior que 10.
i = [Link]() ;
Isso é chamado de validação de
//Quando chega aqui, o código volta para dados.
//a linha 8 e verifica se o valor digitado
//é 10 para poder continuar, ou se ele
//NÃO FOR > 10, então executa de novo
}

System. [Link]( "Fim");


}
}
[Link]

package [Link] ;
import [Link] ;

public class Main {


/FUNCIONAMENTO
public static void main(String[] args) {

int a = 0; Também é possível fazer validação de


int b = 0; dados com mais de 1 valor.

while (a < 10 || b < 10){ No caso os dois valores precisam ser


maiores que 10.
System. [Link]( "Digite valores > 10:" );

//Lê os valores digitados


Scanner leitor = new Scanner(System. in);
a = [Link]() ;
b = [Link]() ;

//Quando chega aqui, o código volta para


//a linha 8 e verifica se os dois valores
//digitados são maiores ou iguais a 10
//se um for menor, repete
}

System. [Link]( "Fim");


}
}
[Link]

package [Link] ;
import [Link] ;

public class Main {


/FUNCIONAMENTO
public static void main(String[] args) {

int a = 0; Também é possível fazer validação de


dados com mais de 1 valor.
while (a < 1 || a > 6){
No caso os dois valores precisam ser
System. [Link]( "Digite de 1 e 6:" ); maiores que 10.
//Lê os valores digitados
Scanner leitor = new Scanner(System. in);
a = [Link]() ;

//Quando chega aqui, o código volta para


//a linha 8 e verifica se está entre 1 e 6
}

System. [Link]( "Fim");


}
}
[Link]

package [Link] ;

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {

int i = 10;
Outra forma de fazer o
do { while é usando a
comparação no final.
System. [Link]( "Vai ser executado ao menos uma vez" );
[Link]( "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.
[Link]

<EXERCÍCIOS>
While e Do While

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE IMPRIMA NA TELA A SOMA DOS 10
PRIMEIROS NÚMEROS NATURAIS.

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA UM NÚMERO E MULTIPLIQUE O
RESULTADO POR 2 ATÉ O NÚMERO PASSAR 100.

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA DOIS NÚMEROS E IMPRIMA
TODOS OS NÚMEROS INTEIROS ENTRE ELES.

[Link]
[Link]

/LAÇO DE REPETIÇÃO FOR

[Link]
[Link]

/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)

Também temos controle de quantos em quantos passos ela aumenta ou


diminui, tudo diretamente em uma linha apenas.

[Link]
[Link]

/FOR
Fazer um laço de repetição rodar 10 vezes:

PARA(i = 0; i MENOR QUE 10; AUMENTA 1 i POR REPETIÇÃO){}

for(int i = 0; i < 10; i++){

//Faz algo

[Link]
[Link]

package [Link] ;
/FUNCIONAMENTO
public class Main {

public static void main(String[] args) { Para imprimir valores de 0 a 10,


int i = 0; inicializo uma variável, que por
padrão chamamos de i (Iterador) com
for (i = 0; i < 10; i++){
0.
//Imprime i sem pular uma linha
[Link](i + ","); Enquanto ela for menor ou igual a
10, eu imprimo o valor na tela e
//Quando chega aqui, o código volta para pulo uma linha.
//a linha 8 e verifica se a condição
//i <= 10 continua verdadeira, para Após, eu faço um incremento,
//executar o laço novamente ou sair adicionando 1 ao valor atual de i.
}
} Depois executo tudo novamente até
}
que i não seja mais <= a 10.
[Link]

package [Link] ; /FUNCIONAMENTO


public class Main {

public static void main(String[] args) { Também posso inicializar a variável


int i = 0; i com qualquer outro valor.

for (i = 10; i > 0; i = i - 3){ Posso fazer qualquer comparação do i


com outro valor (igual fazemos com o
//Imprime i e pula uma linha while ou com o if).
[Link](i + "\n");
Também posso usar qualquer tipo de
//Quando chega aqui, o código volta para
incremento de i, caso queira
//a linha 8 e verifica se a condição
//i > 0 continua verdadeira, para modificar o i++.
//executar o laço novamente ou sair
}
}
}
[Link]

<EXERCÍCIOS>
For

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE IMPRIMA NA TELA OS NÚMEROS DE 10
A 20, DE 2 EM 2

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 5 VALORES (USANDO O FOR) E
MOSTRE A SOMA DELES

[Link]
[Link]

/CONSTANTES

[Link]
[Link]

/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.

Podemos definir constantes com o comando final.

Uma boa prática para constantes é escrever todas as letras


maiúsculas e separadas por _.

[Link]
[Link]

/FUNCIONAMENTO
Para definir constantes, antes do nome da
classe a declaramos como:

final int A = 5;

Depois que o valor é associado à


constante, não é possível mudá-lo durante
a execução do programa.
[Link]

/VETORES

[Link]
[Link]

/VETORES
Além das variáveis e constantes que geralmente adicionamos em nossos
programas, também podemos adicionar vetores quando precisamos
armazenar valores associados.

variavel = UM VALOR, vetor[3] = {UM VALOR, UM VALOR, UM VALOR}

0 1 2

É Importante lembrar que a contagem de posições de um vetor sempre


começa a partir de 0, então um vetor com 3 posições têm os índices
0,1 e 2.

[Link]
[Link]

/VETORES
Esses vetores podem conter variáveis de apenas o tipo que foi
definido e não de múltiplos tipos diferentes.

(Sem definir tamanho) (Definindo tamanho) (Definindo com constante)


int[] vetor = {1,2,3,4}; float[] vetor = new float[5]; char[] vetor = new char[TAM]

(Misturar Tipos) (Misturar Tipos)


int[] vetor = {1,2.5} float[] vetor = {1.5f,2}

[Link]
[Link]

/VETORES
Os vetores têm a contagem de posições sempre iniciando a partir da
posição ZERO:

int[] vetor = { 10 , 25 , 70 }

Posição 0 , Posição 1 , Posição 2

String[] vetor = { “uva” , “maçã” , “pêra” }

Posição 0 , Posição 1 , Posição 2

[Link]
[Link]

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

[Link]
[Link]

/VETORES
Para atribuir valores a um vetor já criado, usamos: vetor[X] = 10;

Para receber um valor de um vetor já criado, usamos: int variavel = vetor[X] ;

Para ler um valor dentro de uma posição do vetor: vetor[X] = [Link]();

Para imprimir um valor de uma posição do vetor: [Link](vetor[X]);

SENDO X UM NÚMERO INTEIRO MENOR QUE O TAMANHO DO VETOR

[Link]
[Link]

/VETORES
Para criar um vetor sem valores pré-determinados, usamos o seguinte
código:

final int TAM = 5;


int[] vetor = new int[TAM];

Para criar um vetor com valores pré-determinados e percorrê-lo


imprimindo na tela, usamos o seguinte código:

int[] vetor2 = { 1,2,3,4,5};


for(int i = 0; i < TAM; i++){
System. [Link](vetor2[i]) ;
}

[Link]
[Link]

/VETORES
Para ler valores para um vetor e imprimir na tela:

//Criando um vetor vazio


final int TAM = 5;
int[] vetor = new int[TAM];
for(int i = 0; i < TAM; i++){
vetor[i] = [Link]() ;
}

//Imprime o vetor lido


for(int i = 0; i < TAM; i++){
System. [Link](vetor[i]) ;
}

[Link]
[Link]

package [Link] ;

/FUNCIONAMENTO
import [Link] ;

public class Main {

public static void main(String[] args) {


Primeiro mostro 3 formas diferentes de
//Definindo Vetores de Várias Formas definir vetores:
int[] vetorDeInt = { 1,2,3,4};
double [] vetorDeDouble = { 1.5,2.2,3.0}; 1. Sem definir o tamanho
char [] vetorDeChar = { 'a','b'};
2. Definindo tamanho com número
//Modificando Valor por atribuição
3. Definindo tamanho com constante
vetorDeFloat[ 0] = 9.1;
Depois 3 formas de atribuir valores
//Modificando Valor com variável novos como comentado na imagem.
double novoValor = 5.2;
vetorDeDouble[ 2] = novoValor ;

//Modificando Valor com usuário


[Link]( "Digite um número:" );
Scanner leitor = new Scanner(System. in);
vetorDeInt[ 0] = [Link]() ;
[Link]
//Imprimindo vetores
int i = 0;
[Link]("Vetor 1: \n");

/FUNCIONAMENTO
for(i = 0; i < 4 ; i++){
[Link](vetorDeInt[i]);
}

[Link]("Vetor 2: \n");
for(i = 0; i < 3 ; i++){
[Link](vetorDeDouble[i]); Agora mostro como imprimir vetores
} utilizando o laço de repetição FOR.
[Link]("Vetor 3: \n");
for(i = 0; i < 2 ; i++){
[Link](vetorDeChar[i]);
} Perceba que só precisei definir i
uma vez e posso reutilizar nas
//Lendo Valores Para Todo o Vetor e
[Link]("Digite inteiros");
próximas impressões, pois a cada
for(i = 0; i < 4 ; i++){ for o valor dele volta a ser ZERO.
[Link]("Lendo em vetor["+i+"]:");
vetorDeInt[i] = [Link]().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
[Link](vetorDeInt[i]); ele não vai extrapolar as casas
}
possíveis.
}
}
[Link]

<EXERCÍCIOS>
Vetores

[Link]
[Link]

/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]

[Link]
[Link]

/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.

[Link]
[Link]

/MATRIZES

[Link]
[Link]

char tabuleiro[3][3]

[0,0] [0,1] [0,2]

X O

[1,0] [1,1] [1,2]

X O

[2,0] [2,1] [2,2]

/MATRIZES
O

As matrizes são nada mais que vetores multidimensionais, ou seja, um


conjunto de vetores agrupados em um tipo de variável.

São muito usados para representar tabuleiros por exemplo.

[Link]
[Link]

/MATRIZES
Matrizes podem conter variáveis de apenas o tipo que foi definido e não de
múltiplos tipos diferentes

(Tem que definir tamanho) (Definindo valores) (Definindo com constante)


int[][] matriz = new int[2][] int[][] matriz = {{1,2},{3,4}} char[][] matriz = new char[T][T]

(Definindo valores)
String[][] matriz = {{“oi”,”olá”},{“hola”,”hi”}}

(Não definir nenhum tamanho) (Misturar Tipos)


int[][] matriz = new int[][] int[][] matriz = {{1,’c’},{2,3}}

[Link]
[Link]

/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];

Para ler um valor dentro de uma posição da matriz: matriz[X][Y] = [Link]();

Para imprimir um valor de uma posição da matriz: [Link](matriz[X][Y]);

SENDO X E Y NÚMEROS INTEIROS MENORES QUE O TAMANHO DA MATRIZ

[Link]
[Link]

/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
[Link](matriz[i][j]);
}
//Pula uma linha
[Link]();
}

[Link]
[Link]

/LER VETORES
Para ler todos os valores de um vetor na tela precisamos de dois FOR
e duas auxiliares i e j

//Lendo novos valores para a matriz


Scanner leitor = new Scanner([Link]);
//Percorre a matriz
for(int i = 0; i < 2; i++){
for(int j = 0; j < 3; j++){
//Lê o valor de cada posição
matriz[i][j] = [Link]();
}
//Pula uma linha
[Link]();
}

[Link]
[Link]
package [Link];
import [Link];

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {

//Define a matriz
int[][] matriz = {{1,2,3},{4,5,6}};

//Lendo novos valores para a matriz Primeiro define as constantes


Scanner leitor = new Scanner([Link]); para o tamanho da matriz e a
//Percorre a matriz
for(int i = 0; i < 2; i++){ defino.
for(int j = 0; j < 3; j++){
//Lê o valor de cada posição
matriz[i][j] = [Link]();
Uso as auxiliares i e j para
} navegar entre as LINHAS e
//Pula uma linha COLUNAS.
[Link]();
}
Para leitura uso o scanner
//Percorre a matriz dentro do DUPLO FOR.
for(int i = 0; i < 2; i++){
for(int j = 0; j < 3; j++){
//Imprime o valor de cada posição Para impressão uso o
[Link](matriz[i][j]);
[Link] dentro de OUTRO
}
//Pula uma linha DUPLO FOR.
[Link]();
}

}
}
[Link]

<EXERCÍCIOS>
Matrizes

[Link]
[Link]

/SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 9 VALORES NUMA MATRIZ 3X3 E
IMPRIMA ESSES VALORES NA TELA (3 POR LINHA)

[Link]
[Link]

/REVISÃO DE CONCEITOS

[Link]
[Link]

/REVISÃO DE CONCEITOS
IDE O programa de computador usado para escrever códigos.

Variável Pedaços da memória responsáveis por guardar números, letras e palavras

Leitura de Feita com o comando Scanner leitor = new Scanner([Link]);


Variáveis [Link](); [Link](); [Link]();

Escrita de Feita com o comando [Link](nomeDaVariavel);


Variáveis Feita com o comando [Link](“Valor:”+nomeDaVariavel+”.”);

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

Conectivos Lógicos E && : se um for falso , não executa.


OU || : se um for verdadeiro, executa.

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.

[Link]
[Link]

/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.

[Link]
[Link]

/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

[Link]
[Link]

/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

[Link]
[Link]

/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.

[Link]

Você também pode gostar