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

Java - 2 em 1 - Parte 1

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)
27 visualizações207 páginas

Java - 2 em 1 - Parte 1

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
Você está na página 1/ 207

ONEDAYCODE.

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

CLIQUE AQUI PARA BAIXAR OS EXERCÍCIOS DO CURSO

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

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

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.

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.

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

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!

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”

O programa de computador usado para escrever códigos.

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

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

Inputs = Valores de Entrada

Outputs = Valores de Saída

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


outputs.

Main.java
ONEDAYCODE.COM

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)

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

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

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

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

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:

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.

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

/MÃO NA MASSA
PRIMEIRO CÓDIGO

Main.java
/RODANDO
Para rodar o código clicamos no
triângulo verde.

Tudo que for impresso com o comando:


System.out.println(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
ONEDAYCODE.COM

/IMPRIMIR NA TELA
Para imprimir dados na tela usamos a função System.out.println();

Imprimir um texto e pular uma linha:


System.out.println("oi");

Imprimir um texto sem pular uma linha:


System.out.print("oi");

Imprimir um inteiro:
System.out.println(nomedavariavel) ;

Imprimir um texto e uma variável:


System.out.println("Valor:" + nomedavariavel) ;

Imprimir variáveis e textos:


System.out.println("Valor 1:" + a + ", valor 2:" + b);

Main.java
ONEDAYCODE.COM

/CÓDIGO FINAL
package com.company;

public class Main {


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

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.

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
System.out.println(resultado);

O resultado será impresso na tela.


ONEDAYCODE.COM

/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

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;

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
System.out.println("O resultado da multiplicação entre:" + a +
"," + b+ "," + c +" é:" + resultado);

}
}
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;

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;
System.out.println("Resultado:" + resultado);
}
}
ONEDAYCODE.COM

/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

/COMO LER VALORES


(SCANNER)

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.

Para isso use ALT+ENTER

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;

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(System.in);

//Ler e Imprimir Idade


System.out.println("Quantos anos você tem?: ");
int idade;
idade = leitor.nextInt();
System.out.println("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.
Main.java
ONEDAYCODE.COM

/LER VALORES (ERRO)


package com.company;
//É preciso adicionar uma biblioteca antes da public class para ele ser reconhecido
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

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

/LER VALORES (CORRETO)


package com.company;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

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

int int x = Integer.parseInt("12");

double double c = Double.parseDouble("12");

string String palavra = String.valueof(10)

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.

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.

Main.java
ONEDAYCODE.COM

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


System.out.println("Maior de idade" );
}

Main.java
ONEDAYCODE.COM

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

if (idade > 17){


System. out.println("Maior de idade" );
}else{
System. out.println("Menor de idade" );
}

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 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(System.in);

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


//variável idade Usando um if, analiso se a idade é maior
int idade = leitor.nextInt(); 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){
System.out.println("Maior de idade");
}else{
System.out.println("Menor de idade");
} *Também poderia ser if(idade >= 18).

}
}
ONEDAYCODE.COM

/FUNCIONAMENTO
package com.company;

import java.util.Scanner;

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(System.in);

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


//variável idade
int idade = leitor.nextInt(); 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){
System.out.println("Tem que se alistar");
}else if(idade > 18){
System.out.println("Se alistou");
}else{
System.out.println("Menor de idade");
}

}
ONEDAYCODE.COM

/FUNCIONAMENTO
package com.company;

import java.util.Scanner;

public class Main {

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();

//Analisa a idade inserida e imprime algo


if (palavra1.equals(palavra2)){
System.out.println("Palavras Iguais");
}else{
System.out.println("Palavras Diferentes");
}

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

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

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

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.

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

/FUNCIONAMENTO
package com.company;

import java.util.Scanner;

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(System.in);

//Lê a idade de cada pessoa


int pessoa1 = leitor.nextInt();
int pessoa2 = leitor.nextInt(); 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
System.out.println("OK");
}else {
System.out.println("PROBLEMA"); F F F
}
}
}
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

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.

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

/FUNCIONAMENTO
package com.company;

import java.util.Scanner;

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(System.in);

//Lê a idade de cada pessoa


