Técnicas de Programação II

Documentos relacionados
AULA 6 - ARRAYS. Array de 10 elementos

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Variáveis Compostas. Leonardo Gresta Paulino Murta.

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo

Prof. Rogério Rocha 1

Arrays e Marizes. João Paulo Q. dos Santos

Linguagem de Programação III

Agenda. O que é um array. Declaração de um array. Instanciação de um array. Acessando os elementos de um array. O tamanho de um array (length)

Variáveis Compostas. Vanessa Braganholo

Introdução à Programação

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

Aula 9 Matrizes Cleverton Hentz

Vetores Unimensionais

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Técnicas de Programação II

Lição 7 Array em Java

Arrays. int idade1; int idade2; int idade3; int idade4; int[] idades;

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Programação: Vetores

Vetores Unimensionais

Programação Java Aula 04

Programação Estruturada e Orientada a Objetos REVISÃO

Algoritmia e Programação APROG. Vetores. Algoritmia e Java. Nelson Freire (ISEP DEI-APROG 2012/13) 1/32

Vetores Unimensionais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Variáveis Compostas. Leonardo Gresta Paulino Murta.

ESTRUTURA DE DADOS LISTAS LINEARES

Conversão de Tipos e Arrays

Programação Orientada a Objetos para Redes de Computadores

Array em Java. Figura 1 - Exemplo de um array de inteiros

INF 1007 Programação II

Programação Estruturada. Arrays

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Programação Orientada a Objetos para Redes de Computadores. Arrays. Arrays

Lógica de Programação e Algoritmos

ALOCAÇÃO DINÂMICA DE MEMÓRIA

INF 1007 Programação II

CURSO DE POO COM JAVA

Estruturas de Condição, Iteração, Arrays e Enumareção

INF 1007 Programação II

Prof. Jesus José de Oliveira Neto

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Sexta aula

JAVA COLLECTIONS API: LISTAS

Interfaces POO. Prof. Marcio Delamaro

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Aula 06 Introdução à Programação Matrizes

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Arrays em Java. Introdução à Programação. Bruno Cartaxo

Algoritmos II prof. Daniel Oliveira

Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia

JAVA. Professor: Bruno Toledo

Introdução à Programação

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem C Vetores, Matrizes e Strings

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Variáveis primitivas e Controle de fluxo

Java Standard Edition (JSE)

Escola Náutica Infante Dom Henrique. Grupo I (7.5 valores)

Ponteiros de Variáveis

Programação I Matrizes e Strings. Prof. Carlos Alberto

Programação Estruturada e Orientada a Objetos. Estruturas Aninhadas

Aula 8 Vetores Cleverton Hentz

Estruturas de dados funcionais

Listas (Parte 1) Túlio Toffolo BCC202 Aula 09 Algoritmos e Estruturas de Dados I

Introdução à Computação

Notas de Aula 07: vetores de objetos e coleções

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 4: Listas Estáticas e Dinâmicas

Programação de Computadores II TCC /Turma A 1

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Programação Estruturada Prof. Rodrigo Hausen Ponteiros e Passagem de Parâmetros

Construtores e Especificadores de Acesso

Algoritmos e Estrutura de Dados Aula 02 Listas em Python

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

String. Demonstrar a utilização e manipulação com os métodos da classe String.

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Introdução ao Java. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

INF1005: Programação 1. Vetores. 02/05/10 (c) Paula Rodrigues 1

Aula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler

Java Como Programar, 8/E

System.out.print("e"); O programa acima irá imprimir: "b". O programa acima irá imprimir: "bd". O programa acima irá imprimir: "e".

Linguagem de Programação II Implementação

Linguagem de Programação III

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Conceitos básicos de Java AULA 02

Projeto e Análise de Algoritmos

Transcrição:

Técnicas de Programação II Aula 04 Arrays Edirlei Soares de Lima <edirlei.lima@uniriotec.br>

Arrays Array é um mecanismo que nos permite armazenar um conjunto de valores na memória do computador. Em Java, arrays são objetos. Consequentemente, uma variável do tipo array é na verdade uma referência para um objeto. int[] myarray;

Arrays Declaração Ao declararmos um array em Java: int[] myarray; Nenhuma área de memória para o array é alocada, apenas uma referência para um array de inteiros é definida; Nenhuma referência ao tamanho do array é feita na declaração; Apenas na criação do array é que iremos alocar espaço em memória e, consequentemente, iremos definir o seu tamanho.

