SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Universidade Presbiteriana Mackenzie




                             Conceitos Básicos
                                 Estrutura de Dados I




       Prof. MSc. Fabricio da Silva Soares

          Faculdade de Computação e Informática
            São Paulo, 4 de agosto de 2011
Tópicos da Aula
•   Tipos abstratos de dados
•   Contiguidade física
•   Armazenamento sequencial de dados
•   Variáveis compostas homogêneas
•   Manipulação de vetores
•   Manipulação de matrizes



                    Conceitos Básicos   2
Estruturas de Dados
• As estruturas de dados têm o objetivo de
  armazenar, manipular, organizar e gerenciar
  dados na memória principal do computador
• O objetivo principal dessa disciplina é analisar
  as melhores alternativas para manipular
  eficientemente os dados de uma aplicação
  computacional


                      Conceitos Básicos              3
Estruturas de Dados
• Nesse semestre, vamos trabalhar apenas com
  as estruturas de dados lineares:
  – Listas
  – Pilhas
  – Filas
• Essas estruturas são representadas através de:
  – Estruturas contíguas (contiguidade física)
  – Estruturas encadeadas (contiguidade lógica)

                      Conceitos Básicos           4
Contiguidade Física
• As estruturas de dados contíguas armazenam
  os dados computacionais em células adjacen-
  tes na memória principal do computador
• Suas principais características:
  – Acesso direto ao dado através de um índice
  – Existe a necessidade de deslocar dados durante os
    processos de inserção e remoção de dados
  – Na maioria das vezes, a estrutura contígua contém
    um número fixo de células
                      Conceitos Básicos             5
Armazenamento Sequencial




         Conceitos Básicos   6
Tipos Abstratos de Dados
• Um Tipo Abstrato de Dado (TAD) é um modelo
  de estruturas de dados que especifica:
  – O tipo dos dados armazenados
  – As operações definidas sobre esses dados
  – Os tipos dos parâmetros dessas operações




                     Conceitos Básicos         7
Tipos Abstratos de Dados
• Dentre as principais características de um TAD,
  podemos citar que:
  – um TAD define o que cada operação faz, mas não
    como o faz
  – no Java, um TAD é modelado por uma classe
  – a modelagem de um TAD define os dados que
    serão armazenados e as operações suportadas
    pela estrutura


                     Conceitos Básicos               8
Tipos Abstratos de Dados
• Durante a construção das classes utilizadas
  nessa disciplina, vamos ter um cuidado
  especial ao escolher o tipo de dado utilizado
  por cada atributo
• O objetivo inicial é criar várias TAD (Tipos
  Abstrato de Dado) para especificar o conjunto
  de dados e de operações que podem ser
  executados sobre a estrutura manipulada

                    Conceitos Básicos             9
Tipos de dados da Linguagem Java
• Java possui duas categorias de tipos de dados:
  – Tipo Primitivo
  – Tipo de Instância ou Referência
• Tipo Primitivo
  – São tipos de dados predefinidos pela linguagem e
    correspondem a dados mais simples ou escalares
• Tipo de Instância ou Referência
  – Uma instância é um objeto do tipo definido pela
    classe
                      Conceitos Básicos                10
Tipos de dados da Linguagem Java
• Tipos primitivos suportados pela linguagem:
 Tipo                              Bits
 boolean                                1   true ou false
 char                               16
 byte                                   8
 short                              16       Números
 int                                32       Inteiros

 long                               64
 float                              32      Números em
 double                             64      ponto Flutuante


                    Conceitos Básicos                       11
Tipos de dados da Linguagem Java
• Intervalo de valores suportados pelo Java:

 Tipo                        Intervalo
 byte                        -128 ~ 127

 short                     -32.768 ~ 32.767                     Números
 int                -2.147.483.648 ~ 2.147483.647               Inteiros

 long     -922.337.203.685.475.808 ~ 922.337.203.685.475.807

 float                    -1.4e-45 ~ 3.4e38
                                                               Números em
 double                  -4.9e-324 ~ 1.7e308                   ponto Flutuante




                                Conceitos Básicos                           12