int pessoa1 = leitor.nextInt();
int pessoa2 = leitor.nextInt(); 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
System.out.println("OK");
}else {
System.out.println("PROBLEMA"); F F F
}
}
}
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 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.

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


recomendado utilizar a condicional SWITCH.

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;

public class Main {

public static void main(String[] args) {


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

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

/GERAR NÚMERO ALEATÓRIO

Main.java
ONEDAYCODE.COM

/GERAR NÚMERO ALEATÓRIO


Para gerar um número aleatório, é preciso uma biblioteca específica
do Java:

import java.util.Random ;

Main.java
ONEDAYCODE.COM
package com.company ;

import java.util.Random ;

public class Main {


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

//Gerador de aleatórios Primeiro adicionamos as bibliotecas


Random aleatorio = new Random() ; corretas.
//Gera um aleatório de 0 a 10
Para gerar um aleatório, criamos um
System.out.println(aleatorio.nextInt( 11));
} objeto da classe Random e
} inicializamos ele como um novo
objeto.
Random aleatorio = new Random() ;

Depois conseguimos um valor entre 0


e 10 com o código:
aleatorio.nextInt( 11)
ONEDAYCODE.COM
package com.company ;

import java.util.Random ;

public class Main {


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

//Gerador de aleatórios Para gerar um aleatório


Random aleatorio = new Random() ; entre dois intervalos,
usamos a seguinte fórmula
//Gera um aleatório de 0 a 10
mostrada no código ao
System.out.println(aleatorio.nextInt( 11));
lado.
//Gera um aleatório de 5 a 10
int min = 5;
int max = 10;
int numeroGerado = min + aleatorio.nextInt(max - min
+1);
System.out.println(numeroGerado) ;

//numeroGerado = 5 + Algo entre 0 e (10 - 5 + 1)


//Ou seja adiciona ao 5 => algo entre 0 e 5

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

/LAÇO DE REPETIÇÃO WHILE

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

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

Main.java
ONEDAYCODE.COM

package com.company ;

/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
System.out.println(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.
ONEDAYCODE.COM

package com.company ;

/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
System.out.println(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++;
}
}
ONEDAYCODE.COM

package com.company ;

/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
System.out.println(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
}
}
}
ONEDAYCODE.COM

/LAÇO DE REPETIÇÃO WHILE


PARTE 2

Main.java
ONEDAYCODE.COM

package com.company ;

/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
System.out.println(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--;
}
ONEDAYCODE.COM

package com.company ;

/FUNCIONAMENTO
import java.util.Scanner ;

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. out.println( "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 = leitor.nextInt() ;
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. out.println( "Fim");


}
}
ONEDAYCODE.COM

package com.company ;

/FUNCIONAMENTO
import java.util.Scanner ;

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. out.println( "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 = leitor.nextInt() ;
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. out.println( "Fim");


}
}
ONEDAYCODE.COM

package com.company ;
import java.util.Scanner ;

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. out.println( "Digite valores > 10:" );

//Lê os valores digitados


Scanner leitor = new Scanner(System. in);
a = leitor.nextInt() ;
b = leitor.nextInt() ;

//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. out.println( "Fim");


}
}
ONEDAYCODE.COM

package com.company ;
import java.util.Scanner ;

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. out.println( "Digite de 1 e 6:" ); maiores que 10.
//Lê os valores digitados
Scanner leitor = new Scanner(System. in);
a = leitor.nextInt() ;

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


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

System. out.println( "Fim");


}
}
ONEDAYCODE.COM

package com.company ;

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

/LAÇO DE REPETIÇÃO FOR

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)

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


diminui, tudo diretamente em uma linha apenas.

Main.java
ONEDAYCODE.COM

/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

Main.java
ONEDAYCODE.COM

package com.company ;
/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
System.out.print(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.
ONEDAYCODE.COM

package com.company ; /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).
System.out.println(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
}
}
}
ONEDAYCODE.COM

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

Podemos definir constantes com o comando final.

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


maiúsculas e separadas por _.

Main.java
ONEDAYCODE.COM

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

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

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.

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.

(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}

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 }

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

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

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

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;

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] = leitor.nextInt();

