Objetivos da disciplina

Tamanho: px
Começar a partir da página:

Download "Objetivos da disciplina"

Transcrição

1 Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís Desenvolvimento de Sistemas de Software para Sistemas Embarcados Dr. Denivaldo Lopes Ano: novembro, Objetivos da disciplina formar profissionais capazes de desenvolver sistemas computacionais para sistemas embarcados; coordenar projetos baseados em sistemas de software para sistemas embarcados. Habilitar profissionais para empregar modernas ferramentas de computação como meio de apoio a realização de tarefas baseadas em sistemas embarcados. 2

2 Sistemas de Software para Sistemas Embarcados: Várias utilizações de Sistemas de Software p/ sistemas embarcados na engenharia: Central de processamento de automóveis, aviões e outros meios de transporte; Eletrodomésticos; Telefones inteligentes (smart phones), PDAs, etc. Telemetria de linhas de transmissão de energia elétrica. Sistemas de supervisão em geral. Integração entre os sistemas computacionais de diversas plantas. 3 Conteúdo Programático 1.Introdução aos sistemas embarcados. 1.1 Aplicação na área de controle. 1.2 Aplicação na área de sistemas de potência. 1.3 Dispositivos móveis. 1.4 Requisitos para desenvolvimento de software para sistemas embarcados. 2. Introdução a Programação Orientada a Objetos. 2.1 Conceitos da orientação à objetos: Classe, Atributos, Métodos, Objeto. 4

3 Conteúdo Programático 3. Linguagem Java. 3.1 Primeiro programa em Java: HelloWorld 3.2 Aritmética em programas Java 3.3 Operadores relacionais e lógicos 3.4 Classes, objetos, métodos e variáveis de instância e construtores 3.5 Instruções de controle (if...else, while, for, do...while, switch, break e continue) 3.6 Herança 3.7 Programando com Threads 3.8 Programação em rede com Java: Sockets 5 Conteúdo Programático 4. Java 2 Platform, Micro Edition (J2ME) 4.1 Conceitos básicos da arquitetura de J2ME 4.2 Introdução a K Máquina Virtual (KVM) 5. Metas, Requisitos e Escopo de J2ME. 6. Arquitetura de alto nível e Segurança 7. Configuração de Dispositivos com Conexão Limitada. 8. Biblioteca CLDC. 6

4 Conteúdo Programático 9. Desenvolvimento de software para dispositivos móveis. 10. Modelo de aplicação MIDlet. 11. MIDP: 11.1 Interface com o usuário 11.2 Comunicação em rede Persistência: 12. Aplicações 12.1 Telemetria via Web 12.2 Software para celulares 7 Metodologia Aulas expositivas e discussões em classe. Estudo da plataforma J2ME (Java Micro Edition) para exemplificar o desenvolvimento de sistemas de software. Estudos de caso para exemplificar a utilização J2ME. Os alunos serão orientados no desenvolvimento de aplicações baseadas em J2ME. Pesquisa de assuntos avançados. Trabalhos individuais para sedimentar a aprendizagem. 8

5 Cronograma de Aulas, Trabalhos e Avaliações Mês Novembro Dezembro Janeiro Fevereiro Março Dias da disciplina 16, 21, 23, 28, 30 5, 7, 12, 14, 19, 21 2, 4, 9, 11, 16, 18, 23, 25, 30 1, 6, 8, 15, 22, 27 1, 6, 13, 15 Prova escrita Apresentação de trabalho Reposição Final 2 horários por dia : horários 6 e 7 17 de março término do semestre letivo BIBLIOGRAFIA: Roger Riggs, Antero Taivalsaari, Jim Van Peursem, Programming Wireless Devices With the Java Platform: Micro Edition, Addison Wesley Publishing Company, 2003,ISBN: Cynthia Bloch, Annette Wagner, MIDP Style Guide for the Java 2 Platform, Micro Edition, Addison Wesley Professional, David Fox, Roman Verhosek, Micro Java Game Development, Addison Wesley Professional, Kim Topley, J2ME in a Nutshell,O'Reilly, Qusay Mahmoud, Wireless Java, O'Reilly,

6 1.Introdução aos sistemas embarcados. 1.1 Aplicação na área de controle. 1.2 Aplicação na área de sistemas de potência. 1.3 Dispositivos móveis. 1.4 Requisitos para desenvolvimento de software para sistemas embarcados Introdução aos sistemas embarcados Um sistema embarcado pode ser definido como um sistema de propósito específico no qual um computador é encapsulado pelo dispositivo que ele controla; Os recursos computacionais são limitados assim como os recursos de armazenamento. Geralmente usam Firmware, isto é, os programas são armazenadas em ROM (Read- Only Memory) ou Memórias Flash. 12

7 1.Introdução aos sistemas embarcados Características: Diferentemente de PCs (Personal Computer), os sistemas embarcados possuem poucas tarefas pré-definidas; Pouco poder de processamento; Pouco memória de armazenamento; Interface limitada com o usuário; 13 1.Introdução aos sistemas embarcados Exemplos de utilização: Automóveis (central eletrônica); Aeronaves (piloto automático); Trens; Veículos espaciais; Câmeras fotográficas; Telefones celulares; PDAS; Robôs; Brinquedos; 14

8 1.Introdução aos sistemas embarcados Exemplos de utilização: 15 1.Introdução aos sistemas embarcados Exemplos de utilização: Controle de vôo Posicionamento Navegação Comunicação Segurança Fonte: Dominique Potier and Sylvain Prudhomme, Embedded Systems: Strategic Challenges for Systems Integrators,