Variáveis Compostas Homogêneas
• Como declarar variáveis compostas
  homogêneas de tipo primitivo e instância
• Como instanciar uma variável composta
  homogênea
• Inicialização na declaração de uma variável
  composta homogênea
• O atributo length em vetores


                     Conceitos Básicos          13
Variáveis Compostas Homogêneas
• Variáveis compostas homogêneas são
  estruturas de dados que podem armazenar
  vários valores de um mesmo tipo de dado
  simultaneamente
  – Enquanto uma variável consegue armazenar um
    único valor por vez, utilizamos vetores para
    armazenar um conjunto de valores ao mesmo
    tempo


                     Conceitos Básicos             14
Uso de vetores na Linguagem Java
• Em Java os vetores são objetos
  – Isso significa que eles não se comportam como as
    variáveis e sim como instâncias de classes
  – Por isso, eles precisam ser declarados,
    instanciados (criados) e iniciados




                      Conceitos Básicos            15
Uso de vetores na Linguagem Java
• Os vetores (arrays unidimensionais)
  funcionam como arranjos de valores de um
  mesmo tipo de dado
  – Você pode imaginar um vetor como uma linha de
    uma tabela, composta por diversas células
  – Em cada célula é possível armazenar um valor
  – Na Linguagem Java, o primeiro índice do vetor é 0
    (zero) e o último é n-1
         [0]      [1]           [2]         …   [n-1]
         30       17            13          …    45
                        Conceitos Básicos               16
Uso de vetores na Linguagem Java
• Vamos aprender como realizar as quatro
  operações básicas com vetores:
  – Declarar
  – Instanciar
  – Iniciar
  – Consultar




                   Conceitos Básicos       17
Uso de vetores na Linguagem Java
• Declarar um vetor:
  – Podemos declarar um vetor de duas formas
    distintas, porém o resultado é o mesmo em
    ambos os casos.
     • <tipo>[] <nomeDoVetor>;
     • <tipo> <nomeDoVetor>[];
  – Exemplos:
      int[] vetor;
      int vetor[];


                       Conceitos Básicos        18
Uso de vetores na Linguagem Java
• Na Linguagem Java os vetores são objetos
  – Não basta declarar um vetor para que ele passe a
    existir
  – O nome do vetor é uma referência a posição ini-
    cial na memória onde os valores são armazenados
• A simples declaração não cria o vetor, mas
  apenas uma referência
  – Inicialmente a referência é null, ou seja, não
    aponta para nenhum lugar
                      Conceitos Básicos              19
Uso de vetores na Linguagem Java
• Instanciar um vetor:
  – Instanciar é o processo pelo qual você aloca um
    endereço de memória para um objeto
  – A instanciação é a criação do vetor
     • Instanciar um vetor significa lhe atribuir um endereço
       de memória onde ele possa armazenar seus valores
  – Sintaxe:
     • <nomeDoVetor> = new <tipo>[<posições>];
  – Exemplo:
      vetor = new int[5];

                         Conceitos Básicos                      20
Uso de vetores na Linguagem Java
• Declarar e instanciar um vetor:
  – A declaração e a instanciação de um vetor
    também podem ser feitas em uma única instrução
  – Sintaxe:
     • <tipo>[] <nomeDoVetor> = new <tipo>[<posição>];
     • <tipo> <nomeDoVetor>[] = new <tipo>[<posição>];
  – Exemplo:
      int[] vetor = new int[5];
      int vetor[] = new int[5];

                        Conceitos Básicos                21
Uso de vetores na Linguagem Java
• Iniciar um vetor:
  – A iniciação de um vetor pode ser feita posição a
    posição após sua declaração e instanciação.
  – Exemplo:
       vetor[0]   =   10;
       vetor[1]   =   50;
       vetor[2]   =   35;
       vetor[3]   =   45;
       vetor[4]   =   60;



                       Conceitos Básicos               22