Para imprimir um valor de uma posição do vetor: System.out.println(vetor[X]);

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

Main.java
ONEDAYCODE.COM

/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. out.println(vetor2[i]) ;
}

Main.java
ONEDAYCODE.COM

/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] = leitor.nextInt() ;
}

//Imprime o vetor lido


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

Main.java
ONEDAYCODE.COM

package com.company ;

/FUNCIONAMENTO
import java.util.Scanner ;

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


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

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

Os arraylists podem ser de vários tipos, assim como os vetores.

Para ser usado, é preciso importar a biblioteca:

import java.util.ArrayList;

Main.java
ONEDAYCODE.COM
package com.company;
import java.util.ArrayList;
import java.util.Scanner;

/FUNCIONAMENTO
public class Main {

public static void main(String[] args) {

//Cria um arraylist sem informar tamanho, pois ele se adapta


ArrayList<Integer> listaDeNumeros = new ArrayList<>();
Primeiro eu crio uma lista de
//Adiciona um valor algum tipo e inicializo como um
listaDeNumeros.add(15);
novo Arraylist vazio.
//Adicionar um valor que foi digitado pelo usuário
Scanner leitor = new Scanner(System.in);
listaDeNumeros.add(leitor.nextInt());
Para adicionar valores uso o
.add e será adicionado ao final.
//Pegar um valor de uma posição no arraylist e imprimir na tela
System.out.println(listaDeNumeros.get(0));
Para imprimir o valor de algum
//Como saber o tamanho atual de um arraylist índice uso o .get(x)
listaDeNumeros.size();

//Como percorrer um arraylist Para retornar o tamanho da lista


for(int i=0;i<listaDeNumeros.size();i++) { uso o .size()
System.out.println(listaDeNumeros.get(i));
}
Para esvaziar tudo uso o
//Esvaziando .clear()
listaDeNumeros.clear();
}
}
ONEDAYCODE.COM

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

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

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

(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}}

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

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

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

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

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

//Lendo novos valores para a matriz


Scanner leitor = new Scanner(System.in);
//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] = leitor.nextInt();
}
//Pula uma linha
System.out.println();
}

Main.java
ONEDAYCODE.COM
package com.company;
import java.util.Scanner;

/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(System.in); 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] = leitor.nextInt();
Uso as auxiliares i e j para
} navegar entre as LINHAS e
//Pula uma linha COLUNAS.
System.out.println();
}
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
System.out.print(matriz[i][j]);
System.out.print dentro de OUTRO
}
//Pula uma linha DUPLO FOR.
System.out.println();
}

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

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(System.in);


Variáveis leitor.nextInt(); leitor.nextDouble(); leitor.nextLine();

Escrita de Feita com o comando System.out.println(nomeDaVariavel);


