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



Documentos relacionados
Programação de Computadores II TCC Turma A-1

Desenvolvimento Web TCC Turma A-1

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

Programação de Computadores II TCC

Programação de Computadores II TCC Profs.: Anselmo Montenegro (1) & Marcos Lage (2) (1) (2)

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

Introdução à Linguagem Java

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Linguagens de. Aula 02. Profa Cristiane Koehler

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Programação de Computadores - I. Profª Beatriz Profº Israel

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Sintaxe Básica de Java Parte 1

Java. Marcio de Carvalho Victorino

A Linguagem Java. Alberto Costa Neto DComp - UFS

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação Introdução a Linguagem Java

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

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

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40

CURSO DE PROGRAMAÇÃO EM JAVA

JAVA. Fabrício de Sousa

FBV - Linguagem de Programação II. Um pouco sobre Java

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

UNIVERSIDADE FEDERAL DO PARANÁ

JavaScript 2.0X X

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

insfcanceof new public switch transient while byte continue extends for int null

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

AULA Uma linguagem de programação orientada a objetos

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

2 Orientação a objetos na prática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação?

Capítulo 1. Introdução ao Java. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Introdução a Linguagem

Relevância e Motivação. Programação Orientada a Objetos Utilizando Java. Qualidade do Software. Objetivos. Cancelamentos.

Prof. Esp. Adriano Carvalho

P n o t n ifíci c a a Un U i n ve v r e si s da d d a e d e C a C t a ól ó ica c a d o d o R i R o o d e d e J a J n a e n i e ro o PU P C U -Ri R o

Programação Orientada a Objetos

Objetivos do Curso. Você será capaz de:

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Java 1 visão geral. Vitor Vaz da Silva

Programação Orientada a Objetos (DPADF 0063)

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Universidade Federal de Uberlândia

UNIVERSIDADE FEDERAL DO PARANÁ

Organização de programas em Java. Vanessa Braganholo

Java Linguagem de programação

Programação de computadores II

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

PROGRAMA DE DISCIPLINA

Orientação a Objetos

3 Classes e instanciação de objectos (em Java)

Algoritmos e Programação

Histórico Et Estrutura t de um programa Java Sintaxe básica de Java. Reinaldo Gomes reinaldo@cefet-al.br. O que é a linguagem Java?

JSP - ORIENTADO A OBJETOS

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Capítulo 4. Packages e interfaces

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

Unidade IV: Ponteiros, Referências e Arrays

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Java Linguagem de programação

BSI UFRPE Prof. Gustavo Callou

Noções sobre Objetos e Classes

Lógica de Programação

Sobre o Professor Dr. Sylvio Barbon Junior

Introdução à linguagem

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Programação por Objectos. Java

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Java Como Programar, 8/E

Programação Orientada a Objetos em Java

Componentes da linguagem C++

Um pouco do Java. Prof. Eduardo

Programação por Objectos. Java

A Linguagem Java. Apresentação. Java. A Linguagem da Internet

Programação de Computadores - I. Profª Beatriz Profº Israel

Padrão Arquitetura em Camadas

Programação Básica em Arduino Aula 2

Sistemas Distribuídos

MsC. João Maria MsC. Liviane Melo

PROGRAMA DE DISCIPLINA

Manual do Desenvolvedor Criptografia de Arquivos do WebTA

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Transcrição:

Programação de Computadores II TCC-00.174/Turma A-1A Professor Leandro A. F. Fernandes http://www.ic.uff.br/~laffernandes Conteúdo do: : Introdução ao Java Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage com contribuições dos profs. Leandro A. F. Fernandes e Luiz AndréP. P. Leme

