SlideShare una empresa de Scribd logo
1 de 28
Java Básico
Aula 02
Natanael Fonseca - Arquiteto de Software
Ementa
• Controle de Fluxo e Arrays;
• Introdução a criação de classes;
Arrays
São estruturas de dados capazes de representar uma coleção
de variáveis de um mesmo tipo.
Sintaxe:
<tipoElemento>[] <nomeVariavel>;
ou
<tipoElemento> <nomeVariavel>[];
Exemplo:
int[] umArray;
Int umArray[];
Arrays 3
Caracteristicas
• Todo array é uma variável do tipo Reference;
• Quando declarado em escopo local deve ser inicializado
antes de seu uso;
• Quando declarado fora de um método será inicializado
como null;
• Todo Array é indexado a partir do 0;
• A forma mais utilizada de inicialização é usando a palavra
reservada new.
Exemplo: int[] umArray = new int[5];
Arrays 4
Valores de Inicialização
• Ao declarar um array e inicializa-lo utilizando a palavra
reservada new, todos os elementos do array são inicializados
seguindo a seguinte tabela de valores padrão:
Arrays 5
Tipo Valor de inicialização
byte 0
short 0
int 0
long 0
float 0
double 0
char ‘u0000’
boolean false
reference null
Inicializando um array
Segue alguns exemplos:
• Int[] umArray = new[5];
umArray[0] = 1;
umArray[1] = 0;
umArray[2] = -1;
umArray[3] = 19;
umArray[4] = 2;
• int[] umArray = {1,0,-1,19,2};
Arrays 6
Iterando por um Array
Utilizando um loop for:
class Principal{
public static void main(String[] args){
float[] teste = { 1F, 2.5F, 3F, 4.12F, 5.6F};
for( int i = 0; i< teste.length;i++ ){
System.out.println( “[ ” + teste[i] + “ ]” );
}
}
}
Arrays 7
Arrays Bidimensionais
[0] *
[1] *
[2] *
Arrays 8
Java não tem um estrutura especial para representar arrays de
duas dimensões, no entanto, podemos representar um array
bidimensional declarando um array composto por outros arrays.
Exemplo:
Int[][] array1 = new int[3][2]; [0] *
[1] *
[0] *
[1] *
[0] *
[1] *
Arrays Multidimensionais
Arrays 9
Mesmo conceito visto anteriormente, portanto, fica fácil criar
arrays das mais diversas dimensões.
Alguns exemplos:
//Declaração de um array de três dimensões
char[][][] array3 = new char[2][2][2];
//Declaração de inicialização em um único comando de um array
de três dimensões
char[][][] array4 = { {{1,1},{1,2}}, {{2,1},{2,2}}, {{3,1},{3,2}} };
Pontos Negativos dos Arrays
Arrays 10
De um modo geral, a utilização de arrays em um programa é
essencial, contudo, ainda vale mencionar alguns pontos
negativos:
• Não permite redimensionamento;
• Em se tratando de tipos primitivos, são estruturas de um tipo
só, o que dificulta sua utilização em cenários mais complexos;
• Índice 0 para o primeiro elemento pode gerar confusão;
Enhanced For
Recurso incluído na versão 1.5 do JavaSE. Considerada uma melhoria, pois melhora a
navegação dos elementos de uma coleção de objetos (Arrays, Coleções, Mapas, etc.).
Sintaxe:
for( <Object<Tipo dos dados do Array> oObjeto : array ){
}
Exemplo:
class Principal{
public static void main(String[] args){
int arr[] = {1,2,3,4};
for(int valor: arr){
System.out.println(valor);
}
}
}
Arrays 11
Método main
O método main recebe como parâmetro um array de Strings que representa
os argumentos que podem ser passados via linha de comando. Ou seja, cada
valor passado (separado por espaço) depois do nome da classe na execução
da classe e considerado um elemento do array recebido pelo método main.
Declaração :
public static void main(String[] args){}
Exemplo:
class Principal{
public static void main(String[] args){
for( String valor : args ){
System.out.println( valor );
}
}
}
Ao Rodar este programa com o comando:
java Principal param1 param2 param3
Irá imprimir
param1 param2 param3
Arrays 12
Exercício
Escreva um programa que exiba a soma dos
valores do tipo double vindos do console.
Ex: java MeuPrograma 2.3 5.4 6.5 7.8
Arrays 13
Exercício
Utilize um array bidimensional para resolver o seguinte
problema: Uma empresa tem 3 equipes de venda, sendo
que uma vez por dia cada vendedor informa ao programa
as seguintes informações:
• O número do vendedor;
• O número do produto;
• O valor total em reais desse produto vendido nesse dia;
Escreva um aplicativo que utilize a classe Scanner para ler
dos três vendedores as informações necessárias e em
seguida armazene-as no array criado. Ao final da coleta
dos dados exibe um resumo dessas informações.
Arrays 14
O que é uma Classe ?
Uma classe é definida pelo usuário pelas especificações
que a identificam.
Classe = Características + comportamentos
Como exercício, vamos pensar em possíveis classes, mas
não vamos ficar presos no básico !
Classes malucas :
Classe Eletricidade ? Classe Travesseiro ? Classe de uma
Classe ? Classe Deus ?
Introdução a criação de classes 15
O que é um Objeto ?
Uma vez definida a classe, podemos imaginar
ocorrências especificas desta, basta pensarmos
na relação modelo x instancia.
A classe Carro pode carregar características
comuns a diversos veículos existentes, mas o
que seriam os objetos/instancias ?
Ex: Golf, Vectra, Mercedez, Astra, Gol e etc.....
Introdução a criação de classes 16
Conceitos Importantes
No dia a dia é comum encontrarmos softwares que não
seguem a risca os conceitos abaixo:
• Granularidade;
• Coesão;
• Acoplamento;
Vocês conhecem algum exemplo ?
Isso se aplica apenas ao mundo Java e orientação a objeto ?
Introdução a criação de classes 17
Estrutura de uma Classe.
Como dito anteriormente, um programa em java
normalmente é composto por várias classes,
portanto, o bom entendimento deste tópico é
fundamental para o restante do curso.
Observe o exemplo abaixo que declara a classe Pessoa :
****************************************
public class Pessoa{
//Variaveis
//Construtores
//Metodos
}
****************************************
Introdução a criação de classes 18
Criando um método
Uma classe pode ter N métodos, cada método deve ser declarado
conforme sintaxe a seguir:
Sintaxe :
<modificador> <tipoRetorno> <nomemetodo>(<parametros>){
//Corpo do Método
}
Exemplo:
public class Pessoa{
public void andar(){
System.out.println(“Andando......”);
}
}
Introdução a criação de classes 19
Retorno de um método
Os métodos em Java podem retornar um valor
para o código que os chamou, As regras são:
• Utilizar a palavra reservada return seguida pelo valor a ser
retornado.
• O valor de retorno deve ser compatível com o tipo declarado
na assinatura do método;
• O valor de retorno pode ser um literal;
• O retorno pode ser obtido por meio da avaliação de uma
expressão ou até mesmo a chamada de outro método;
• Quando um método não retorna valor algum, indica-se em
sua declaração que seu tipo de retorno é void;
Introdução a criação de classes 20
Chamando um método
Para chamar um método de uma classe, você primeiramente deve criar uma
instancia daquela classe e então chamar o método a partir desta.
public Principal{
public static void main(String[] args){
Pessoa p = new Pessoa(); //Criando uma instancia da classe Pessoa
p.andar(); //Chamando método andar da classe pessoa
}
}
Introdução a criação de classes 21
Variáveis de instancia
São variáveis(atributos) declaradas dentro da declaração da classe, mas fora
do corpo das declarações de método da classe.
Quando uma classe é instanciada cada objeto mantém uma copia dos
atributos declarados na classe.
Caso não forneça um valor para a variável, esta irá receber um valor padrão.
public class Pessoa{
String nome; //variável de instancia
public void andar(){
System.out.println( “Sr.” + nome + “Andando......” );
}
}
Introdução a criação de classes 22
Modificando uma variável de instancia
Cada objeto possui sua copia da variável, portando, qualquer alteração em um
objeto não afeta o outro objeto.
public Principal{
public static void main(String[] args){
Pessoa objeto1 = new Pessoa();
objeto1.nome = “Joaozinho”;
Pessoa objeto2 = new Pessoa();
objeto2.nome = “Pedrinho”;
objeto1.andar();
objeto2.andar();
}
}
Introdução a criação de classes 23
Varargs
Introduzido no Java 5, apresenta uma maneira bastante prática para passar
inúmeros argumentos para um método.
Exemplo:
public int somar(int... x){
int res = 0;
for(int val : x ){
res +=x;
}
return res;
}
Ao chamar o método somar acima, pode-se passar n parâmetros do tipo int,
pois o Java irá converte-los em um array.
Introdução a criação de classes 24
Vale Lembrar
Em Java sempre ocorre passagem de parâmetro por cópia, isso
gera bastante confusão, principalmente quando temos variáveis
do tipo Reference.
Exercício :
Para testar este conceito, vamos criar um método que recebe
um parâmetro do tipo date e altere-o para um valor qualquer, do
método main, experimente criar uma variável local que já
possua um valor prévio. Vamos ver o que acontece com a
variável antes de depois da chamada do segundo método.
Introdução a criação de classes 25
Modificadores de Acesso
Existem basicamente 4 modificadores de acesso na linguagem Java, podendo ser aplicados em
nível de classe, método e variável.
1) Modificador padrão ( Sem modificador )
– Classes, Variáveis ou métodos definidos sem qualquer modificador são acessíveis
apenas por outra classe do mesmo pacote.
2) Privado
– Métodos, variáveis e construtores declarados como private são acessíveis somente
dentro da própria classe a qual foram declarados;
– Classes e Interfaces não podem ser privadas;
3) Publico
– Uma classe, método, construtor, interface declarado como publico pode ser acessível
de qualquer outra classe.
4) Protegido
– uma variavel, metodo e construtor declarado como protected possui um
comportamento semelhante ao modificador default, podem com um pouco menos
restritivo, uma vez que ainda podem ser acessados por subclasses que estejam
externas ao pacote(herança).
Introdução a criação de classes 26
Exercício
Crie um classe chamada Empregado com três variáveis de instancia: nome,
salário mensal e RG. Além disso cria uma segunda classe chamada Principal a
qual será responsável por ler via prompt de comando os dados de cada
empregado. Por último, crie um menu para seu software com as seguintes
opções:
• Digite 1 para inserir um novo empregado;
• Digite 2 para receber um resumo de todos os empregados cadastrados;
• Digite -1 para sair;
Introdução a criação de classes 27
Fim da Segunda Aula
Obrigado !