Variáveis Feita com o comando System.out.println(“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.

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

ENTENDENDO A CLASSE MAIN

Main.java
ONEDAYCODE.COM

/A CLASSE MAIN
Existe uma classe no Java que é peculiar, é a classe principal,
conhecida como public class Main.

Ela por padrão é uma classe que possui um método obrigatório em


qualquer programa Java, pois é como o compilador sabe por onde
começar, pela função public static void main(String[] args).

package com.company ;

public class Main {


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

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.

ALGUMAS VEZES TEMOS APENAS QUE “ACEITAR” QUE ALGUNS


COMANDOS SÃO ASSIM E PRONTO, PORQUE SE PARARMOS PARA
EXPLICAR CADA PEDACINHO, FICARÁ UMA AULA EXTREMAMENTE
LONGA.

POR ISSO EU ESCOLHO ENSINAR PEQUENOS CONCEITOS, UM


POR AULA E SE APROFUNDAR AOS POUCOS :)

MAS PARA OS IMPACIENTES…

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.

static: quando a máquina virtual(JVM) faz a chamada para o método


main (que é chamado por primeiro por padrão), ainda não há um objeto
para a classe ainda (pois está inicializando), logo é preciso que
esse método seja static para funcionar mesmo existir uma instância.

void: significa que esse método não vai retornar nada ao seu final.

main: o nome do método (por padrão o main é chamado por primeiro)

String[] args: parâmetros iniciais de execução do programa.

Main.java
ONEDAYCODE.COM

/TÁ, E QUAL PARTE EU PRECISO SABER AGORA?


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

Resumindo: sempre que criarmos funções dentro da nossa classe main,


elas precisarão ser definidas como static.

Para que elas possam ser chamadas sem a necessidade de criar um


objeto para elas.

Main.java
ONEDAYCODE.COM

FUNÇÕES/MÉTODOS
(SEM RETORNO)
Main.java
ONEDAYCODE.COM

/MÉTODOS SEM RETORNO


Se em algum momento do programa percebemos que determinado padrão de
comandos é executado em uma ordem muito parecida ou até mesmo igual,
podemos criar funções para simplificar o processo.

Nós criamos funções para EVITAR REPETIÇÕES de código, criando uma


generalização.

Main.java
ONEDAYCODE.COM

/MÉTODOS SEM RETORNO


// O cabeçalho da função é a primeira linha dela que contém as
informações de

TIPO DE RETORNO: void/int/double/float/string...

NOME DA FUNÇÃO: seguindo o padrão de “camelCase”.

PARÂMETROS: tipos de valores que serão recebidos e seus nomes.

tipoDeRetorno nomeDaFuncao(params){}

Main.java
ONEDAYCODE.COM
package com.company ;

import java.util.Scanner ;

public class Main {


/FUNCIONAMENTO
//Quando crio funções que serão chamadas na main
//Preciso que elas também sejam static
//Pois a main em si não é um OBJETO Primeiro defino a função que
void desenhaSeparador (){ desenha um separador na tela e
System. out.println( "-+-+-+-+-+-+-+-+-+" ); quebra linhas antes e após.
}

public static void main(String[] args) {


Main principal = new Main();
principal.desenhaSeparador() ; Dentro da minha main() eu chamo
System.out.println( "Oi"); a função previamente definida,
principal.desenhaSeparador() ; para executar o que está dentro
System.out.println( "Fim"); dela e depois continuar o
} programa.
}

Por ela ser do tipo void, não


preciso retornar nada ao fim.
ONEDAYCODE.COM
package com.company;

public class Main {

//Quando crio funções que serão chamadas na main


//Preciso que elas também sejam static
/FUNCIONAMENTO
//Pois a main em si não é um OBJETO
static void desenhaSeparador(){ Primeiro defino a função que
System.out.println("-----------------"); desenha um separador na tela e
} quebra linhas antes e após.

public static void main(String[] args) {


desenhaSeparador();
System.out.println("Oi");
Dentro da minha main() eu chamo
desenhaSeparador();
a função previamente definida,
System.out.println("Fim");
para executar o que está dentro
}
dela e depois continuar o
}
programa.

Por ela ser do tipo void, não


preciso retornar nada ao fim.
ONEDAYCODE.COM

<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

/MÉTODOS COM RETORNO


Algumas vezes, precisamos que os métodos executados pelos objetos
retornem algum valor no final de suas execuções.

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.

Para indicar que um método precisará retornar algum valor, em sua


definição começamos com o TIPO do retorno que será fornecido e antes
da última linha de sua definição, usamos um

return ALGUMAVARIÁVELDAQUELETIPO;

Main.java
package com.company; ONEDAYCODE.COM

public class Main {

/FUNCIONAMENTO
static int retorna10(){
int a = 10;
return a;
}

static double retornaQuebrado(){ Neste código temos 3 tipos de


double a = 5.5;
return a; funções com retornos diferentes.
}

static char retornaLetra(){


return 'a';
} É possível retornar tanto uma
variável, quanto um valor
public static void main(String[] args) { direto.
//Função direto no System.out.println
System.out.println("Retorna 10 da funcao:" + retorna10());

//Função retornando um valor para uma variável


double numeroQuebrado = retornaQuebrado(); Na main() podemos chamar a
System.out.println("Número quebrado:" + retornaQuebrado()); função no momento da impressão,
//Retornando direto no System.out.println
mas também podemos passar o
System.out.println("Retorna letra: " + retornaLetra()); valor para uma variável antes.

}
}
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 ;

public class Main {

static String saudacao = "Bom dia" ;


/FUNCIONAMENTO
//Quando crio funções que serão chamadas na main
//Preciso que elas também sejam static
//Pois a main em si não é um OBJETO Neste caso, perceba que eu criei
static void imprimeSaudacao (){ a minha variável saudacao logo
//Imprime a mensagem de acordo com o momento após a definição da classe Main,
System.out.println( saudacao); ou seja, ela fica disponível
} para qualquer função da classe
Main.
public static void main(String[] args){
imprimeSaudacao();
//Muda a mensagem Novamente precisei definir como
saudacao = "Boa noite" ; static porque não estou me
imprimeSaudacao(); referindo a nenhum objeto
} específico e sim ao programa
} principal.

Ao modificar a saudacao na main,


ela também mudou dentro da
função imprimeSaudacao() porque
é a mesma variável.
ONEDAYCODE.COM

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

Mas então como eu faço se eu


quiser enviar o nome “João” para
a minha função
imprimeSaudacao()?

É o que veremos na próxima aula.


ONEDAYCODE.COM

/FUNÇÕES
(COM PARÂMETROS E RETORNO)

Main.java
ONEDAYCODE.COM

/FUNÇÕES COM PARÂMETRO


Quando queremos levar um valor da função main() para uma função
específica, podemos passar através de parâmetros, pois assim temos
mais segurança do que quando disponibilizamos o acesso global a uma
variável.

Os valores recebidos pela função devem ter o mesmo tipo do cabeçalho


da função e serão acessados apenas dentro do escopo daquela função.

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

//Função retornando um valor para uma variável


double valorFinal = retornaComMais10(5.3);
System.out.println("Número quebrado:" + valorFinal);
}
}
ONEDAYCODE.COM

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