Histórico 1991 Início em 1991: Pequeno grupo de projeto da Sun Microsystems,, denominado Green. O projeto visava o desenvolvimento de software para uma ampla variedade de dispositivos de rede e sistemas embutidos. James Gosling,, decide pela criação de uma nova linguagem de programação que fosse simples, portátil til e fácil f de ser programada. Surge a linguagem interpretada Oak (carvalho em inglês), mais tarde rebatizada como Java devido a problemas de direitos autorais. 28/8/2014 Programação de Computadores II 2

Histórico 1991 1994 Mudança a de foco para aplicação na Internet. (visão:: um meio popular de transmissão de texto, som, vídeo). v Projetada para transferência de conteúdo de mídia m em redes com dispositivos heterogêneos. Também m possui capacidade de transferir comportamentos,, junto com o conteúdo. (HTML por si sós não faz isso) Em 1994: Jonathan Payne e Patrick Naughton desenvolveram o programa navegador WebRunner. 28/8/2014 Programação de Computadores II 3

Histórico 1991 1994 1995 No SunWorld 95 a Sun apresenta formalmente o navegador HotJava e a linguagem Java. Poucos meses depois a Netscape Corp. lança a o seu navegador capaz de fazer download e executar pequenos códigos c Java chamados de Applets. Imediatamente a Sun decide disponibilizar o Java gratuitamente para a comunidade de desenvolvimento de softwares e assim surge o Java Developer s s Kit 1.0 (JDK 1.0). Inicialmente: Sun Solaris e Microsoft Windows 95/NT. Progressivamente surgiram kits para outras plataformas como Linux e Apple Macintosh. 28/8/2014 Programação de Computadores II 4

Características da Linguagem Java 28/8/2014 Programação de Computadores II 5

Características da Linguagem Java Simples e orientada a objetos É de fácil aprendizado. Puramente orientada a objetos: Permite o desenvolvimento de sistemas de uma forma mais natural. 28/8/2014 Programação de Computadores II 6

Características da Linguagem Java Distribuída Projetada para trabalhar em ambiente de redes. Não é uma linguagem para programação distribuída da: Oferece bibliotecas para facilitar o processo de comunicação ão. 28/8/2014 Programação de Computadores II 7

Características da Linguagem Java É uma linguagem interpretada e existe uma grande discussão quanto a sua performance. Fato: : As melhorias na tecnologia de compilação, tem aproximado o desempenho ao de linguagens como C e C++. Ex.: : Benchmarks mostram melhor desempenho em alguns casos e pior em outros, caracterizando empate técnicot cnico. Alta Performance http://blog.cfelde.com/2010/06/c-vs-java-performance/ 28/8/2014 Programação de Computadores II 8

Características da Linguagem Java As seguintes características contribuem para tornar a linguagem mais robusta e segura: É fortemente tipada; Não possui aritmética tica de ponteiros; Possui mecanismo de coleta de lixo; Possui verificação rigorosa em tempo de compilação; Possui mecanismos para verificação em tempo de execução ão; Possui gerenciador de segurança. Robusta e Segura Segurança: : possui mecanismos de segurança a que evitam operações no sistema de arquivos da máquina m alvo. 28/8/2014 Programação de Computadores II 9

Características da Linguagem Java Interpretada, Neutra, Portável Bytecodes executam em qualquer máquina m que possua uma JVM, permitindo que o código c em Java possa ser escrito independente da plataforma. A característica de ser neutra em relação à arquitetura permite uma grande portabilidade. 28/8/2014 Programação de Computadores II 10

Características da Linguagem Java Interpretada, Neutra, Portável myprogram.java Interpretador 0010110100 compilador myprogram.class My Program 28/8/2014 Programação de Computadores II 11

Características da Linguagem Java Interpretada, Neutra, Portável myprogram.java Java API Java Virtual Machine Hardware-Based Plataform 28/8/2014 Programação de Computadores II 12

Características da Linguagem Java Interpretada, Neutra, Portável compilador 28/8/2014 Programação de Computadores II 13

O Ambiente Java ByteCodes J V M J C J V M J C J V M J C J V M J C Win95/98 WinNT Linux Solaris 28/8/2014 Programação de Computadores II 14