9 1.Introdução aos sistemas embarcados Exemplos de utilização: TV digital - Interatividade com o usuário. Micro-ondas -Controle e programação do forno de micro-ondas. Impressoras -Leitura direta de memory cards -Interface de rede -multifuncionalidades: imprime, copia, escaneia, leitura de cartões 17 1.Introdução aos sistemas embarcados Exemplos de utilização: TV digital: SoC(System on Chip) Processor: TC90400-series Sistema Operacional MontaVista Linux Características do Processador: - 180MHz TX49/L3 64-bit MIPS RISC core with 8KB instruction cache and 8KB data cache - A unified memory system - A DDR SDRAM controller - Flash memory support 18

10 1.Introdução aos sistemas embarcados Exemplos de utilização: SmartPhones Motorola A1200 smartphone Características: - Processador Intel XScale PXA270; - Sistema Operacional: MontaVista Linux -Banda de operação do telefone GSM/EDGE 850/1800/1900MHz -Bluetooth -Câmera 1.3-megapixel -Suporte a J2ME Fonte: https://opensource.motorola.com 19 1.Introdução aos sistemas embarcados Constato: Todos os objetos e máquinas de nossa sociedade estão sendo transformadas em um sistema embarcado. 20

11 1.Introdução aos sistemas embarcados Problema: a variedade de sistemas de hardware e sistemas operacionais (SO); Necessidade de desenvolver aplicativos para estas plataformas cujo código seja portável; Uma mesma API (Application Programming Interface) para todas as plataformas (Hardware e SO); Sistemas Operacionais: Embedded Linux, Symbian, Windows Mobile, Nokia Operating System. Processadores para SE: ARM9 NET+ARM da NetSilicon, ADSP-21xx Processors, Processador Geode da AMD, ADSP-21xx, etc Introdução aos sistemas embarcados Problema: Linguagem Assembler: Pós: Performance Contras: Sistemas grandes são difíceis de serem desenvolvidos com assembler (custo elevado); Baixo nível; Nova plataforma (hardware e sistema executivo) implica em novo programa assembler - > sem portabilidade; Conhecimento especializado da plataforma. 22

12 1.Introdução aos sistemas embarcados Soluções: Linguagem C: Pós: fornece uma linguagem de programação eficiente (performance), uma API básica e portabilidade limitada; Contras: necessidade de definir as diretivas de pré-processador em caso de desenvolvimento para múltiplas plataformas, necessidade de uma nova compilação a cada nova migração, o conjunto de bibliotecas padrão é limitado e às vezes depende da plataforma Introdução aos sistemas embarcados Linguagem Java: Pós: Independente da plataforma (Hardware e SO) portabilidade garantida (bytecodes e JVM); uma linguagem padronizada e bem especificada; introduz orientação a objeto; possui uma API uniforme e vasta (suporte a rede, concorrência, XML); novos conceitos de segurança (Sandbox); Contra: Performance de execução inferior a C, C++(diretamente executável). JVM(Java Virtual Machine) 24

13 1.Introdução aos sistemas embarcados Dispositivos embarcados (conectados por firewire, usb, rede, wireless, etc) Fonte: CDC: JAVA PLATFORM TECHNOLOGY FOR CONNECTED DEVICES Java Platform, Micro Edition White Paper June Introdução a Programação Orientada a Objetos. 2.1 Conceitos da orientação à objetos: - Classe; - Atributos; - Métodos; - Objeto. 26

14 Conceitos da orientação à objetos Uma linguagem orientada à objetos. O que é um objeto? De uma forma geral, podemos ver um objeto um tanto que uma abstração do mundo real. Uma abordagem usando objeto tem como finalidade permitir a modelagem das propriedades estáticas e dinâmicas do ambiente no qual estão definidas as necessidades, denominadas de domínio do problema. 27 Conceitos da orientação à objetos A orientação à objeto se baseia em cinco conceitos básicos: Objeto; Mensagens; Classe; Generalização; Polimorfismo. 28

15 Conceitos da orientação à objetos Objeto Um objeto é uma unidade atômica formada da união de um estado e de comportamento. Um objeto fornece uma relação de coesão interna muito forte e um fraco acoplamento com o exterior. Os objetos se comunicam entre si através de troca de mensagens. 29 Conceitos da orientação à objetos Objeto Cada objeto contém um estado interno que é próprio dele mesmo e um comportamento visível pelos outros objetos. Um objeto também tem uma identidade que o diferencia dos outros objetos. A identidade permite distinguir todo objeto de forma não ambígua, e isto independe de seu estado. Objeto = Estado + Comportamento + identidade 30

16 Conceitos da orientação à objetos Objeto A identidade é um conceito, não se representa de uma maneira específica. Cada objeto possui uma identidade atribuída de maneira implícita no momento da criação do objeto e nunca é modificada. :Um objeto A Estados de A Mensagem :Um objeto B Estados de B 31 Conceitos da orientação à objetos Objeto: exemplo Pousar [Em vôo] a1:avião t1:torre de controle Estados Decolar [No solo] a2:avião 32

17 Conceitos da orientação à objetos Classe O mundo real é composto de inúmeros objetos em interação. Os objetos são geralmente muito complexos para serem compreendidos em sua integridade. Para reduzir a complexidade, ou para gerenciála, o ser humana aprendeu a agrupar os elementos que se assemelham e a distinguir as estruturas de mais alto nível de abstração, 33 excluindo os detalhes inúteis. Conceitos da orientação à objetos Classe Uma classe descreve um domínio de definição de objetos. Cada objeto é originado de uma classe. As generalidades são contidas na classe e as particularidades são contidas nos objetos. O processo de criação de um objeto à partir de uma classe é chamado de instanciação. 34

