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

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

Programação de Computadores II TCC

Programação de computadores II

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

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

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

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

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Programação Estruturada e Orientada a Objetos

Instituto Superior de Engenharia de Lisboa

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

MsC. João Maria MsC. Liviane Melo

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Linguagem de Programação II Implementação

Análise de Programação

Linguagem Java - Introdução

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Algoritmos II prof. Daniel Oliveira

Desenvolvimento Web TCC Turma A-1

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

ptraux = dynamic_cast <PacoteNoite *> (vetor[i]); if (ptraux) auxiliar += vetor[i]->calculacusto();

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

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

Lição 4 Fundamentos da programação

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

Palavras Reservadas da Linguagem Java

Algoritmos I Aula 12 Linguagem de Programação Java

Variáveis primitivas e Controle de fluxo

JAVA. Professor: Bruno Toledo

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

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Definição. Histórico. Histórico. Estrutura do código fonte Java. Histórico. Programação Orientada a Objetos. O que é a linguagem Java?

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Algoritmos I Aula 13 Linguagem de Programação Java

Ambientação com a Sintaxe de Java: parte 1

INTRODUÇÃO A LINGUAGEM JAVA

Introdução a Linguagem

ESQUEMA AULA PRÁTICA 1

Orientação a Objetos e a Linguagem Java

ESQUEMA AULA PRÁTICA 1

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

PROGRAMAÇÃO JAVA. Parte 2

Desenvolvendo aplicações Java

Sintaxe da linguagem Java

3. Linguagem de Programação C

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

Programação Orientada a Objetos em Java. Introdução

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

AULA TEÓRICA 4. Tema 3. Linguagem de programação de alto nível Java

Linguagem de Programação III

Programação Estruturada

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

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Programação com Acesso a BD. Programação com OO Acesso em Java

Módulo 03. Identificadores, Palavras Reservadas, e Tipos

Linguagem C Princípios Básicos (parte 1)

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Diagramas Sintáticos

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Sintaxe Básica do Java. João Paulo Q. dos Santos

PROGRAMAÇÃO I A LINGUAGEM DE PROGRAMAÇÃO JAVA I

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

A Linguagem Java. Prof. Vicente Paulo de Camargo

Aula 2 Introdução a Linguagem Java

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

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

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

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Programação científica C++

Tópicos em C. Eliade F. Lima

Professor: José Ronaldo Leles Júnior Curso: Sistemas de Informação

Programação Orientada a Objetos

Orientação a Objetos e Java

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

PROGRAMADOR JAVA. Aula 0X32 Semanas - 0b Instrutor : Léo Billi

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Tipos Primitivos, estruturas de iteração e decisão.

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

//conteúdo do arquivo pacote.h

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Programação Orientada a Objetos I

No final deste curso, saberás criar programas através da linguagem de programação Java.

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

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

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

Introdução a linguagem Java

PLANO DE UNIDADE DIDÁTICA- PUD

Transcrição:

Programação de Computadores II TCC-00174 Profs.: Anselmo Montenegro (1) & Marcos Lage (2) (1) www.ic.uff.br/~anselmo (2) www.ic.uff.br/~mlage Conteúdo: Introdução ao Java

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 e fácil de ser programada. Surge a linguagem interpretada Oak (carvalho em inglês), mais tarde rebatizada como Java devido a problemas de direitos autorais. 07/08/2011 Programação de Computadores II 2

Histórico 1991 1994 Mudança de foco para aplicação na Internet. (visão: um meio popular de transmissão de texto, som, vídeo). Projetada para transferência de conteúdo de mídia em redes com dispositivos heterogêneos. Também possui capacidade de transferir comportamentos, junto com o conteúdo. (HTML por si só não faz isso) Em 1994: Jonathan Payne e Patrick Naughton desenvolveram o programa navegador WebRunner. 07/08/2011 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 o seu navegador capaz de fazer download e executar pequenos códigos 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 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. 07/08/2011 Programação de Computadores II 4

Características da Linguagem Java 07/08/2011 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. 07/08/2011 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: Oferece bibliotecas para facilitar o processo de comunicação. 07/08/2011 Programação de Computadores II 7

Características da Linguagem Java Alta Performance É 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 numéricos. Referência 07/08/2011 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 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; Possui gerenciador de segurança. Robusta e Segura Segurança: possui mecanismos de segurança que evitam operações no sistema de arquivos da máquina alvo. 07/08/2011 Programação de Computadores II 9

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

Características da Linguagem Java Interpretada, Neutra, Portável myprogram.java Interpretador 0010110100 My Program myprogram.class compilador 07/08/2011 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 07/08/2011 Programação de Computadores II 12

Características da Linguagem Java Interpretada, Neutra, Portável compilador 07/08/2011 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 07/08/2011 Programação de Computadores II 14