Uso de vetores na Linguagem Java
• Consultar um vetor:
  – Abaixo temos a forma de como devemos consultar
    ou recuperar valores armazenados em um vetor
     int soma = vetor[0] + vetor[1] + vetor[2];
     int nota = vetor[4];
     System.out.println("Posição 3 = " + vetor[3]);




                     Conceitos Básicos            23
Uso de vetores na Linguagem Java
• Declarar, instanciar e iniciar um vetor:
  – Java possibilita ainda declarar, instanciar e iniciar
    um vetor em uma única instrução
  – Sintaxe:
     • <tipo>[] <nomeDoVetor>={<valor0>,...,<valorN>};
     • <tipo> <nomeDoVetor>[]={<valor1>,...,<valorN>};
  – Exemplo:
     • int[] vetor = {10, 50, 35, 45, 60};
     • int vetor[] = {10, 50, 35, 45, 60};

                           Conceitos Básicos                24
Uso de vetores na Linguagem Java
• Declarar, instanciar e iniciar um vetor:
  – Exemplo:
        int[] v = {32, 27, -15, 8};




                      Conceitos Básicos      25
Uso de vetores na Linguagem Java
• Detectar o tamanho de um vetor
  – Para detectar o tamanho de um vetor a
    Linguagem Java disponibiliza a propriedade length
  – Sintaxe:
     • int tamanho = notas.length;




                         Conceitos Básicos          26
Uso de matrizes na Linguagem Java
• Matrizes
  – As matrizes são arrays multidimensionais
     • Isso significa que elas podem ter duas ou mais
       dimensões
  – O uso mais comum de matrizes é para construção
    de estruturas de dados bidimensionais
     • Nesse caso, elas são usadas para armazenar valores em
       forma de linhas e colunas, tal como ocorre em uma
       tabela


                         Conceitos Básicos                 27
Uso de matrizes na Linguagem Java
• Matrizes
  – Exemplo:
   Colunas/Linhas   [0]               [1]     [2]

   [0]

   [1]

   [2]

                          Conceitos Básicos         28
Uso de matrizes na Linguagem Java
• Matrizes
  – Assim como os vetores, as matrizes também
    precisam ser:
     •   Declaradas
     •   Instanciadas
     •   Iniciadas
     •   Consultadas
  – A sintaxe para realizar estas operações com
    matrizes é similar a sintaxe utilizada nos vetores

                        Conceitos Básicos                29
Uso de matrizes na Linguagem Java
• Matrizes
  – Declarar uma matriz bidimensional:
     • <tipo>[][] <nomeDaMatriz>;
     • <tipo> <nomeDaMatriz>[][];
     • <tipo>[] <nomeDaMatriz>[];
  – Exemplo:
     • int[][] matriz;
     • int matriz[][];
     • int[] matriz[];

                         Conceitos Básicos   30
Uso de matrizes na Linguagem Java
• Matrizes
  – Instanciar uma matriz bidimensional:
     • Após a declaração da matriz é necessário instanciá-la,
       da mesma forma como é feito com vetores:
  – Sintaxe:
     • <nomeDaMatriz> = new <tipo>[<linhas>][<colunas>];
  – Exemplo:
     • matriz = new int[3][3];



                          Conceitos Básicos                     31
Uso de matrizes na Linguagem Java
• Matrizes
  – Declarar e instanciar uma matriz bidimensional:
  – Sintaxe:
     • <tipo>[][] <nomeDaMatriz> = new <tipo>[<linha>][<coluna>];
     • <tipo> <nomeDaMatriz>[][] = new <tipo>[<linha>][<coluna>];
     • <tipo>[] <nomeDaMatriz>[] = new <tipo>[<linha>][<coluna>];

  – Exemplo:
     • int[][] matriz = new int[3][3];
     • int matriz[][] = new int[3][3];
     • int[] matriz[] = new int[3][3];


                                Conceitos Básicos                   32
Uso de matrizes na Linguagem Java
• Matrizes
  – Iniciar uma matriz bidimensional:
     •   matriz[0][0] = 30;
     •   matriz[0][1] = 54;
     •   matriz[0][2] = 62;
     •   matriz[1][0] = 12;
     •   matriz[1][1] = 25;
     •   matriz[1][2] = 39;
     •   matriz[2][0] = 50;
     •   matriz[2][1] = 37;
     •   matriz[2][2] = 91;

                              Conceitos Básicos   33
Uso de matrizes na Linguagem Java
• Matrizes
  – Consultar uma matriz bidimensional:
     • int a = matriz[0][2];
     • int soma = matriz[0][0] + matriz[2][2];
     • System.out.println("matriz[1][1] = " + matriz[1][1]);




                          Conceitos Básicos                    34
Uso de matrizes na Linguagem Java
• Matrizes
  – Declarar, instanciar e iniciar uma matriz
    bidimensional:
     • Java possibilita ainda realizar a declaração, instanciação
       e iniciação de matrizes em uma única instrução
  – Por exemplo:
     • int[][] matriz = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}};
     • int matriz[][] = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}};
     • int[] matriz[] = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}};


                            Conceitos Básicos                         35
Uso de matrizes na Linguagem Java
• Detectar o tamanho da matriz
  – Para detectar o tamanho de uma matriz n-
    dimensional, o java utiliza a propriedade length
  – Sintaxe:
     • int linhas = matriz.length;
     • int colunas = matriz[0].length;




                          Conceitos Básicos            36
37
38
Imagens
http://4.bp.blogspot.com/_BGKfGPFOzZI/TPJXGSN6ODI/AAAAAAAAAQQ/K2ccsuV5Jek/s1600/2.jpg




                                                                                        39
Obrigado



  Prof. MSc. Fabricio da Silva Soares
fabricio[dot]soares[at]mackenzie[dot]br




                                          40

Weitere ähnliche Inhalte

Was ist angesagt?

Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Programando em python classes
Programando em python   classesProgramando em python   classes
Programando em python classessamuelthiago
 
Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de ArquivosArthur Emanuel
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 

Was ist angesagt? (20)

Java 02
Java 02Java 02
Java 02
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
Resumão java
Resumão javaResumão java
Resumão java
 
Java 16
Java 16Java 16
Java 16
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Programando em python classes
Programando em python   classesProgramando em python   classes
Programando em python classes
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 
Java: Manipulação de Arquivos
Java:  Manipulação  de ArquivosJava:  Manipulação  de Arquivos
Java: Manipulação de Arquivos
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
Java 13
Java 13Java 13
Java 13
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Java básico
Java básicoJava básico
Java básico
 
Java 15
Java 15Java 15
Java 15
 
Java 02
Java 02Java 02
Java 02
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Gilcimar apresentação
Gilcimar apresentaçãoGilcimar apresentação
Gilcimar apresentação
 

Andere mochten auch

Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03thomasdacosta
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosNegoTux Jean
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01thomasdacosta
 
INTERIOR DO COMPUTADOR
INTERIOR DO COMPUTADORINTERIOR DO COMPUTADOR
INTERIOR DO COMPUTADORelectricgirl
 
Arquitetura interna do computador
Arquitetura interna do computadorArquitetura interna do computador
Arquitetura interna do computadorAndleloli
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04thomasdacosta
 
EDII02 [2012.1] Introdução (Estruturas de Dados)
EDII02 [2012.1]   Introdução (Estruturas de Dados)EDII02 [2012.1]   Introdução (Estruturas de Dados)
EDII02 [2012.1] Introdução (Estruturas de Dados)KianeLedok
 
EDII02 [2012.1] Introdução (Estruturas de Dados)
EDII02 [2012.1]   Introdução (Estruturas de Dados)EDII02 [2012.1]   Introdução (Estruturas de Dados)
EDII02 [2012.1] Introdução (Estruturas de Dados)KianeLedok
 
Estrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas EstáticasEstrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas EstáticasLeinylson Fontinele
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesLeinylson Fontinele
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasLeinylson Fontinele
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.comRaul Batalha
 

Andere mochten auch (20)

Introdução à Estrutura de Dados
Introdução à Estrutura de DadosIntrodução à Estrutura de Dados
Introdução à Estrutura de Dados
 
Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03Estrutura de Dados - Aula 03
Estrutura de Dados - Aula 03
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 
INTERIOR DO COMPUTADOR
INTERIOR DO COMPUTADORINTERIOR DO COMPUTADOR
INTERIOR DO COMPUTADOR
 
Arquitetura interna do computador
Arquitetura interna do computadorArquitetura interna do computador
Arquitetura interna do computador
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04
 
EDII02 [2012.1] Introdução (Estruturas de Dados)
EDII02 [2012.1]   Introdução (Estruturas de Dados)EDII02 [2012.1]   Introdução (Estruturas de Dados)
EDII02 [2012.1] Introdução (Estruturas de Dados)
 
EDII02 [2012.1] Introdução (Estruturas de Dados)
EDII02 [2012.1]   Introdução (Estruturas de Dados)EDII02 [2012.1]   Introdução (Estruturas de Dados)
EDII02 [2012.1] Introdução (Estruturas de Dados)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Estrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas EstáticasEstrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas Estáticas
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Estrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas EstáticasEstrutura de Dados - Aula 04 - Listas Estáticas
Estrutura de Dados - Aula 04 - Listas Estáticas
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Estruturas de dados
Estruturas de dadosEstruturas de dados
Estruturas de dados
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
 

Ähnlich wie (ED1) Tópico 01 - Conceitos Básicos

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
 
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
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Eduardo Carvalho
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a ooPAULO Moreira
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929
Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929
Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929ASTRIDEDECARVALHOMAG
 
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
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4javamanrj
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosAdriano Teixeira de Souza
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)Reuel Lopes
 
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetosguest9b4c7f
 

Ähnlich wie (ED1) Tópico 01 - Conceitos Básicos (20)

Java - Básico
Java - BásicoJava - Básico
Java - Básico
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
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
 
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
 
Java20141218 19
Java20141218 19Java20141218 19
Java20141218 19
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Variaveis e-vetores
Variaveis e-vetoresVariaveis e-vetores
Variaveis e-vetores
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
 
Revisão de C# 4.0
Revisão de C# 4.0Revisão de C# 4.0
Revisão de C# 4.0
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929
Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929
Ece2d518 7bd6-4334-8ab5-7f8ac4bd4929
 
Explicando Vetores - Algoritmos
Explicando Vetores - AlgoritmosExplicando Vetores - Algoritmos
Explicando Vetores - Algoritmos
 
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
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)
 
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos2009_2Sem.POOII.Ciencia Aula2   Revisao De Classes E Objetos
2009_2Sem.POOII.Ciencia Aula2 Revisao De Classes E Objetos
 

Kürzlich hochgeladen

Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 

Kürzlich hochgeladen (20)

Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 

(ED1) Tópico 01 - Conceitos Básicos

  • 1. Universidade Presbiteriana Mackenzie Conceitos Básicos Estrutura de Dados I Prof. MSc. Fabricio da Silva Soares Faculdade de Computação e Informática São Paulo, 4 de agosto de 2011
  • 2. Tópicos da Aula • Tipos abstratos de dados • Contiguidade física • Armazenamento sequencial de dados • Variáveis compostas homogêneas • Manipulação de vetores • Manipulação de matrizes Conceitos Básicos 2
  • 3. Estruturas de Dados • As estruturas de dados têm o objetivo de armazenar, manipular, organizar e gerenciar dados na memória principal do computador • O objetivo principal dessa disciplina é analisar as melhores alternativas para manipular eficientemente os dados de uma aplicação computacional Conceitos Básicos 3
  • 4. Estruturas de Dados • Nesse semestre, vamos trabalhar apenas com as estruturas de dados lineares: – Listas – Pilhas – Filas • Essas estruturas são representadas através de: – Estruturas contíguas (contiguidade física) – Estruturas encadeadas (contiguidade lógica) Conceitos Básicos 4
  • 5. Contiguidade Física • As estruturas de dados contíguas armazenam os dados computacionais em células adjacen- tes na memória principal do computador • Suas principais características: – Acesso direto ao dado através de um índice – Existe a necessidade de deslocar dados durante os processos de inserção e remoção de dados – Na maioria das vezes, a estrutura contígua contém um número fixo de células Conceitos Básicos 5
  • 6. Armazenamento Sequencial Conceitos Básicos 6
  • 7. Tipos Abstratos de Dados • Um Tipo Abstrato de Dado (TAD) é um modelo de estruturas de dados que especifica: – O tipo dos dados armazenados – As operações definidas sobre esses dados – Os tipos dos parâmetros dessas operações Conceitos Básicos 7
  • 8. Tipos Abstratos de Dados • Dentre as principais características de um TAD, podemos citar que: – um TAD define o que cada operação faz, mas não como o faz – no Java, um TAD é modelado por uma classe – a modelagem de um TAD define os dados que serão armazenados e as operações suportadas pela estrutura Conceitos Básicos 8
  • 9. Tipos Abstratos de Dados • Durante a construção das classes utilizadas nessa disciplina, vamos ter um cuidado especial ao escolher o tipo de dado utilizado por cada atributo • O objetivo inicial é criar várias TAD (Tipos Abstrato de Dado) para especificar o conjunto de dados e de operações que podem ser executados sobre a estrutura manipulada Conceitos Básicos 9
  • 10. Tipos de dados da Linguagem Java • Java possui duas categorias de tipos de dados: – Tipo Primitivo – Tipo de Instância ou Referência • Tipo Primitivo – São tipos de dados predefinidos pela linguagem e correspondem a dados mais simples ou escalares • Tipo de Instância ou Referência – Uma instância é um objeto do tipo definido pela classe Conceitos Básicos 10
  • 11. Tipos de dados da Linguagem Java • Tipos primitivos suportados pela linguagem: Tipo Bits boolean 1 true ou false char 16 byte 8 short 16 Números int 32 Inteiros long 64 float 32 Números em double 64 ponto Flutuante Conceitos Básicos 11
  • 12. Tipos de dados da Linguagem Java • Intervalo de valores suportados pelo Java: Tipo Intervalo byte -128 ~ 127 short -32.768 ~ 32.767 Números int -2.147.483.648 ~ 2.147483.647 Inteiros long -922.337.203.685.475.808 ~ 922.337.203.685.475.807 float -1.4e-45 ~ 3.4e38 Números em double -4.9e-324 ~ 1.7e308 ponto Flutuante Conceitos Básicos 12
  • 13. Variáveis Compostas Homogêneas • Como declarar variáveis compostas homogêneas de tipo primitivo e instância • Como instanciar uma variável composta homogênea • Inicialização na declaração de uma variável composta homogênea • O atributo length em vetores Conceitos Básicos 13
  • 14. Variáveis Compostas Homogêneas • Variáveis compostas homogêneas são estruturas de dados que podem armazenar vários valores de um mesmo tipo de dado simultaneamente – Enquanto uma variável consegue armazenar um único valor por vez, utilizamos vetores para armazenar um conjunto de valores ao mesmo tempo Conceitos Básicos 14
  • 15. Uso de vetores na Linguagem Java • Em Java os vetores são objetos – Isso significa que eles não se comportam como as variáveis e sim como instâncias de classes – Por isso, eles precisam ser declarados, instanciados (criados) e iniciados Conceitos Básicos 15
  • 16. Uso de vetores na Linguagem Java • Os vetores (arrays unidimensionais) funcionam como arranjos de valores de um mesmo tipo de dado – Você pode imaginar um vetor como uma linha de uma tabela, composta por diversas células – Em cada célula é possível armazenar um valor – Na Linguagem Java, o primeiro índice do vetor é 0 (zero) e o último é n-1 [0] [1] [2] … [n-1] 30 17 13 … 45 Conceitos Básicos 16
  • 17. Uso de vetores na Linguagem Java • Vamos aprender como realizar as quatro operações básicas com vetores: – Declarar – Instanciar – Iniciar – Consultar Conceitos Básicos 17
  • 18. Uso de vetores na Linguagem Java • Declarar um vetor: – Podemos declarar um vetor de duas formas distintas, porém o resultado é o mesmo em ambos os casos. • <tipo>[] <nomeDoVetor>; • <tipo> <nomeDoVetor>[]; – Exemplos: int[] vetor; int vetor[]; Conceitos Básicos 18
  • 19. Uso de vetores na Linguagem Java • Na Linguagem Java os vetores são objetos – Não basta declarar um vetor para que ele passe a existir – O nome do vetor é uma referência a posição ini- cial na memória onde os valores são armazenados • A simples declaração não cria o vetor, mas apenas uma referência – Inicialmente a referência é null, ou seja, não aponta para nenhum lugar Conceitos Básicos 19
  • 20. Uso de vetores na Linguagem Java • Instanciar um vetor: – Instanciar é o processo pelo qual você aloca um endereço de memória para um objeto – A instanciação é a criação do vetor • Instanciar um vetor significa lhe atribuir um endereço de memória onde ele possa armazenar seus valores – Sintaxe: • <nomeDoVetor> = new <tipo>[<posições>]; – Exemplo: vetor = new int[5]; Conceitos Básicos 20
  • 21. Uso de vetores na Linguagem Java • Declarar e instanciar um vetor: – A declaração e a instanciação de um vetor também podem ser feitas em uma única instrução – Sintaxe: • <tipo>[] <nomeDoVetor> = new <tipo>[<posição>]; • <tipo> <nomeDoVetor>[] = new <tipo>[<posição>]; – Exemplo: int[] vetor = new int[5]; int vetor[] = new int[5]; Conceitos Básicos 21
  • 22. Uso de vetores na Linguagem Java • Iniciar um vetor: – A iniciação de um vetor pode ser feita posição a posição após sua declaração e instanciação. – Exemplo: vetor[0] = 10; vetor[1] = 50; vetor[2] = 35; vetor[3] = 45; vetor[4] = 60; Conceitos Básicos 22
  • 23. Uso de vetores na Linguagem Java • Consultar um vetor: – Abaixo temos a forma de como devemos consultar ou recuperar valores armazenados em um vetor int soma = vetor[0] + vetor[1] + vetor[2]; int nota = vetor[4]; System.out.println("Posição 3 = " + vetor[3]); Conceitos Básicos 23
  • 24. Uso de vetores na Linguagem Java • Declarar, instanciar e iniciar um vetor: – Java possibilita ainda declarar, instanciar e iniciar um vetor em uma única instrução – Sintaxe: • <tipo>[] <nomeDoVetor>={<valor0>,...,<valorN>}; • <tipo> <nomeDoVetor>[]={<valor1>,...,<valorN>}; – Exemplo: • int[] vetor = {10, 50, 35, 45, 60}; • int vetor[] = {10, 50, 35, 45, 60}; Conceitos Básicos 24
  • 25. Uso de vetores na Linguagem Java • Declarar, instanciar e iniciar um vetor: – Exemplo: int[] v = {32, 27, -15, 8}; Conceitos Básicos 25
  • 26. Uso de vetores na Linguagem Java • Detectar o tamanho de um vetor – Para detectar o tamanho de um vetor a Linguagem Java disponibiliza a propriedade length – Sintaxe: • int tamanho = notas.length; Conceitos Básicos 26
  • 27. Uso de matrizes na Linguagem Java • Matrizes – As matrizes são arrays multidimensionais • Isso significa que elas podem ter duas ou mais dimensões – O uso mais comum de matrizes é para construção de estruturas de dados bidimensionais • Nesse caso, elas são usadas para armazenar valores em forma de linhas e colunas, tal como ocorre em uma tabela Conceitos Básicos 27
  • 28. Uso de matrizes na Linguagem Java • Matrizes – Exemplo: Colunas/Linhas [0] [1] [2] [0] [1] [2] Conceitos Básicos 28
  • 29. Uso de matrizes na Linguagem Java • Matrizes – Assim como os vetores, as matrizes também precisam ser: • Declaradas • Instanciadas • Iniciadas • Consultadas – A sintaxe para realizar estas operações com matrizes é similar a sintaxe utilizada nos vetores Conceitos Básicos 29
  • 30. Uso de matrizes na Linguagem Java • Matrizes – Declarar uma matriz bidimensional: • <tipo>[][] <nomeDaMatriz>; • <tipo> <nomeDaMatriz>[][]; • <tipo>[] <nomeDaMatriz>[]; – Exemplo: • int[][] matriz; • int matriz[][]; • int[] matriz[]; Conceitos Básicos 30
  • 31. Uso de matrizes na Linguagem Java • Matrizes – Instanciar uma matriz bidimensional: • Após a declaração da matriz é necessário instanciá-la, da mesma forma como é feito com vetores: – Sintaxe: • <nomeDaMatriz> = new <tipo>[<linhas>][<colunas>]; – Exemplo: • matriz = new int[3][3]; Conceitos Básicos 31
  • 32. Uso de matrizes na Linguagem Java • Matrizes – Declarar e instanciar uma matriz bidimensional: – Sintaxe: • <tipo>[][] <nomeDaMatriz> = new <tipo>[<linha>][<coluna>]; • <tipo> <nomeDaMatriz>[][] = new <tipo>[<linha>][<coluna>]; • <tipo>[] <nomeDaMatriz>[] = new <tipo>[<linha>][<coluna>]; – Exemplo: • int[][] matriz = new int[3][3]; • int matriz[][] = new int[3][3]; • int[] matriz[] = new int[3][3]; Conceitos Básicos 32
  • 33. Uso de matrizes na Linguagem Java • Matrizes – Iniciar uma matriz bidimensional: • matriz[0][0] = 30; • matriz[0][1] = 54; • matriz[0][2] = 62; • matriz[1][0] = 12; • matriz[1][1] = 25; • matriz[1][2] = 39; • matriz[2][0] = 50; • matriz[2][1] = 37; • matriz[2][2] = 91; Conceitos Básicos 33
  • 34. Uso de matrizes na Linguagem Java • Matrizes – Consultar uma matriz bidimensional: • int a = matriz[0][2]; • int soma = matriz[0][0] + matriz[2][2]; • System.out.println("matriz[1][1] = " + matriz[1][1]); Conceitos Básicos 34
  • 35. Uso de matrizes na Linguagem Java • Matrizes – Declarar, instanciar e iniciar uma matriz bidimensional: • Java possibilita ainda realizar a declaração, instanciação e iniciação de matrizes em uma única instrução – Por exemplo: • int[][] matriz = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}}; • int matriz[][] = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}}; • int[] matriz[] = {{30, 54, 62}, {12, 25, 39}, {50, 37, 91}}; Conceitos Básicos 35
  • 36. Uso de matrizes na Linguagem Java • Detectar o tamanho da matriz – Para detectar o tamanho de uma matriz n- dimensional, o java utiliza a propriedade length – Sintaxe: • int linhas = matriz.length; • int colunas = matriz[0].length; Conceitos Básicos 36
  • 37. 37
  • 38. 38
  • 40. Obrigado Prof. MSc. Fabricio da Silva Soares fabricio[dot]soares[at]mackenzie[dot]br 40