18 Conceitos da orientação à objetos Classe: representação Classe A atributo1: TipoAtributo atributo2: TipoAtributo atributon: TipoAtributo método1(parâmetro:tipoparâmetro):tiporetorno método2(parâmetro:tipoparâmetro):tiporetorno métodon(parâmetro:tipoparâmetro):tiporetorno 35 Conceitos da orientação à objetos Classe e Objeto Cachorro Raça: String Cor: String Peso: Float Altura:Float Idade:Integer <<Instância de>> spike:cachorro Raça= Pastor Alemão Cor= Preto e marrom Peso= 6,5 Altura=0,8 Idade=8 36

19 Conceitos da orientação à objetos Classe e Objeto Abstração Objetos Tipos de dados abstratos Funções Mnemônicos Códigos Binários Facilidade de Programação 37 Conceitos da orientação à objetos Classe: Visibilidade de atributos e métodos O nível de visibilidade pode ser: Público: atributos e métodos são visíveis e acessíveis à partir de métodos da própria classe ou de uma outra classe. Privado: os atributos privados somente podem ser acessados por métodos da classe. Da mesma forma, os métodos privados somente podem ser acessados por outros métodos da própria classe. Protegido: os atributos e métodos podem ser vistos e acessados somente por métodos da própria classe ou à partir de classes derivadas. 38

20 Conceitos da orientação à objetos Atributos privados somente podem ser acessados e modificados por métodos da própria classe. Classe: representação de visibilidade Representação: Exemplo: Classe + atributo público # atributo protegido - atributo privado + método público( ) # método protegido( ) - método privado( ) Métodos públicos podem ser chamados por métodos de outra classe. -ParteReal:Float -ParteImaginária:Float NúmeroComplexo +adição(num1:númerocomplexo):númerocomplexo +sub(num1:númerocomplexo):númerocomplexo +mult(num1:númerocomplexo):númerocomplexo +div(num1:númerocomplexo):númerocomplexo +getreal():float +getimag():float 39 Conceitos da orientação à objetos Generalização. A generalização consiste em capturar os elementos comuns (atributos e operações) de um conjunto de classes em uma classe mais genérica, chamada de superclasse. As classes são organizadas segundo uma hierarquia que pode ser vista como uma árvore: uma superclasse é uma abstração de suas sub-classes. 40

21 Conceitos da orientação à objetos Generalização: exemplo. Abstrações mais gerais Veículo Veículo Terrestre Veículo Aéreo Carro Caminhão Moto Avião Helicóptero Extensão pela especialização 41 Conceitos da orientação à objetos Generalização: exemplo. Abstrações mais gerais Animal Carnívoro Herbívoro Leão Onça Coiote Ovelha Cavalo Extensão pela especialização A generalização e a especialização são dois pontos de vista antagônicos do conceito de classificação. 42

22 Conceitos da orientação à objetos Generalização: exemplo. SuperClasse Classe mais geral SubClasse Classe mais especializada A especialização é a base para a programação por extensão e para a reutilização. 43 Conceitos da orientação à objetos Generalização: características. A A A Proibido A generalização não é reflexiva e nem é simétrica. A generalização é transitiva. B Proibido C B Transitividade 44

23 Conceitos da orientação à objetos Herança: permite a construção de uma classe à partir de uma ou várias outras classes, compartilhando atributos e operações, e formando uma hierarquia de classes. As classes filhas herdam as características das classes pais. A -attra1 : Double -attra2 : Integer +attra3 : String #attra4 : Double +geta1() : Double +geta2() : Integer B -attrb1 : Boolean -attrb2 : Long +getb1() : Boolean +getb2() : Boolean 45 Conceitos da orientação à objetos Colisões de nomes na herança. 46

24 Conceitos da orientação à objetos Polimorfismo: descreve a característica de um elemento que pode ter várias formas. O polimorfismo de operação permite fazer chamadas de uma operação de diversas formas. Não confundir com sobrecarga de métodos. 47 Conceitos da orientação à objetos Sobrecarga de métodos: permite que métodos compartilhem o mesmo nome, mas com diferentes parâmetros e/ou retorno. 48

25 Introdução a linguagem de programação Java Conceitos da orientação à objetos: Classe, Atributos, Métodos, Objeto Primeiro programa em Java: HelloWorld Aritmética em programas Java Operadores relacionais e lógicos Classes, objetos, métodos e variáveis de instância e construtores Instruções de controle (if...else, while, for, do...while, switch, break e continue) Herança Programando com Threads Programação em rede com Java: Sockets 49 Tutoriais sobre Java Trail: Learning the Java Language. Disponível em: C.html#data 50

26 Introdução a Java Em 1991, a Sun Microsystems financiou um projeto de pesquisa corporativa interno com o codinome Green (Patrick Naughton, Mike Sheridan, e James Gosling). No projeto Green, uma linguagem baseada em C++ foi desenvolvida e denominada de Oak. Mais tarde, esta linguagem foi introduzida na Web e se passou a chamar Java. Em 1995, Java despertou o interesse da comunidade, pois aprimorava as funcionalidades de servidores Web, possibilitando a criação de páginas Web dinâmicas. 51 Introdução a Java Java é um ambiente de execução presente em: web browsers; Mainframes; SOs; celulares; palmtops; cartões inteligentes, entre outros. 52

27 Características: Introdução a Java Orientação a objeto baseada no modelo Smalltalk e Simula 67. Portabilidade - independência de plataforma - "write once run anywhere"; Recursos de Rede suporte para Socket e TCP/IP. Segurança através do Sandbox. Bytecode interpretado código executado pela JVM (Java Virtual Machine). Sintaxe similar a Linguagem C/C++. Facilidades de Internacionalização: através de caracteres Unicode. 53 Características: Simplicidade na especificação (JVM): qualquer empresa pode implementar a especificação da JVM. Um vasto conjunto de bibliotecas (APIs): bibliotecas disponíveis com o J2SDK. Suporte à programação distribuída e multitarefa: suporta threads, monitor, e chamada remota de procedimento. Alocação/Desalocação dynâmica de memória: através do Garbage Collector (Coletor de lixo) a memória não mais utilizada pode ser recuperada e usada outra vez pelo SO ou pela própria JVM. Carga Dinâmica de Código: o código pode ser carregado segundo a demanda. Introdução a Java 54

28 Introdução a Java 55 Introdução a Java Java está disponível em 3 edições: Java 2 Standard Edition (J2SE): é a tecnologia Java para computadores pessoais, notebooks e arquiteturas com elevado poder de processamento. J2SE possui duas divisões: Java Standard Development Kit (JSDK): é constuído por um conjunto de ferramentas (compiladores, debugger,...) que suportam a criação de programas Java. Java Runtime Edition (JRE): contém o necessário para a execução dos programas Java. Java 2 Micro Edition (J2ME): é a tecnologia Java para dispositíveis móveis com limitação de processamento e memória. Pode ser encontratado em duas formas: Connected Limited Device Configuration (CLDC): destinado a celulares, smartphones e dispositivos limitados. Connected Device Configuration (CDC): destinado para Palmtops, PocketPCs e dispositivos com maior poder de processamento e memória. Java 2 Enterprise Edition (J2EE): é a tecnologia Java para aplicações corporativas (inclui Java Enterprise Beans). 56

29 Introdução a Java Fonte: 57 Introdução a Java Um ambiente de desenvolvimento Java típico. 58