Vamos precisar de duas bibliotecas principais que contém as funções


necessárias para interação e criação de janelas

Tutoriais: https://www.javatpoint.com/java-swing

Main.java
ONEDAYCODE.COM

frame JFrameText

JLabel JTextField

panels
JButton

insets

1. Precisamos criar uma janela (Frame) e definir um título.


2. Depois criamos panels como containers de algum tipo.
3. Depois criamos os componentes e adicionamos aos panels.
4. Colamos os panels dentro do frame e deixamos o frame visível.

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{

//Panel que será inserido no frame


private JPanel mainPanel ;

//Método Construtor Posso copiar o código da


public ExemploJFrameComGUI (String title){ função main e colar na própria
//Chama o construtor de JFrame classe.
super(title);
//Faz o programa encerrar ao fechar a janela Essa classe precisa de um
this.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); extends JFrame para podermos
//Adiciona o Panel criado para a janela ter a parte gráfica do Swing.
this.setContentPane( mainPanel );
//Ajusta os tamanhos mínimos dos componentes
this.pack(); Agora que tudo já está
} linkado, sempre que
adicionarmos algo gráfico no
public static void main(String[] args) { editor GUI, um campo será
//Inicia o frame adicionado no código para
JFrame frame = new ExemploJFrameComGUI( "Título" ); usarmos.
//Torna-o visível
frame.setVisible( true);
}

}
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{

//Panel que será inserido no frame


private JPanel mainPanel ;

Agora ao clicar no
private JTextField dolarTextField ;
private JLabel dolarLabel ;
private JButton convertButton ; convertButton uma ação é
gerada.
private JLabel reaisLabel ;

//Método Construtor

Eu pego o valor dos campos de


public ExemploJFrameComGUI (String title){
//Chama o construtor de JFrame
super(title) ; texto com
//Faz o programa encerrar ao fechar a janela
this.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); nomeTextField.getText()
//Adiciona o Panel criado para a janela

Para converter em double uso o


this.setContentPane( mainPanel );
//Ajusta os tamanhos mínimos dos componentes
this.pack() ; Double.parseDouble(nomeTextFiel
//Ao clicar no botão realiza algo d.getText())
convertButton .addActionListener( new ActionListener() {

Para formatar com duas casas


@Override
public void actionPerformed (ActionEvent e) {
//Pega o valor do campo de dolar e converte para double após a vírgula uso um
DecimalFormat.
double dolares = Double. parseDouble(dolarTextField .getText()) ;
//converte para reais
double reais = dolares * 4.65;

Para atualizar um texto uso


//Muda a formatação para duas casas após vírgula
DecimalFormat df = new DecimalFormat( "0.00" );
//Atualiza o texto convertido reaisLabel.setText()
reaisLabel .setText( "R$"+df.format(reais)) ;
}
}) ;
}
ONEDAYCODE.COM

/EXPORTAR PARA EXECUTÁVEL

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.

Vamos precisar de duas bibliotecas principais que contém as funções


necessárias para interação e criação de janelas

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

1. Precisamos criar uma janela (Frame) e definir um título.


2. Depois criamos panels como containers de algum tipo.
3. Depois criamos os componentes e adicionamos aos panels.
4. Colamos os panels dentro do frame e deixamos o frame visível.

Main.java
import javax.swing.* ; ONEDAYCODE.COM
import java.awt.* ;
import java.awt.event.ActionEvent ;

/FUNCIONAMENTO
import java.awt.event.ActionListener ;

public class Main {

public static void main(String[] args) {


Primeiro criamos um frame novo
//Cria um JFrame (janela) com um título
JFrame frame = new JFrame("JFrame Exemplo" );
e adicionamos um panel do tipo
Grid para trabalhar com
// Painel que define o layout,estilo GridBagLayout coordenadas X e Y.
JPanel panel = new JPanel(new GridBagLayout()) ;
Depois adiciono margens
// Definições da posição atual desejada [X,Y] internas de 5px.
GridBagConstraints constr = new GridBagConstraints() ;

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

// Posição inicial do grid 0,0


constr. gridx=0;constr.gridy=0;

//Adiciona a label de nome no [0,0] Agora adiciono o texto e o


panel.add(userNameLabel , constr); campo para inserir o nome.
//Adiciona o campo de texto no [0,1]
constr. gridx=1;
panel.add(userNameTxt , constr);
Posiciono em x = 0 e y = 0

Depois o editável em [0,1]


[0,0] [0,1]

[0,1] [1,1]

[0,2] com width 2


/*************** TEXTO E CAMPO DA IDADE **********/ ONEDAYCODE.COM
// Título de Idade
JLabel pwdLabel = new JLabel("Digite sua idade :" );
// Declare Text fields

/FUNCIONAMENTO
JTextField ageTxt = new JTextField( 20);

// Posição inicial do grid 0,0


constr.gridx=0;constr.gridy=1;

//Adiciona a label de nome no [0,1] Agora adiciono o texto e o


panel.add(pwdLabel , constr); campo para inserir o nome.
//Adiciona o campo de texto no [1,1]
constr.gridx=1;
panel.add(ageTxt , constr);
Posiciono em x = 0 e y = 0

Depois o editável em [0,1]


[0,0] [0,1]

[0,1] [1,1]

[0,2] com width 2


/*************** BOTÃO **********/ ONEDAYCODE.COM
//Posição
constr.gridx=0;constr.gridy=2;
//Tamanho

/FUNCIONAMENTO
constr.gridwidth = 2;
//Alinhamento
constr.anchor = GridBagConstraints. CENTER;

// Botão com texto de "Enviar"


JButton button = new JButton( "Enviar Informações" ); Por último adiciono o botão
com largura 2 (Para ocupar
// Adiciona um listener ao botão mais espaço).
button.addActionListener( new ActionListener()
{ Adiciono um listener para algo
public void actionPerformed (ActionEvent e) acontecer quando ele for
{ pressionado.
//Modifica o texto do título
JOptionPane. showMessageDialog(null,
userNameTxt .getText() + " tem " + ageTxt.getText() +
"anos");
}
});

//Adiciona o botão ao panel


panel.add(button , constr);
ONEDAYCODE.COM
//Adiciona o painel ao frame
frame.add(panel) ;

/FUNCIONAMENTO
frame.setSize( 400, 200);
frame.setLocationRelativeTo( null);
frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
frame.setVisible( true);
}
} Finaliza adicional o painel ao
frame.

Define o tamanho da tela.

Faz a janela abrir no centro.

Faz com que quando fecha a


janela, fecha a execução do
programa.

Deixa o código visível.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy