Passagem de Parâmetros e Modularização com Vetores

Transcrição

Passagem de Parâmetros e Modularização com Vetores
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Passagem de Parâmetros e
Modularização com Vetores
Profa. Dra. Juliana Cristina Braga
Centro de Matemática, Computação e
Cognição
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Objetivo da Aula
 Entender a diferença entre a passagem de
parâmetro de tipos primitivos para tipos de
referência em JAVA
 Entender como passar vetores como
parâmetros de métodos em JAVA
 Entender como retornar vetores de dentro de
um método em JAVA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Roteiro da Aula





Tido de dados (recordar)
Passagem de parâmetro de tipos primitivos
Passagem de parâmetro de tipos de referência
Exemplo de vetores passados como parâmetros
Exemplo do retorno de vetores
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
 Tipo primitivo:
Englobam os tipos: byte, short, int, long, char,
float, double e boolean.
 Tipo referência:
englobam os tipos compostos como vetores E
String
 Existem outros, mas para o escopo de nossa
disciplina: interessa String e Vetores
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
 Tipo primitivo:
Uma variável de tipo primitivo recebe um valor
primitivo, este valor é armazenado diretamente
no espaço de memória alocado para a variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
public class Programa {
public static void main() {
//variáveis primitivas
int a = 10;
byte b = 1;
}
}
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
 Tipo referência: na área de memória da
variável é armazenado um ponteiro para a área
de memória que está o Objeto (ex: String ,
Vetores e Matrizes)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
public class Programa {
public static void main() {
//variáveis primitivas
int v[] = new int[3];
v[0] = 1;
v[1] = 2;
v[2] = 4;
}
}
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
Observe bem a
diferença!!!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Tipo de Dados em JAVA
Essa distinção, influencia na passagem de
parâmetros dos métodos em JAVA
Vejam os exemplos
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Passagem de parâmetros em JAVA
 Para os tipos primitivos
num = a
Qual o valor de a?
a continua sendo ZERO!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
 Para os tipos de referência
vetor[] aponta
Para o mesmo
Lugar que
V[]
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
O vetor do programa principal e o vetor do parâmetro da função, apontam para o
Mesmo lugar na memória. A modificação do parâmetro afeta a variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Modularização com vetores
 Vetores são tipos de referência
 Agora que você já entendeu o comportamento
da passagem dos tipos de referência, vamos
partir para os exemplos!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Exemplo de Modularização com Vetores
MÓDULO PRINCIPAL
Contante
Global
Reusando ImprimeVetor
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Exemplo de Modularização com Vetores
MÉTODO LeVetorInt
LeVetorInt: le vetores de qualquer tamanho, recebendo
como parâmetro um vetor de inteiro.
Depende do tipo do
vetor, neste caso,
somente inteiros.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Exemplo de Modularização com Vetores
MÉTODO ImprimeVetor
ImprimeVetor: imprime vetor de qualquer tamanho,
recebendo como parâmetro um vetor de qualquer tipo
(nome do vetor)
Independe do tipo
de vetor.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Exemplo de Modularização com Vetores
MÉTODO CopiarVetorInt
CopiarVetorInt: copia os valores de dois vetores de
mesmo tamanho. Copia os valores do primeiro Vetor
para o segundo vetor.
Depende do tipo do
vetor e da ordem da
passagem do vetor
O tamanho também é
importante.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Retornando um vetor dentro de um método
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Retornando um vetor dentro de um método
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
Coisas para não esquecer
 Utilize a propriedade length para saber o
tamanho de um vetor em java (A.length)
 Os tipos primitivos são: byte, short, int, long,
char, float, double e booleano .
 Uma variável de tipo primitivo recebe um valor
primitivo, este valor é armazenado diretamente
no espaço de memória alocado para a variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Passagem de Parâmetros e Modularização com Vetores
 O vetor, por ser um tipo não primitivo, recebe
um tratamento diferente ao ser passado por
parâmetro. Sendo assim, seus valores são
alterado juntamente com as variáveis locais do
método. O mesmo acontece com uma string.
 Podemos retornar um vetor dentro de uma
função, essa é uma forma de retornar vários
valores em uma única variável

Documentos relacionados