É usual respeitarem-se as seguintes convenções: Nome de uma classe começa por maiúscula (e.g. Solido)

Documentos relacionados
É usual respeitarem-se as seguintes convenções: Nome de uma classe começa por maiúscula (e.g. Solido)

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

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

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

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1

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

PROGRAMAÇÃO JAVA. Parte 2

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

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

Arrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Algoritmos e Estruturas de Dados I

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Sintaxe da linguagem Java

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

Variáveis e Operadores em C

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Análise de Programação

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

Aula Teórica 8. Preparado por eng.tatiana Kovalenko

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

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

Linguagem de Programação III

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

1/50. Conceitos Básicos. Programa Básico

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

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

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

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

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Linguagem de programação Java

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

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

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

Introdução a Programação de Jogos

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Instituto Superior de Engenharia de Lisboa

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

Princípios de Desenvolvimento de Algoritmos MAC122

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

POO Programação Orientada a Objetos. Classes e Objetos 2

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

Introdução à Linguagem C Variáveis e Expressões

Lição 4 Fundamentos da programação

Palavras Reservadas da Linguagem Java

Representação de Dados

Tipos de Dados Simples (Continuação)

Paradigmas de Linguagens

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

A R R A Y S E E X C E P T I O N S P R O F. M E. H É L I O E S P E R I D I Ã O

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Estrutura do programa

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

Programação Orientada a Objeto (POO)

Linguagem de Programação JAVA. Tiago Alves de Oliveira

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

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

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

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

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Programação de Computadores para GI

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

Algoritmos II prof. Daniel Oliveira

Introdução à Computação

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

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

Organização de programas em Java

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

K&R: Capitulo 2 IAED, 2012/2013

Estruturas de Dados. Profa. Juliana Pinheiro Campos

Linguagem de Programação III

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Linguagem Java - Introdução

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

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

Faculdade de Computação

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

Estruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1

Introdução à Computação MAC0110

Tipos primitivos de Java Entrada de Dados Formatação da Saída. Aula 03

Disciplina: Introdução à Engenharia da Computação

Organização de programas em Java

Introdução a Computação

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Instruções, dados e expressões

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

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

Introdução à Computação

ALOCAÇÃO DINÂMICA DE MEMÓRIA

Linguagem C: Introdução

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

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

Cap. 2 Expressões na linguagem C

Linguagem C (continuação)

Transcrição:

P. Fazendeiro & P. Prata POO TP1 / 1 JAVA.Identificadores Não podem começar por um dígito Podem ser constituídos por combinações de letras (língua Inglesa), dígitos e os caracteres _ e $ É usual respeitarem-se as seguintes convenções: Nome de uma classe começa por maiúscula (e.g. Solido) Nome de um subprograma começa por minúscula (e.g. main()) Nome de uma variável começa por minúscula (e.g. volume) Nome de uma constante é escrito em maiúsculas (MAX_VEC)

P. Fazendeiro & P. Prata POO TP1 / 2 JAVA.TiposPrimitivos TIPO VALORES VALOR OMISSÃO #BITS GAMA DE VALORES boolean true false false 1 char Unicode (compat. ASCII) \u 16 \u a \uffff byte Inteiro c/ sinal 8-128 a 127 short Inteiro c/ sinal 16-32768 a 32767 int Inteiro c/ sinal 32-2147483648 a 2147483647 long Inteiro c/ sinal 64-92233723685477588 a 92233723685477587 float IEEE 754 FP. 32 ±3.4E+38 a ±1.4E-45 double IEEE 754 FP. 64 ±1.8E+38 a ±5E-324

P. Fazendeiro & P. Prata POO TP1 / 3 JAVA.DeclaraçãoDeVariáveis id_tipo id_variável1 [ = valor1] [, id_variável2 [ = valor2]...]; int x; int x = 1; /* declaração com inicialização */ int x = 2, y, z = 3; int x, y = 1; int a = x+ y; char um = '1'; char c = 'A'; /* formato UNICODE, caracteres ASCII compatíveis */ char newline = '\n'; boolean fim; boolean fechado = true; byte b1 = x49 ; /* hexadecimal * / long diametro; long raio = -1.7E+5; double d; double small$123 =.123; double pi = 3.14159273269;

P. Fazendeiro & P. Prata POO TP1 / 4 JAVA.DeclaraçãoDeConstantes semelhante à declaração de variáveis acrescida do atributo final obrigatório indicar o valor da constante final float PI = 3.14159273269; final float c = 2.99792458E8; //VLV em m/s final float g = 9.8665; //AG em m/s^2 final float Me = 9.19389E-31; //massa electão repouso em kg

P. Fazendeiro & P. Prata POO TP1 / 5 JAVA.ConversãoEntreTipos O tipo do resultado de uma expressão aritmética depende do tipo dos operandos Muitas expressões contêm valores de vários tipos Os operadores aritméticos estão definidos para funcionar com operandos do mesmo tipo O computador terá que fazer conversões de tipo automaticamente e de modo a que não haja perda de informação Nem todas as transformações são possíveis Diferente tipo de representação (e.g. valor real para um tipo inteiro???) Diferença no espaço de memória ocupado pelos valores dos diversos tipos (e.g. um valor long num valor int ) É possível converter um valor para um tipo que ocupe mais espaço, mas o inverso não é verdadeiro byte > short > int > long > float > double

P. Fazendeiro & P. Prata POO TP1 / 6 int var_int = 1; // resultado_int; double var_double = 5.2; // resultado_double; resultado_double = var_int + var_double; resultado_int = var_int + var_double; /* erro de compilação " Incompatible type for =. Explicit cast needed to convert double to int.*/ A conversão de tipos com perda de informação é permitida utilizando de forma explícita o operador de coerção (cast) - tipo pretendido entre parêntesis antes da expressão a converter resultado_int = (int) (var_int + var_double); char c1, c2; char c3 = 'a'; int x = 67; int y = 4; c1 = (char) (x + y) ; c2 = (char) ((int) c3 + 1 );