O Ambiente Java Editor.class Carregador ByteCodes.java Compilador ByteCodes Verificador Interpretador 28/8/2014 Programação de Computadores II 15

Características da Linguagem Java Dinâmica e Multithread Resolução de referências em tempo de execução: flexibilidade performance. suporte para múltiplas threads de execução ão,, que podem tratar diferentes tarefas concorrentemente. 28/8/2014 Programação de Computadores II 16

O Ambiente de Desenvolvimento Java possui um ambiente de desenvolvimento de software denominado Java SDK. (Software Development Kit antigamente denominado JDK). Não é um ambiente integrado de desenvolvimento, não oferecendo editores ou ambiente de programação. O Java SDK contém m um amplo conjunto de APIs. (Application Programing Interface). 28/8/2014 Programação de Computadores II 17

O Ambiente de Desenvolvimento Algumas ferramentas do Java SDK: o compilador Java (javac) o interpretador de aplicações Java (java) ointerpretador de applets Java (appletsviewer) javadoc (um gerador de documentação para programas Java) Jar (o manipulador de arquivos comprimidos no formato Java Archive) jdb (um depurador de programas Java) etc. 28/8/2014 Programação de Computadores II 18

Packages Os arquivos Java serão armazenados fisicamente em uma pasta. No nosso exemplo ao lado estes arquivos estão no diretório rio jplay. Cada arquivo representa uma classe Java. Com o uso de packages podemos organizar de forma física f algo lógico. l (um grupo de classes em comum) 28/8/2014 Programação de Computadores II 19

Packages Para indicar que as definições de um arquivo fonte Java fazem parte de um determinado pacote, a primeira linha de código deve ser a declaração de pacote: package nomedopacote; Caso tal declaração não esteja presente, as classes farão parte do pacote default,, que está mapeado para o diretório rio corrente. 28/8/2014 Programação de Computadores II 20

Packages Referenciando uma classe de um pacote no código c fonte: import nomedopacote.xyz ou simplesmente import nomedopacote.* Com isso a classe Xyz pode ser referenciada sem o prefixo nome_do_pacote no restante do código. c A única exceção refere-se às s classes do pacote java.lang. 28/8/2014 Programação de Computadores II 21

Classpath O ambiente Java normalmente utiliza a especificação de uma variável vel de ambiente CLASSPATH. CLASSPATH define uma lista de diretórios rios que contém m os arquivos de classes Java. No exemplo anterior: : se o arquivo Xyz.class estiver no diretório rio /home/java/nomedopacote,, então o diretório rio /home/java deve estar incluído lista de diretórios rios definida por CLASSPATH. 28/8/2014 Programação de Computadores II 22

Tipos Primitivos Organização da memória Bit: menor unidade armazena 0 ou 1 Byte: seqüência de 8 bits 0 1 2 3 4 5 6 7 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 2 0 1 1 1 0 0 1 0 3 0 0 0 0 0 0 0 0 2 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 3 0 0 0 0 0 0 0 0 28/8/2014 Programação de Computadores II 23

Tipos Primitivos Bits Valor 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 Byte Valor 00000000 0 00000001 1 00000010 2 00000011 3 11111101 253 11111110 254 11111111 255 28/8/2014 Programação de Computadores II 24

Tipos Primitivos Bits Valor 011 3 010 2 001 1 000 0 101-1 110-2 111-3 O valor de uma posição de memória depende do tipo que está armazenado lá! Com sinal 28/8/2014 Programação de Computadores II 25

Tipos Primitivos 123.456 =.123456 10 mantissa 3 expoente IEEE standart 754 Floating Point 31 30 23 22 0 s eeeeeeee mmmmmmmm mmmmmm Precisão simples (float) 63 62 52 51 0 s eeee eeee mmmmmmmmm mmmmmm Precisão dupla (double) 28/8/2014 Programação de Computadores II 26