Más contenido relacionado

La actualidad más candente

Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)Mario Sergio
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Andre Nascimento
 

La actualidad más candente (18)

Java6
Java6Java6
Java6
 
Java5
Java5Java5
Java5
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Java2
Java2Java2
Java2
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Java8
Java8Java8
Java8
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#
 
Java 07
Java 07Java 07
Java 07
 

Destacado

Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chaveDenis Sobrenome
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)raquelcarsi
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003elliando dias
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Eduardo Carvalho
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java BasicoJoel Lobo
 

Destacado (19)

Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
 
Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)Mini Curso Java Day(Eliane Raquel)
Mini Curso Java Day(Eliane Raquel)
 
ApresentaçãO De Java
ApresentaçãO De JavaApresentaçãO De Java
ApresentaçãO De Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 

Similar a Java Arrays e Classes

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseRegis Magalhães
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#biandamakengo08
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalizeArtur Todeschini
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens PooInfogenius
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetosMateus Parente
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 

Similar a Java Arrays e Classes (20)

Aula5
Aula5Aula5
Aula5
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Aula4
Aula4Aula4
Aula4
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
Java
JavaJava
Java
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalize
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetos
 
Java básico
Java básicoJava básico
Java básico
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 

Más de Natanael Fonseca

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service MeshNatanael Fonseca
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixNatanael Fonseca
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Natanael Fonseca
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidNatanael Fonseca
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)Natanael Fonseca
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509Natanael Fonseca
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Natanael Fonseca
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografiaNatanael Fonseca
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring FrameworkNatanael Fonseca
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitaisNatanael Fonseca
 