Arrays Criação Antes de utilizar um array, ele deve ser explicitamente criado: myarray = new int[10]; Podemos declarar e criar um array: int[] myarray = new int[10]; Podemos declarar, criar e inicializar um array: int[] myarray = new int[]{10, 20, 30, 40;

Arrays Incialização Os elementos do vetor podem ser acessados através dos seus índices: int[] myarray = new int[10]; myarray[0] = 5; myarray[1] = 11; myarray[4] = 0; myarray[9] = 3;

Arrays Inicialização int[] myarray = new int[3]; myarray myarray[0] = 23; myarray[1] = 0; myarray[2] = 52; myarray

Arrays de Referências para Objetos String[] strvet = new String[2]; strvet strvet[0] = new String("Verde"); strvet strvet[1] = new String("Amarelo"); strvet

Tamanho de um Array Em Java, arrays são objetos. A propriedade length de um array representa o seu tamanho: int[] vet = new int[]{10, 20, 30, 40; System.out.println("Tamanho: " + vet.length); for (x = 0; x < myarray.length; x++) { System.out.println(myArray[x]);

Arrays Foreach A linguagem Java também fornece uma outra versão do comando "for" para iterar sobre coleções de objetos: int[] vet = new int[]{10, 20, 30, 40; for (int elem : vet) System.out.println(elem); String[] vet = new String[]{"João", "Maria", "Pedro"; for (String str : vet) System.out.println(str);

Arrays e Funções É possível passar arrays por parâmetro para funções: public static void exibearray(int[] vet) { for (int val : vet) { System.out.println(val); public static void main(string[] args) { int[] myarray = new int[]{1,2,3,4,5,6; exibearray(myarray);

Arrays e Funções Funções podem alterar o conteúdo de arrays: public static void dobraarray(int[] vet) { int x; for (x = 0; x < vet.length; x++) { vet[x] = vet[x] * 2; public static void main(string[] args) { int[] myarray = new int[]{1,2,3,4,5,6; dobraarray(myarray); exibearray(myarray);

Arrays e Funções Funções podem retornar arrays: public static int[] maiores(int[] vet, int limite){ int[] vet_maiores; int cont = 0, i = 0; for (int val : vet){... if (val > limite) cont++; //conta total de elementos maiores vet_maiores = new int[cont]; for (int val : vet){ if (val > limite){ vet_maiores[i] = val; i++; return vet_maiores;

Arrays e Funções... public static void main(string[] args) { int[] myarray1 = new int[]{1,2,3,4,5,6; int[] myarray2; myarray2 = maiores(myarray1, 3); exibearray(myarray2);

Arrays Multidimensionais Em Java, arrays podem ter mais de uma dimenção: int[][] mat; 3 1 8 6 1 7 2 5 4 9 1 9 3 1 2 5 8 6 7 3 6 4 9 2 1

Arrays Multidimensionais Criação Da mesma forma que arrays simples, arrays multidimensionais também devem ser explicitamente criados: int[][] mat = new int[3][3]; Eles também podem ser criados e inicializados: int[][] mat = new int[][]{{10,20,30,40, {40,50,60,70;

Arrays Multidimensionais Os elementos do array multidimensional podem ser acessados através dos seus índices: int[][] mat = new int[3][3]; mat[0][0] = 5; mat[0][2] = 1; mat[2][1] = 8;? 5?? 1????? 8?

Arrays Multidimensionais Java permite a criação de arrays com dimensões internas diferentes: String[][] mat = new String[3][]; mat[0] = new String[3]; mat[1] = new String[5]; mat[2] = new String[2]; mat??????????

Arrays Multidimensionais Foreach Para percorrer um array de múltiplas dimensões internas de tamanhos diferentes é possível usar o for para iterar sobre as coleções de objetos: for (String[] vet : mat) { for (String str : vet) { System.out.println(str);

Classe Utilitária Arrays A classe utilitária Arrays (java.util.arrays) fornece vários métodos para a manipulação de arrays: fill : preenche um vetor com um determinado valor; equals : compara se o conteúdo de dois arrays é exatamente igual; copyof : copia o conteúdo de um array para outro array; binarysearch : busca por um determinado elemento dentro de um array; sort : ordena um array;

Classe Arrays Método fill Preencher um vetor de inteiros com zeros: int[] myarray = new int[50]; Arrays.fill(myArray, 0); Preencher um vetor de Strings com strings vazias: String[] myarray = new String[50]; Arrays.fill(myArray, "");

Classe Arrays Método equals Comparar dois vetores de inteiros: int[] myarray1 = new int[]{1,2,3,4,5; int[] myarray2 = new int[]{1,2,3,4,5; if (Arrays.equals(myArray1, myarray2)) System.out.println("São iguais!"); else System.out.println("Não são iguais!");

Classe Arrays Método copyof Copiar o conteúdo de um array para outro: int[] myarray1 = new int[]{1,2,3,4,5; int[] myarray2 = new int[5]; myarray2 = Arrays.copyOf(myArray1, myarray1.length); Copiar o conteúdo de um array para outro em um intervalo: int[] myarray1 = new int[]{1,2,3,4,5; int[] myarray2 = new int[5]; myarray2 = Arrays.copyOfRange(myArray1, 2, 4);

Classe Arrays Método binarysearch Busca binária em um array: Atenção: o array precisa estar ordenado. int[] myarray1 = new int[]{1,2,3,4,5,6,7,8,9,10; int idx = Arrays.binarySearch(myArray1, 9); if (idx > -1) System.out.println("Valor encontrado no indice: " + idx); String[] nomes = new String[]{"João", "Maria", "Paulo", "Pedro"; int idx = Arrays.binarySearch(nomes, "Maria"); if (idx > -1) System.out.println("Valor encontrado no indice: " + idx);

Classe Arrays Método sort Ordenar um vetor de inteiros: int[] myarray1 = new int[]{2,9,6,7,82,3,1,4,56,4,8; Arrays.sort(myArray1); for (int val : myarray1) System.out.println(val); Ordenar um vetor de Strings: String[] nomes = new String[]{"Pedro", "Antonio", "Joao", "Maria"; Arrays.sort(nomes); for (String str : nomes) System.out.println(str);

Exercícios Lista de Exercícios 05 Arrays http://uniriodb2.uniriotec.br