Tipos Primitivos 111 105 32 61 110 61 0 'o' 'i' ' ' 'a' 'n' 'a' \0' "oi ana" 28/8/2014 Programação de Computadores II 27

Tipos Primitivos 28/8/2014 Programação de Computadores II 28

Tipos Primitivos Podem ser agrupados em quatro categorias: Tipos Inteiros: Byte, Inteiro Curto, Inteiro e Inteiro Longo. Tipos Ponto Flutuante: Ponto Flutuante Simples, Ponto Flutuante Duplo. Tipo Caractere: Caractere. Tipo Lógico: L Booleano. 28/8/2014 Programação de Computadores II 29

Tipos Primitivos Inteiros Tipos de Dados Inteiros Faixas byte short int long -128 a +127-32.768 a +32.767-2.147.483.648 a +2.147.483.647-9.223.372.036.854.775.808 a +9.223.372.036.854.775.807 O valor default de todos é0 (zero). 2012.1 Programação de Computadores II 30

Tipos Primitivos Ponto Flutuante Tipos de Dados em Ponto Flutuante float double Faixas de ± 1.40282347 x 10-45 até ± 3.40282347 x 10 +38 de ± 4.94065645841246544 x 10-324 até ± 1.79769313486231570 x 10 +308 Exemplos: 1.44E6 éequivalente a 1.44 x 10 6 = 1.440.000. 3.4254e-2 2 representa 3.4254 x 10-2 =0.034254. O valor default de ambos é0 (zero). 28/8/2014 Programação de Computadores II 31

Tipos Primitivos Caractere O tipo char permite a representação de caracteres individuais. Ocupa 16 bits internamente permitindo até 32.768 caracteres diferentes. O valor default é0 (zero). Caracteres de controle e outros caracteres cujo uso éreservado pela linguagem devem ser usados precedidos por \. 28/8/2014 Programação de Computadores II 32

Tipos Primitivos Caractere \b backspace \t Tabulação horizontal \n newline \f form feed \r carriage return \ aspas \ aspas simples \\ contrabarra \xxx \uxxxx o caracter com código c de valor octal xxx, que pode assumir valores entre 000 e 377. o caráter com código c de valor hexadecimal xxxx, que pode assumir valores entre 0000 e ffff. 28/8/2014 Programação de Computadores II 33

Tipos Primitivos Booleano Érepresentado pelo tipo lógico l boolean. Assume os valores false (falso) ou true (verdadeiro). O valor default éfalse. Ocupa 1 bit. Diferente da linguagem C, onde ocupa 1 byte. 28/8/2014 Programação de Computadores II 34

Palavras reservadas usadas pela linguagem abstract continue finally interface public throw boolean default float long return throws break do for native short transient byte double if new static true case else implements null super try catch extends import package switch void char false instanceof private synchronize d while class final int protected this 28/8/2014 Programação de Computadores II 35

Palavras reservadas NÃO usadas pela linguagem const future generic goto inner operator outer rest var volatile 28/8/2014 Programação de Computadores II 36

Declaração de Variáveis Uma variável vel não pode utilizar como nome uma palavra reservada da linguagem. Sintaxe: Tipo nome1 [, nome2 [, nome3 [..., nomen]]]; Exemplos: int i; float total, preco; byte mascara; double valormedio; 28/8/2014 Programação de Computadores II 37

Declaração de Variáveis Embora não seja de uso obrigatório rio,, existe a convenção padrão para atribuir nomes em Java, como: Nomes de classes são iniciados por letras maiúsculas; Nomes de métodos, m atributos e variáveis veis são iniciados por letras minúsculas; Em nomes compostos, cada palavra do nome é iniciada por letra maiúscula, as palavras não são separadas por nenhum símbolo. s Documento: Code Conventions for the JavaTM Programming Language. 28/8/2014 Programação de Computadores II 38

