Curso Java Básico - Aula02

380 visualizações

Publicada em

Slide do Curso de Java Básico

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
380
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Curso Java Básico - Aula02

  1. 1. Java Básico Aula 02 Natanael Fonseca - Arquiteto de Software
  2. 2. Ementa • Controle de Fluxo e Arrays; • Introdução a criação de classes;
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 28. Fim da Segunda Aula Obrigado !

×