P. Fazendeiro & P. Prata POO TP1 / 7 JAVA.Classes Em Java os programas são constituídos por diversas classes Algumas classes são escritas por nós, outras fazem parte da biblioteca As classes são agrupadas em pacotes As classes possuem campos e métodos As classes são tipos. Em Java cada objecto pertence a um determinado tipo. O tipo de um objecto é a sua classe. Algumas classes são Applets e podem ser executadas num browser Um construtor é uma operação especial da classe Serve para criar um objecto da classe Todos os construtores de uma classe têm o mesmo nome que a classe Os construtores são identificados pela sua lista de parâmetros

P. Fazendeiro & P. Prata POO TP1 / 8 JAVA.TiposReferenciados OBJECTOS E ARRAYS Designam-se por tipos referenciados entidades (objectos ou arrays) que são acedidas através de uma variável que contém o seu endereço Veiculo carro1 = new Veiculo(1535, 21); carro1 pot = 1535 ano = 21 Veiculo carro2 = new Veiculo(); Veiculo carro3; carro2 null null carro3 null carro2 = carro1;? carro1 = carro3;? carro1 = carro2;? carro1 == carro2;? Veiculo carro4 = new Veiculo(1535, 21); carro1 == carro4;?

P. Fazendeiro & P. Prata POO TP1 / 9 JAVA.TiposReferenciados.Arrays Os arrays são entidades referenciadas mas não são objectos A criação de tabelas (arrays) assemelha-se à criação de objectos int [] tabela; tabela = new int [1]; ou int [] tabela = new int [1]; tabela @ @ @+1 @+2 @+3 @+4 @+5 @+6 @+7 @+8 @+9 São criados dinamicamente (em tempo de execução) e o seu espaço é automaticamente reaproveitado quando deixam de estar referenciados int lista[]; // declaração "à la C" int[] lista; // declaração equivalente à anterior int[] lista = { 1, 12, 33, 23, 56, 67, 89, 12 }; /* declaração com inicialização */ int[] lista = new int[2]; // array de inteiros com 2 componentes byte[] pixels = new byte[6*8]; /* pixels é um array de 48 bytes */ String[] texto = new String[2]; /* texto é um array de 2 Cadeias de caracteres */ int[] potencias2 = {2, 4, 8, 16, 32, 64, 128, 256, 512, 124, 248, 496}; String[] moedas = { "Dólar", "Yene", "Euro", "Florim" }; // String é um objecto!!!

P. Fazendeiro & P. Prata POO TP1 / 1 A multidimensionalidade é implementada como aninhamento (array de arrays) int[] [] tabela = new int[1] [2]; /* tabela é array bidimensional de 1 linhas x 2 colunas */ int tabela[] [] = new int[1] [2]; /* declaração equivalente à anterior */ tabela @ @ @+1 @+2 @+3 @+4 @+5 @+6 @+7 @+8 @+9 int[][] matriz = new int[3][];? Os elementos do tipo int[] deste array podem ter dimensões distintas... int[][] matriz = { {1,2}, {1, 2, 3}, {19, 2, 34, 21, 16} } ;...o que não implica perda de controlo, tendo o cuidado de utilizar array.length evita-se assim o acesso a elementos inexistentes (ArraylndexOutOfBoundsException)

P. Fazendeiro & P. Prata POO TP1 / 11 JAVA.TiposReferenciados.Arrays.Acesso Através dum índice inteiro (valores desde até length-1) int[] a = new int[2] ; int[][] tabela = new int[2][]; int x, y;... x= tabela[1][2] + a[4]*a[7]; x= a[o]; y = a[a.length-1]; a[o] = x + y; Cópia de uma tabela? Assim? int[] b; b = a; Ou assim? int[] b = new int[2] ; for(int i = ; i< a.length ; i++ ) b[i] = a[i] ;