30 Primeiro programa em Java: HelloWorld public class HelloWorld { // método principal que inicia a execução do aplicativo Java public static void main(string[] args) { // Imprime uma mensagem no console System.out.println("Hello World! I am a program in Java...!") 59 Primeiro programa em Java: HelloWorld 60

31 Conhecendo o compilador Java 61 Exemplo 2 import java.util.scanner; // importa a classe Scanner do pacote java.util // Classe principal public class HelloWorld2 { // método principal que inicia a execução do aplicativo Java public static void main(string[] args) { //declação de variáveis // cria variavel para armazenar o nome do usuário String username="none "; // cria variavel para armazenar a idade do usuário int userage=0; // cria um objeto da classe Scanner para ler o teclado Scanner inputkeyboard = new Scanner(System.in); // Imprime uma mensagem no console System.out.println("Hello World! I am a program in Java...!"); System.out.println("What is your name?"); // Ler uma string de caracteres do teclado username = inputkeyboard.nextline(); // Imprime o nome do usuário usando formatação System.out.printf("Hi %s",username); // Imprime uma mensagem no console System.out.println("\nHow old are you?"); // Ler um número inteiro do console userage = inputkeyboard.nextint(); // Imprime uma mensagem no console com formatação, %s string e %d número inteiro System.out.printf("%s is %d years old.",username,userage); 62

32 Tipos de dados Primitivos Tipos de Dados Primitivos Palavra-chaave Descrição Tamanho/Formato Inteiros byte Byte 8-bit complemento de dois short Short integer 16-bit complemento de dois int Integer 32-bit complemento de dois long Long integer 64-bit complemento de dois Números reais float Ponto flutuante precisão simples 32-bit IEEE 754 double Ponto flutuante precisão dupla 64-bit IEEE 754 Outros char Um único caractere 16-bit caractere Unicode boolean Um valor lógico (true ou false) true ou false 63 Exemplo 3 /* * Programa que retorna o valor máximo para tipos de dados simples * Fonte: ex5/maxvariablesdemo.java */ public class MaxVariablesDemo { public static void main(string args[]) { //integers byte largestbyte = Byte.MAX_VALUE; short largestshort = Short.MAX_VALUE; int largestinteger = Integer.MAX_VALUE; long largestlong = Long.MAX_VALUE; //real numbers float largestfloat = Float.MAX_VALUE; double largestdouble = Double.MAX_VALUE; //other primitive types char achar = 'S'; boolean aboolean = true; //Display them all. System.out.println("The largest byte value is " + largestbyte + "."); 64

33 Exemplo 3 System.out.println("The largest short value is " + largestshort + "."); System.out.println("The largest integer value is " + largestinteger + "."); System.out.println("The largest long value is " + largestlong + "."); System.out.println("The largest float value is " + largestfloat + "."); System.out.println("The largest double value is " + largestdouble + "."); if (Character.isUpperCase(aChar)) { System.out.println("The character " + achar + " is uppercase."); else { System.out.println("The character " + achar + " is lowercase."); System.out.println("The value of aboolean is " + aboolean + "."); 65 Aritmética em programas Java Operadores Aritméticos Binários Operador Uso Descrição + op1 + op2 Adiciona op1 e op2; também usado para concatenar - op1 - op2 Subtrai op2 de op1 * op1 * op2 Multiplica op1 por op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Computa o resto da divisão de op1 por op2 66

34 Aritmética em programas Java: Exemplo4 /* Fonte: icdemo.java */ public class ArithmeticDemo { public static void main(string[] args) { //a few numbers int i = 37; int j = 42; double x = ; double y = 7.22; System.out.println("Variable values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" x = " + x); System.out.println(" y = " + y); //adding numbers System.out.println("Adding..."); System.out.println(" i + j = " + (i + j)); System.out.println(" x + y = " + (x + y)); //subtracting numbers System.out.println("Subtracting..."); System.out.println(" i - j = " + (i - j)); System.out.println(" x - y = " + (x - y)); 67 Aritmética em programas Java: Exemplo4 //multiplying numbers System.out.println("Multiplying..."); System.out.println(" i * j = " + (i * j)); System.out.println(" x * y = " + (x * y)); //dividing numbers System.out.println("Dividing..."); System.out.println(" i / j = " + (i / j)); System.out.println(" x / y = " + (x / y)); //computing the remainder resulting from dividing numbers System.out.println("Computing the remainder..."); System.out.println(" i % j = " + (i % j)); System.out.println(" x % y = " + (x % y)); //mixing types System.out.println("Mixing types..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); 68

35 Operadores relacionais Operadores Relacionais Operador Uso Descrição > op1 > op2 Retorna true se op1 é maior do que op2 >= op1 >= op2 Retorna true se op1 é maior ou igual à op2 < op1 < op2 Retorna true se op1 é menor do que op2 <= op1 <= op2 Retorna true se op1 é menor ou igual à op2 == op1 == op2 Retorna true se op1 e op2 são iguais!= op1!= op2 Retorna true se op1 e op2 não são iguais 69 Operadores Condicionais Ope radores Condicionais Operador Uso Descrição && op1 && op2 Retorna true se op1 e op2 são ambos verdadeiros; condicionalmente avalia op2 op1 op2 Retorna verdadeiro se op1 ou op2 é verdadeiro; condicionalmente avalia op2!!op Retorna verdadeiro se op é falso & op1 & op2 Retorna true se op1 e op2 são ambos lógicos e ambos verdadeiros; sempre avalia op1 e op2; se ambos são números, realiza operação AND bit a bit. op1 op2 Retorna verdadeiro se ambos op1 e op2 são lógicos e nenhum op1 ou op2 é verdadeiro; sempre avalia op1 e op2; se ambos operandos são números, realiza a operação ou bit a bit. ^ op1 ^ op2 Retorna verdadeiro se op1 e op2 são diferentes isto é, se um ou outro dos operandos, mas não ambos, é verdadeiro. 70

36 Operadores relacionais e condicionais: Exemplo 5 public class RelationalDemo { public static void main(string[] args) { //a few numbers int i = 37; int j = 42; int k = 42; System.out.println("Variable values..."); System.out.println(" i = " + i); System.out.println(" j = " + j); System.out.println(" k = " + k); //greater than System.out.println("Greater than..."); System.out.println(" i > j is " + (i > j)); //false System.out.println(" j > i is " + (j > i)); //true System.out.println(" k > j is " + (k > j)); //false //(they are equal) //greater than or equal to System.out.println("Greater than or equal to..."); System.out.println(" i >= j is " + (i >= j)); //false System.out.println(" j >= i is " + (j >= i)); //true System.out.println(" k >= j is " + (k >= j)); //true 71 Operadores relacionais e condicionais: Exemplo 5 //less than System.out.println("Less than..."); System.out.println(" i < j is " + (i < j)); //true System.out.println(" j < i is " + (j < i)); //false System.out.println(" k < j is " + (k < j)); //false //less than or equal to System.out.println("Less than or equal to..."); System.out.println(" i <= j is " + (i <= j)); //true System.out.println(" j <= i is " + (j <= i)); //false System.out.println(" k <= j is " + (k <= j)); //true //equal to System.out.println("Equal to..."); System.out.println(" i == j is " + (i == j)); //false System.out.println(" k == j is " + (k == j)); //true //not equal to System.out.println("Not equal to..."); System.out.println(" i!= j is " + (i!= j)); //true System.out.println(" k!= j is " + (k!= j)); //false 72

37 Operadores relacionais e condicionais: Exemplo 6 import java.util.scanner; public class Aritmética { public static void main(string[] args) { //Declaração de variáveis float x1=0, x2=0, a=0, b=0, c=0, delta; // cria um objeto Scanner Scanner scannerkeyboard = new Scanner(System.in); System.out.println("Calcula as raízes de uma eq. do 2 grau"); System.out.print("Please, enter with a:"); a= scannerkeyboard.nextfloat(); System.out.print("Please, enter with b:"); b= scannerkeyboard.nextfloat(); System.out.print("Please, enter with c:"); c= scannerkeyboard.nextfloat(); //calcula o valor de delta delta = ((float)math.pow(b,2)) - (4*a*c); 73 Operadores relacionais e condicionais: Exemplo 6 /* verifica qual o tipo de raiz * delta > 0 - duas raízes reais distintas * delta = 0 - duas raízes reais e iguais * delta < 0 - raízes complexas */ if (delta == 0){ // cálculo das raízes x1= (-b - (float) Math.sqrt(delta))/(2*a); x2= (-b + (float) Math.sqrt(delta))/(2*a); // Imprime resultado System.out.printf("x1=%f x2=%f",x1,x2); else if (delta > 0 ){ // cálculo das raízes x1=(-b - (float) Math.sqrt(delta))/(2*a);; x2= (-b + (float) Math.sqrt(delta))/(2*a); // Imprime resultado System.out.printf("x1=%7.3f x2=%7.3f",x1,x2); 74

38 Operadores relacionais e condicionais: Exemplo 6 else if (delta < 0){ //declaração de variáveis float x1real, x1imag, x2real, x2imag; // cálculo das raízes complexas x1real= -b /(2*a); x1imag = -(float) Math.sqrt(-1*delta)/(2*a); // x2real = -b /(2*a); x2imag= ((float) Math.sqrt(-1*delta))/(2*a); // Imprime resultado System.out.println("\nRaizes complexas:"); System.out.printf("x1=%5.3f + %5.3fj",x1Real,x1Imag); System.out.printf("\nx2=%5.3f - %5.3fj",x2Real,x2Imag); 75 Operadores relacionais e condicionais: Exemplo 7 import java.util.scanner; public class Fatorial { public static void main(string[] args) { // cria um objeto Scanner Scanner scannerkeyboard = new Scanner(System.in); // cria um objeto FatorialCalculate FatorialCalculate fatcalculate = new FatorialCalculate(); resutaldo // variáveis para o numero do fatorail a ser calculado e o long number =0; long result=0; // pede e lê o númeor System.out.print("\nPor favor, entre um número para calcular o fatorial:"); number=scannerkeyboard.nextlong(); // chama o método fatorial de FatorialCalculate result = fatcalculate.fatorial(number); // imprime o resultado System.out.printf("\nFatorial de %d! = %d",number,result); 76

39 public class FatorialCalculate { Operadores relacionais e condicionais: Exemplo 7 // método que calcula o fatorial de forma recursiva public long fatorial (long numero) { if (numero <= 1) return 1; else return numero * fatorial(numero-1); 77 Operadores relacionais e condicionais Exercício: - Crie um programa que calcule a potência de um circuito monofásico e trifásico dado tensão, corrente e fator de potência. - Crie um programa que calcule o fator de potência dado a potência trifásica, tensão de linha e corrente. 78

40 Classes e objetos Uma classe contém a descrição dos estados e do comportamento de um objeto. Um objeto é uma instância de uma classe. O estado de um objeto é descrito pelos atributos. O comportamento é descrito pelos métodos. 79 Classes e objetos Vários objetos podem ser instâncias de uma mesma classe, mas estes objetos são distintos e podem possuir estados iguais ou diferentes. Mesmo que vários objetos tenham sido instanciado de uma mesma classe, estes objetos continuam sendo distintos, ainda que o estado seja igual. 80

41 Classes e Objetos Declaração do pacote Biblioteca usadas Declaração de classe Variáveis (atributo) Construtor Métodos package biblioteca; import java.util.scanner; public class Livro { private String titulolivro; private String nomeautor; private String nomeeditora; *** public Livro(String titulolivro, String nomeautor, ***) { super(); this.titulolivro = titulolivro; this.nomeautor = nomeautor; this.nomeeditora = nomeeditora; *** public void print() { System.out.println("Titulo:" + titulolivro); System.out.println("Autor:" + nomeautor); System.out.println("Editora:" + nomeeditora); public String getisbn() { return this.isbn; public void setisbn(string isbn) { this.isbn = isbn; 81 *** Variáveis (Atributos) Elementos de Declaração de Variáveis Elemento Função (Optional) Nível de acesso para a variável: Visibilidade private, public, protected static final (Optional) Declara uma variável de classe (Optional) Indica que o valor da variável não pode ser mudado transient (Optional) Indica que o valor é transiente volatile (Optional) Indica que o valor é volátil tipo nome O tipo e o nome da variável 82

42 Variáveis de Instância (Atributos) package basic; import java.util.scanner; public class MathComplex { public static void main(string[] args) { // Declaracao de variaveis simples float real, imaginario; // Declaracao de variaveis de instancia (entrada de dados) Scanner keyboard = new Scanner(System.in); // Imprime mensagem System.out.println("Operacoes sobre numeros complexos"); // Le operando 1 System.out.println("Leitura do operando 1 "); System.out.println("Entre com a parte real : "); // Ler valor do teclado real = keyboard.nextfloat(); // Imprime mensagem System.out.println("Entre com a parte imag.:"); // Ler valor do teclado imaginario = keyboard.nextfloat(); // Cria um objeto instanciado de ComplexNumber // op1 é a variavel de instancia para este objeto ComplexNumber op1 = new ComplexNumber(real, imaginario); 83 Variáveis de Instância (Atributos) // Le operando 2 System.out.println("Leitura do operando 2 "); System.out.println("Entre com a parte real : "); // Ler valor do teclado real = keyboard.nextfloat(); // Imprime mensagem System.out.println("Entre com a parte imag.:"); // Ler valor do teclado imaginario = keyboard.nextfloat(); // Cria um objeto instanciado de ComplexNumber // op1 é a variavel de instancia para este objeto ComplexNumber op2 = new ComplexNumber(real, imaginario); // Realiza calculo op1.add(op2); //Imprime o resultado System.out.println("\n\n\nResultado:"); op1.print(); 84

PRDS - Programa de Residência em Desenvolvimento de Software

PRDS - Programa de Residência em Desenvolvimento de Software PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena lucena@inf.puc-rio.br Rodrigo Paes rbp@les.inf.puc-rio.br Gustavo Carvalho

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 2 Visão Geral da Tecnologia Java Aplicação Hello

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

Leia mais

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

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís. Web Services. Dr. Denivaldo Lopes Ano: 2006.1. maio, 2006. Objetivos da disciplina

Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís. Web Services. Dr. Denivaldo Lopes Ano: 2006.1. maio, 2006. Objetivos da disciplina Universidade Federal do Maranhão UFMA Campus do Bacanga São Luís Web Services Dr. Denivaldo Lopes Ano: 2006.1 maio, 2006 1 Objetivos da disciplina Formar profissionais capazes de desenvolver sistemas computacionais

Leia mais

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

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação? Algoritmos e Programação 2 Baseado no material do Prof. Júlio Pereira Machado Introdução à Programação Orientada a Objetos O que é um paradigma de programação? É um padrão conceitual que orienta soluções

Leia mais

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

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 02 APRESENTAÇÃO: Apresentação; conceitos básicos da linguagem java; estrutura

Leia mais

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Uma Introdução ao J2ME Computação Móvel (MAC5743/MAC330) DCC-IME-USP Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Visão Geral do Java 2 (1) A plataforma Java 2 engloba três elementos:

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

Conexão Socket na MIDP

Conexão Socket na MIDP Conexão Socket na MIDP A comunicação entre diferentes sistemas é comum na programação, e esta regra não desaparece na construção de aplicativos para pequenos dispositivos e, consequentemente, com o Java

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br JAVA Fabrício de Sousa fabbricio7@yahoo.com.br Agenda 2 Características Ambientes de Desenvolvimento Sintaxe Comentários Tipos de dados primitivos Caracteres especiais Variáveis Operadores Aritméticos

Leia mais

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

Leia mais

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

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 Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática Costa clayton.maciel@ifrn.edu.br

Leia mais

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

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

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

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos

Leia mais

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título

Leia mais

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

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações:

Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações: 1 TECNOLOGIA J2ME A J2ME, Java Micro Edition, é uma tecnologia que permite o desenvolvimento de aplicações Java para dispositivos com poder de processamento, vídeo e memória limitados. Possui uma coleção

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

Leia mais

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

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java A linguagem Java surgiu em 1991 quando cientistas da Sun, liderados por Patrick Naughton e James Gosling, projetaram uma linguagem pequena para ser utilizada em eletrodomésticos

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

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

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

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

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40 JAVA Marcio de Carvalho Victorino 1/40 Introdução 2/40 Page 1 Programação OO Elementos do modelo OO: Abstração: é o processo de abstrair as características essenciais de um objeto real. O conjunto de características

Leia mais

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem Java Prof. Leonardo Barreto Campos 1 Sumário Introdução; Histórico do Java; Características do Java; Compilação de um Programa em Java; Modificando o Primeiro Programa em

Leia mais

Introdução à linguagem

Introdução à linguagem A Tecnologia Java 1 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória disponível Processadores fracos Arquitecturas muito diferentes

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 1: Introdução MEEC@IST Java 1/27 História versões (1) [1995] Versão 1.0, denominada Java Development Kit (JDK) 212 classes em 8 pacotes Lento, muitos bugs, mas com Applets

Leia mais

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus Java ME e suas principais tecnologias de conectividade Gracieli Begia Mateus Telefones Celulares no Mundo Fonte: UIT e Wireless Intelligence (Ovum/GSM Association) Posição do Brasil no Mundo Principais

Leia mais

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

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Java 2 Standard Edition Fundamentos de

Java 2 Standard Edition Fundamentos de Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo pretende apenas cobrir conceitos essenciais sobre programação em rede com Java Como criar um

Leia mais

Passagem de Mensagens

Passagem de Mensagens Passagem de Mensagens Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 22 de novembro de 2011 Francisco Silva (UFMA/LSD)

Leia mais

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2 Estrutura de Repetição. Ex. 2 A ESTRUTURA Enquanto faça{} É MELHOR UTILIZADA PARA SITUAÇÕES ONDE O TESTE DE CONDIÇÃO (V OU F) PRECISA SER VERIFICADO NO INÍCIO DA ESTRUTURA DE REPETIÇÃO.

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Introdução ao Java: Definições Linguagem desenvolvida pela SUN para manter o poder computacional do C++ e promover

Leia mais

Comunicação entre processos

Comunicação entre processos Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação

Leia mais

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

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a

Leia mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java

Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java RedFoot J Dukes Uma Visão Geral Sobre Plataforma Java Marco Aurélio malbarbo@din.uem.br 1 Roteiro Objetivos Plataforma Java Linguagem de Programação Maquina Virtual Tecnologias Conclusão 2 Objetivos Geral

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 01 Introdução à Linguagem Java Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

Sistemas Distribuídos Java Sockets

Sistemas Distribuídos Java Sockets Sistemas Distribuídos Java Sockets Departamento de Informática, UFMA Graduação em Ciência da Computação Francisco José da Silva e Silva 1 Introdução a Java Sockets Socket é o ponto final de um enlace de

Leia mais

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.

Leia mais

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

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Java 1 visão geral. Vitor Vaz da Silva

Java 1 visão geral. Vitor Vaz da Silva Java 1 visão geral Vitor Vaz da Silva Introdução 1991 Um grupo de projectistas da Sun Green Team tenta criar uma nova geração de computadores portáteis inteligentes e com grande capacidade de comunicação.

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes E-mail: rxbrito@gmail.

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes E-mail: rxbrito@gmail. Um pouco da história Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes E-mail: rxbrito@gmail.com Introdução a Linguagem Java Java

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

A Plataforma Java 2 Micro Edition Aplicada em Dispositivos Móveis: Sistemas Embarcados para Telefones Celulares

A Plataforma Java 2 Micro Edition Aplicada em Dispositivos Móveis: Sistemas Embarcados para Telefones Celulares Engineering for a better life Universidade Federal do Maranhão A Plataforma Java 2 Micro Edition Aplicada em Dispositivos Móveis: Sistemas Embarcados para Telefones Celulares Monografia BRUNO FERNANDES

Leia mais

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ...

Programação Na Web. Linguagem Java Parte II. break com o nome do bloco. Sintaxe. Nome do bloco. Termina o bloco. António Gonçalves ... Programação Na Web Linguagem Java Parte II Sintaxe António Gonçalves break com o nome do bloco Nome do bloco Termina o bloco class class Matrix Matrix { private private int[][] int[][] mat; mat; public

Leia mais

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único Pacotes e Encapsulamento Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes

Leia mais

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

Slides_Java_1 !$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code. Slides_Java_1!"#$!" $ % & $ Sistemas Informáticos I, 2005/2006 ( Java source code Compile javac Java bytecode Run java Output:!"#) %& Name of program. Must be the same as name of file.!"#$!"$ % & $ Where

Leia mais

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

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

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

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Threads e Sockets em Java. Threads em Java. Programas e Processos

Threads e Sockets em Java. Threads em Java. Programas e Processos Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C Desenvolvimento de Aplicações para Dispositivos Móveis José de Ribamar Martins Bringel Filho Mestre em Ciência da Computação (UFC) bringel@cenapadne.br Roteiro Overview das Plataformas e Linguagens J2ME

Leia mais

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens:

1ª QUESTÃO Linguagem C Vantagens: Desvantagens: Linguagem C++ Vantagens: Desvantagens: 1ª QUESTÃO Linguagem C Vantagens: É uma linguagem simples que nos permite trabalhar com funções matemáticas, ficheiros, entre outras sendo necessário para tal a inclusão de bibliotecas padrão as quais

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Java 2 Micro Edition (J2ME)

Java 2 Micro Edition (J2ME) Java 2 Micro Edition (J2ME) por Filipe Gonçalves Barreto de Oliveira Castilho Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal fgonc@student.dei.uc.pt Resumo: Apresenta-se

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

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

Relevância e Motivação. Programação Orientada a Objetos Utilizando Java. Qualidade do Software. Objetivos. Cancelamentos. Programação Orientada a Objetos Utilizando Java Pedro de Alcântara dos Santos Neto e-mail: pasn@ufpi.edu.br Home Page: http:// www.ufpi.br/pasn Relevância e Motivação Técnicas a serem utilizadas na prática

Leia mais

Capítulo II Modelos de Programação Distribuída

Capítulo II Modelos de Programação Distribuída Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent

Leia mais

Programação de sockets com TCP

Programação de sockets com TCP Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente

Leia mais

Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP. Jorge H. C. Fernandes

Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP. Jorge H. C. Fernandes Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP Jorge H. C. Fernandes Desenvolvimento J2ME/MIDP Agenda Plataforma e Edições Java 2 J2ME - Java 2 Micro Edition MIDP - Mobile Information Device

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Programação Avançada

Programação Avançada Índice 1.1 - Introdução História A plataforma Java 1.2 - Conceitos Fundamentais na programação por objectos Objectos Encapsulamento Classes Herança Polimorfismo Interfaces Pacotes 1/24 1.1 Introdução 1.1

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

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

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

Capítulo 6. Java IO - Ficheiros

Capítulo 6. Java IO - Ficheiros Capítulo 6. Java IO - Ficheiros 1/26 Índice Indice 6.1 - Entrada e saída de dados 6.2 - Ficheiros de texto 6.3 - Ficheiros com formato proprietário 6.4 - A classe File 2/26 Índice 6.1 Entrada e saída de

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre

Leia mais

UMA ABORDAGEM SOBRE J2ME

UMA ABORDAGEM SOBRE J2ME UMA ABORDAGEM SOBRE J2ME Júlio César Jardim Júnior 1, Elio Lovisi Filho (Orientador) 1 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rua Palma Bageto Viol, s/n Barbacena - MG.

Leia mais

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO

INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO Ramon R. Rabello, Pedro J. Treccani, Thienne M Johnson Universidade da Amazônia, Av Alcindo Cacela, 287, Belém, PA CEP 66092-010 ramon.rabello@gmail.com,

Leia mais

Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Paradigmas de programação (1) Um paradigma de programação fornece (e determina) a visão que o programador possui sobre

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

7/7/2010. Confiabilidade Independência de Plataforma Segurança Oak se transforma em Java

7/7/2010. Confiabilidade Independência de Plataforma Segurança Oak se transforma em Java Cay Horstmann, Gary Cornell. Core Java, Volume 1 - Fundamentos. Editora: Prentice Hall. Ano: 2007. Edição: 8 The Java Tutorials http://java.sun.com/docs/books/tutorial/ Standard Edition Revisão Geral Fernando

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

LINGUAGEM DE PROGRAMAÇÃO JAVA

LINGUAGEM DE PROGRAMAÇÃO JAVA LINGUAGEM DE PROGRAMAÇÃO JAVA Curso de Especialização em Tecnologia Java UTFPR Capítulo 1 Parte 1 Introdução à tecnologia Java Ambiente de desenvolvimento Java Introdução à Tecnologia Java O que é Java?

Leia mais