Más de Natanael Fonseca (15)

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Java annotation
Java annotationJava annotation
Java annotation
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitais
 

Java Arrays e Classes

  • 1. Java Básico Aula 02 Natanael Fonseca - Arquiteto de Software
  • 2. Ementa • Controle de Fluxo e Arrays; • Introdução a criação de classes;
  • 3. Arrays São estruturas de dados capazes de representar uma coleção de variáveis de um mesmo tipo. Sintaxe: <tipoElemento>[] <nomeVariavel>; ou <tipoElemento> <nomeVariavel>[]; Exemplo: int[] umArray; Int umArray[]; Arrays 3
  • 4. Caracteristicas • Todo array é uma variável do tipo Reference; • Quando declarado em escopo local deve ser inicializado antes de seu uso; • Quando declarado fora de um método será inicializado como null; • Todo Array é indexado a partir do 0; • A forma mais utilizada de inicialização é usando a palavra reservada new. Exemplo: int[] umArray = new int[5]; Arrays 4
  • 5. Valores de Inicialização • Ao declarar um array e inicializa-lo utilizando a palavra reservada new, todos os elementos do array são inicializados seguindo a seguinte tabela de valores padrão: Arrays 5 Tipo Valor de inicialização byte 0 short 0 int 0 long 0 float 0 double 0 char ‘u0000’ boolean false reference null
  • 6. Inicializando um array Segue alguns exemplos: • Int[] umArray = new[5]; umArray[0] = 1; umArray[1] = 0; umArray[2] = -1; umArray[3] = 19; umArray[4] = 2; • int[] umArray = {1,0,-1,19,2}; Arrays 6
  • 7. Iterando por um Array Utilizando um loop for: class Principal{ public static void main(String[] args){ float[] teste = { 1F, 2.5F, 3F, 4.12F, 5.6F}; for( int i = 0; i< teste.length;i++ ){ System.out.println( “[ ” + teste[i] + “ ]” ); } } } Arrays 7
  • 8. Arrays Bidimensionais [0] * [1] * [2] * Arrays 8 Java não tem um estrutura especial para representar arrays de duas dimensões, no entanto, podemos representar um array bidimensional declarando um array composto por outros arrays. Exemplo: Int[][] array1 = new int[3][2]; [0] * [1] * [0] * [1] * [0] * [1] *
  • 9. Arrays Multidimensionais Arrays 9 Mesmo conceito visto anteriormente, portanto, fica fácil criar arrays das mais diversas dimensões. Alguns exemplos: //Declaração de um array de três dimensões char[][][] array3 = new char[2][2][2]; //Declaração de inicialização em um único comando de um array de três dimensões char[][][] array4 = { {{1,1},{1,2}}, {{2,1},{2,2}}, {{3,1},{3,2}} };
  • 10. Pontos Negativos dos Arrays Arrays 10 De um modo geral, a utilização de arrays em um programa é essencial, contudo, ainda vale mencionar alguns pontos negativos: • Não permite redimensionamento; • Em se tratando de tipos primitivos, são estruturas de um tipo só, o que dificulta sua utilização em cenários mais complexos; • Índice 0 para o primeiro elemento pode gerar confusão;
  • 11. Enhanced For Recurso incluído na versão 1.5 do JavaSE. Considerada uma melhoria, pois melhora a navegação dos elementos de uma coleção de objetos (Arrays, Coleções, Mapas, etc.). Sintaxe: for( <Object<Tipo dos dados do Array> oObjeto : array ){ } Exemplo: class Principal{ public static void main(String[] args){ int arr[] = {1,2,3,4}; for(int valor: arr){ System.out.println(valor); } } } Arrays 11
  • 12. Método main O método main recebe como parâmetro um array de Strings que representa os argumentos que podem ser passados via linha de comando. Ou seja, cada valor passado (separado por espaço) depois do nome da classe na execução da classe e considerado um elemento do array recebido pelo método main. Declaração : public static void main(String[] args){} Exemplo: class Principal{ public static void main(String[] args){ for( String valor : args ){ System.out.println( valor ); } } } Ao Rodar este programa com o comando: java Principal param1 param2 param3 Irá imprimir param1 param2 param3 Arrays 12
  • 13. Exercício Escreva um programa que exiba a soma dos valores do tipo double vindos do console. Ex: java MeuPrograma 2.3 5.4 6.5 7.8 Arrays 13
  • 14. Exercício Utilize um array bidimensional para resolver o seguinte problema: Uma empresa tem 3 equipes de venda, sendo que uma vez por dia cada vendedor informa ao programa as seguintes informações: • O número do vendedor; • O número do produto; • O valor total em reais desse produto vendido nesse dia; Escreva um aplicativo que utilize a classe Scanner para ler dos três vendedores as informações necessárias e em seguida armazene-as no array criado. Ao final da coleta dos dados exibe um resumo dessas informações. Arrays 14
  • 15. O que é uma Classe ? Uma classe é definida pelo usuário pelas especificações que a identificam. Classe = Características + comportamentos Como exercício, vamos pensar em possíveis classes, mas não vamos ficar presos no básico ! Classes malucas : Classe Eletricidade ? Classe Travesseiro ? Classe de uma Classe ? Classe Deus ? Introdução a criação de classes 15
  • 16. O que é um Objeto ? Uma vez definida a classe, podemos imaginar ocorrências especificas desta, basta pensarmos na relação modelo x instancia. A classe Carro pode carregar características comuns a diversos veículos existentes, mas o que seriam os objetos/instancias ? Ex: Golf, Vectra, Mercedez, Astra, Gol e etc..... Introdução a criação de classes 16
  • 17. Conceitos Importantes No dia a dia é comum encontrarmos softwares que não seguem a risca os conceitos abaixo: • Granularidade; • Coesão; • Acoplamento; Vocês conhecem algum exemplo ? Isso se aplica apenas ao mundo Java e orientação a objeto ? Introdução a criação de classes 17
  • 18. Estrutura de uma Classe. Como dito anteriormente, um programa em java normalmente é composto por várias classes, portanto, o bom entendimento deste tópico é fundamental para o restante do curso. Observe o exemplo abaixo que declara a classe Pessoa : **************************************** public class Pessoa{ //Variaveis //Construtores //Metodos } **************************************** Introdução a criação de classes 18
  • 19. Criando um método Uma classe pode ter N métodos, cada método deve ser declarado conforme sintaxe a seguir: Sintaxe : <modificador> <tipoRetorno> <nomemetodo>(<parametros>){ //Corpo do Método } Exemplo: public class Pessoa{ public void andar(){ System.out.println(“Andando......”); } } Introdução a criação de classes 19
  • 20. Retorno de um método Os métodos em Java podem retornar um valor para o código que os chamou, As regras são: • Utilizar a palavra reservada return seguida pelo valor a ser retornado. • O valor de retorno deve ser compatível com o tipo declarado na assinatura do método; • O valor de retorno pode ser um literal; • O retorno pode ser obtido por meio da avaliação de uma expressão ou até mesmo a chamada de outro método; • Quando um método não retorna valor algum, indica-se em sua declaração que seu tipo de retorno é void; Introdução a criação de classes 20
  • 21. Chamando um método Para chamar um método de uma classe, você primeiramente deve criar uma instancia daquela classe e então chamar o método a partir desta. public Principal{ public static void main(String[] args){ Pessoa p = new Pessoa(); //Criando uma instancia da classe Pessoa p.andar(); //Chamando método andar da classe pessoa } } Introdução a criação de classes 21
  • 22. Variáveis de instancia São variáveis(atributos) declaradas dentro da declaração da classe, mas fora do corpo das declarações de método da classe. Quando uma classe é instanciada cada objeto mantém uma copia dos atributos declarados na classe. Caso não forneça um valor para a variável, esta irá receber um valor padrão. public class Pessoa{ String nome; //variável de instancia public void andar(){ System.out.println( “Sr.” + nome + “Andando......” ); } } Introdução a criação de classes 22
  • 23. Modificando uma variável de instancia Cada objeto possui sua copia da variável, portando, qualquer alteração em um objeto não afeta o outro objeto. public Principal{ public static void main(String[] args){ Pessoa objeto1 = new Pessoa(); objeto1.nome = “Joaozinho”; Pessoa objeto2 = new Pessoa(); objeto2.nome = “Pedrinho”; objeto1.andar(); objeto2.andar(); } } Introdução a criação de classes 23
  • 24. Varargs Introduzido no Java 5, apresenta uma maneira bastante prática para passar inúmeros argumentos para um método. Exemplo: public int somar(int... x){ int res = 0; for(int val : x ){ res +=x; } return res; } Ao chamar o método somar acima, pode-se passar n parâmetros do tipo int, pois o Java irá converte-los em um array. Introdução a criação de classes 24
  • 25. Vale Lembrar Em Java sempre ocorre passagem de parâmetro por cópia, isso gera bastante confusão, principalmente quando temos variáveis do tipo Reference. Exercício : Para testar este conceito, vamos criar um método que recebe um parâmetro do tipo date e altere-o para um valor qualquer, do método main, experimente criar uma variável local que já possua um valor prévio. Vamos ver o que acontece com a variável antes de depois da chamada do segundo método. Introdução a criação de classes 25
  • 26. Modificadores de Acesso Existem basicamente 4 modificadores de acesso na linguagem Java, podendo ser aplicados em nível de classe, método e variável. 1) Modificador padrão ( Sem modificador ) – Classes, Variáveis ou métodos definidos sem qualquer modificador são acessíveis apenas por outra classe do mesmo pacote. 2) Privado – Métodos, variáveis e construtores declarados como private são acessíveis somente dentro da própria classe a qual foram declarados; – Classes e Interfaces não podem ser privadas; 3) Publico – Uma classe, método, construtor, interface declarado como publico pode ser acessível de qualquer outra classe. 4) Protegido – uma variavel, metodo e construtor declarado como protected possui um comportamento semelhante ao modificador default, podem com um pouco menos restritivo, uma vez que ainda podem ser acessados por subclasses que estejam externas ao pacote(herança). Introdução a criação de classes 26
  • 27. Exercício Crie um classe chamada Empregado com três variáveis de instancia: nome, salário mensal e RG. Além disso cria uma segunda classe chamada Principal a qual será responsável por ler via prompt de comando os dados de cada empregado. Por último, crie um menu para seu software com as seguintes opções: • Digite 1 para inserir um novo empregado; • Digite 2 para receber um resumo de todos os empregados cadastrados; • Digite -1 para sair; Introdução a criação de classes 27
  • 28. Fim da Segunda Aula Obrigado !