Comentários Exemplos: // comentário de uma linha /* comentário de múltiplas linhas */ /** comentário de documentação * que também m pode * possuir múltiplas m linhas */ 28/8/2014 Programação de Computadores II 39

Comentários /** Classe destinada ao armazenamento * de dados relacionados a arquivos ou * diretórios. rios. * <p> Pode ser usada para armazenar árvores de diretórios. rios. * @author Joao Jr. * @see java.io.file */ 28/8/2014 Programação de Computadores II 40

Operadores Aritméticos ticos + Adição - Subtração * Multiplicação / Divisão % Resto da divisão inteira a+b a-b a*b a/b a%b - -Unário -a + + Unário +a ++ Incremento unitário -- Decremento unitário ++a ou a++ --a a ou a--a 28/8/2014 Programação de Computadores II 41

Operadores Relacionais == Igual!= Diferente > Maior que >= Maior ou igual a < Menor que <= Menor ou igual a a==b a!=b a>b a>=b a<b a<=b 28/8/2014 Programação de Computadores II 42

Operadores LógicosL && E lógico l (and) Ou lógico l (or) a&&b a b! Negação (not)!a 28/8/2014 Programação de Computadores II 43

Programa Java Todos os programas em Java possuem quatro elementos básicos: b Pacotes import java.util.*; Classes Métodos Variáveis public class HelloJavaClass { public static void main(string[] args) { System.out.println( Hello, Java ); Date d = new Date(); System.out.println( Date: +d.tostring()); 28/8/2014 Programação de Computadores II 44

Fluxo de execução Normalmente sequencial. Comandos de controle de fluxo permitem modificar essa ordem natural de execução: if (condição) { bloco_comandos 28/8/2014 Programação de Computadores II 45

Fluxo de execução switch (variável) vel) { case valor1: bloco_comandos break; case valor2: bloco_comandos break;... case valorn: bloco_comandos break; default: bloco_comandos while (condição) { bloco_comandos do { bloco_comandos while (condição); for (inicialização; condição; incremento) { bloco_comandos 28/8/2014 Programação de Computadores II 46

Fluxo de execução Desvio de fluxo If e Switch Exemplo: If public class ExemploIf { public static void main(string args[]) { if (args.length > 0) { for (int j=0; j<integer.parseint(args[0]); j++) { System.out.print(j + ); System.out.println( \nfim da contagem ); System.out.println( Fim do programa ); 28/8/2014 Programação de Computadores II 47

public class ExemploSwitch { public static void main(string args[]) { if (args.length > 0) { switch (args[0].charat(0)) { case a : case A : System.out.println( Vogal A ); break; case e : case E : System.out.println( Vogal E ); break; case i : case I : System.out.println( Vogal I ); break; case o : case O : System.out.println( Vogal O ); break; case u : case U : System.out.println( Vogal U ); break; Fluxo de execução If e Switch Desvio de fluxo Exemplo: Switch default: System.out.println( Não é uma vogal ); else { System.out.println( Argumentos não fornecidos ); 28/8/2014 Programação de Computadores II 48

Fluxo de execução Estruturas de repetição Repetição simples: for Exemplo: public class ExemploFor { public static void main(string args[]) { for (int j=0; j<10; j++) { System.out.println( O valor de j é + j); 28/8/2014 Programação de Computadores II 49

Fluxo de execução Estruturas de repetição Repetição condicional: whilee do while Exemplo: while public class ExemploWhile { public static void main(string args[]) { int j = 10; int n = Integer.parseInt(args[0]); while (j > n) { System.out.println( O valor de j é + j); j--; 28/8/2014 Programação de Computadores II 50

Repetição condicional: whilee do while Exemplo: do while public class ExemploDoWhile { public static void main(string args[]) { int min = Integer.parseInt(args[0]); int max = Integer.parseInt(args[1]); do { System.out.println(min + < + max); min++; max--; while (min < max); Fluxo de execução Estruturas de repetição System.out.println(min + >= + max); 28/8/2014 Programação de Computadores II 51

Fluxo de execução Controle de Erro Diretiva Try -Catch: try { Fluxo normal do sistema catch (Exceção1) { Diretiva do tratamento do erro 1 catch (Exceção2) { Diretiva do tratamento do erro 2 28/8/2014 Programação de Computadores II 52

Fluxo de execução Controle de Erro Repetição condicional: trye catch Exemplo: 1 exceção public class ExemploTryCatch1 { public static void main(string args[]) { try { int j = 10; int n = Integer.parseInt(args[0]); while (j > n) { System.out.println( O valor de j é + j); j--; catch (ArrayIndexOutOfBoundsException e) { System.err.println( Não foi fornecido um argumento. ); 28/8/2014 Programação de Computadores II 53

Fluxo de execução Controle de Erro Repetição condicional: trye catch Exemplo: 2 exceções public class ExemploTryCatch2 { public static void main(string args[]) { try { int j = 10; int n = Integer.parseInt(args[0]); while (j > n) { System.out.println( O valor de j é + j); j--; catch (ArrayIndexOutOfBoundsException e) { System.err.println( Não foi fornecido um argumento. ); catch (NumberFormatException e) { System.err.println( O argumento fornecido não é um número inteiro. ); 28/8/2014 Programação de Computadores II 54

Fluxo de execução Controle de Erro Diretiva Try - Catch- Finally: try { Fluxo normal do sistema catch (Exceção1) { Diretiva do tratamento do erro 1 finally { Fluxo que será sempre executado, independente da ocorrência da exceção ou não. Liberação de recursos. Ex: Fechamento de arquivos. 28/8/2014 Programação de Computadores II 55

Arrays O propósito de um array é permitir o armazenamento e manipulação de uma grande quantidade de dados de mesmo tipo. Exemplos: Notas de alunos Nucleotídeos em uma cadeia de DNA Frequência de um sinal de áudio 28/8/2014 Programação de Computadores II 56

Arrays 28/8/2014 Programação de Computadores II 57

Arrays Unidimensionais Os elementos de um array são identificados através s de índices. Arrays cujos elementos são indicados por um único índice são denominados arrays unidimensionais. 28/8/2014 Programação de Computadores II 58

Arrays Unidimensionais Um elemento em uma posição indicada por um índice i, em um array A, é acessado através s do identificador do array seguido do índice i entre chaves. A[0] A[1] A[2] A[3] A[n-2] A[n-1] 28/8/2014 Programação de Computadores II 59

Arrays Unidimensionais A criação de um array em Java requer 3 passos: 1.Declara Declaração do nome do array e seu tipo 2.Aloca Alocação do array 3.Inicializa Inicialização de seus valores double[] a; a = new double[10]; for (int i = 0; i<10;i++) a[i] = 0.0; 28/8/2014 Programação de Computadores II 60

Arrays O número de elementos de um array em Java pode ser determinado através s do atributo length Exemplo: a.length Arrays em Java são objetos. (mais detalhes serão vistos posteriormente) Arrays em Java tem índice base igual a zero. Unidimensionais 28/8/2014 Programação de Computadores II 61

Arrays Unidimensionais Arrays em Java podem ser inicializados em tempo de compilação ão. Exemplos: String[ ] naipe = { copas{ copas, ouros, paus, espadas ; double[ ] temperaturas = {45.0,32.0,21.7,28.2,27.4; 28/8/2014 Programação de Computadores II 62

Arrays Multidimensionais Arrays multidimensionais representam agregados homogêneos cujos elementos são especificados por mais de um índice. Em Java é muito simples especificar um array multidimensional. Exemplo: array contendo as notas de 3 provas de 30 alunos int[][] notas = new int[30][3]; 28/8/2014 Programação de Computadores II 63