O Ambiente Java Editor.class Carregador ByteCodes.java Compilador ByteCodes Verificador Interpretador 07/08/2011 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, que podem tratar diferentes tarefas concorrentemente. 07/08/2011 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 um amplo conjunto de APIs. (Application Programing Interface). 07/08/2011 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) o interpretador 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. 07/08/2011 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 jplay. Com o uso de packages podemos organizar de forma física algo lógico. (um grupo de classes em comum) 07/08/2011 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 nome_do_pacote; Caso tal declaração não esteja presente, as classes farão parte do pacote default, que está mapeado para o diretório corrente. 07/08/2011 Programação de Computadores II 20

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

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

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: Booleano. 07/08/2011 Programação de Computadores II 23

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 07/08/2011 Programação de Computadores II 24

Tipos Primitivos Ponto Flutuante Tipos de Dados em Ponto Flutuante Faixas Float Double 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 106 = 1.440.000. 3.4254e-2 representa 3.4254 x 10-2 =0.034254. 07/08/2011 Programação de Computadores II 25

Tipos Primitivos Caractere O tipo char permite a representação de caracteres individuais. Ocupa 16 bits internamente permitindo até 32.768 caracteres diferentes. Caracteres de controle e outros caracteres cujo uso é reservado pela linguagem devem ser usados precedidos por \. 07/08/2011 Programação de Computadores II 26

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 de valor octal xxx, que pode assumir valores entre 000 e 377. o caráter com código de valor hexadecimal xxxx, que pode assumir valores entre 0000 e ffff. 07/08/2011 Programação de Computadores II 27

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

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 synchronized while class final int protected this 07/08/2011 Programação de Computadores II 29

Palavras reservadas NÃO usadas pela linguagem const future generic goto inner operator outer rest var volatile 07/08/2011 Programação de Computadores II 30

Declaração de Variáveis Uma variá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; 07/08/2011 Programação de Computadores II 31

Declaração de Variáveis Embora não seja de uso obrigató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, atributos e variá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. Documento: Code Conventions for the JavaTM Programming Language. 07/08/2011 Programação de Computadores II 32

Comentários Exemplos: // comentário de uma linha /* comentário de múltiplas linhas */ /** comentário de documentação * que também pode * possuir múltiplas linhas */ 07/08/2011 Programação de Computadores II 33

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

Operadores Aritméticos + Adição a+b - Subtração a-b * Multiplicação a*b / Divisão a/b % Resto da divisão inteira a%b - - Unário -a + + Unário +a ++ Incremento unitário == Decremento unitário ++a ou a++ --a ou a-- 07/08/2011 Programação de Computadores II 35

Operadores Relacionais == Igual a==b!= Diferente a!=b > Maior que a>b >= Maior ou igual a a>=b < Menor que a<b <= Menor ou igual a a<=b 07/08/2011 Programação de Computadores II 36

Operadores Lógicos && E lógico (and) a&&b Ou lógico (or) a b! Negação (not)!a 07/08/2011 Programação de Computadores II 37

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

Fluxo de execução Normalmente sequencial. Comandos de fluxo de controle permitem modificar essa ordem natural de execução: if (condição) { bloco_comandos } 07/08/2011 Programação de Computadores II 39

Fluxo de execução switch (variá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 } 07/08/2011 Programação de Computadores II 40

Fluxo de execução Desvio de fluxo If e Switch Exemplo: If 07/08/2011 Programação de Computadores II 41

Fluxo de execução Desvio de fluxo If e Switch Exemplo: Switch 07/08/2011 Programação de Computadores II 42

Fluxo de execução Estruturas de repetição Repetição simples: for Exemplo: 07/08/2011 Programação de Computadores II 43

Fluxo de execução Estruturas de repetição Repetição condicional: while e do while Exemplo: while 07/08/2011 Programação de Computadores II 44

Fluxo de execução Estruturas de repetição Repetição condicional: while e do while Exemplo: do while 07/08/2011 Programação de Computadores II 45

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 } 07/08/2011 Programação de Computadores II 46

Fluxo de execução Controle de Erro Repetição condicional: try e catch Exemplo: 1 exceção 07/08/2011 Programação de Computadores II 47

Fluxo de execução Controle de Erro Repetição condicional: try e catch Exemplo: 2 exceções 07/08/2011 Programação de Computadores II 48

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. } 07/08/2011 Programação de Computadores II 49

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 07/08/2011 Programação de Computadores II 50

Arrays Permitem acesso direto aos elementos de uma representação de uma coleção de dados Mapeia um conjunto finito de índices em um conjunto qualquer de objetos de mesmo tipo. F x S, x U tal que U é um conjunto finito de índices e S o conjunto dos objetos. 07/08/2011 Programação de Computadores II 51

Arrays Unidimensionais Os elementos de um array são identificados através de índices. Arrays cujos elementos são indicados por um único índice são denominados arrays unidimensionais. 07/08/2011 Programação de Computadores II 52

Arrays Unidimensionais Um elemento em uma posição indicada por um índice i, em um array A, é acessado atravé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] 07/08/2011 Programação de Computadores II 53

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

Arrays O número de elementos de um array em Java pode ser determinado através do método 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 07/08/2011 Programação de Computadores II 55

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

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]; 07/08/2011 Programação de Computadores II 57