linguagem de programação orientada a objetos - lpoo · linguagem de programação orientada a...

27
Linguagem de Programação Orientada a Objetos - LPOO Aula 1 Introdução e Impressão Unip Universidade Paulista Profs. Rafael de Alencar Segura, Vladimir Camelo, Gustavo Molina Última atualização:1º Sem 2018

Upload: others

Post on 12-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Linguagem de Programação Orientada a Objetos - LPOO

Aula 1 – Introdução e Impressão

Unip – Universidade Paulista

Profs. Rafael de Alencar Segura, Vladimir Camelo, Gustavo Molina Última atualização:1º Sem 2018

Page 2: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Agenda

• Algoritmos

• Introdução ao JAVA

– Histórico

– JVM- Java Virtual Machine

• Características

– Estudo do Ambiente para o desenvolvimento

de programas;

– Edição, compilação e enlace;

– Execução e Configuração;

Page 3: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Introdução ao JAVA [I/II]

• Histórico

– Primeiros passos 1991, primeira versão disponível para download: 1995.

– Originalmente desenvolvido para dispositivos eletrônicos inteligentes de consumo popular.

– Depois utilizado para criar páginas da Web com conteúdo dinâmico.

Agora também utilizado para:

Desenvolver aplicativos corporativos de larga escala.

Aprimorar funcionalidades de servidores Web.

Fornecer aplicativos para dispositivos de consumo popular (telefones celulares etc.)

Page 4: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Introdução ao JAVA [II/II]

• Programas Java

– Consistem em partes chamadas classes, as

quais incluem métodos que realizam tarefas

e retornam informações ao concluir.

– Programadores podem criar classes e

métodos para construir programas Java.

• O Java oferece bibliotecas de classe

– Conhecidas como Java APIs (Application

Programming Interfaces) ou APIs do Java.

Page 5: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Java Virtual Machine (JVM)

• É uma abstração, provendo, um ambiente multi

plataforma para publicação de aplicativos JAVA;

• Recebe chamadas bytecodes;

• Chamadas são independentes do SO;

• Bytecodes são gerados a partir de um

compilador JAVA;

Arquivo .java Arquivo .class JVM

fonte compilador interpretador

Page 6: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Exemplo JVM

class Teste {

public static void main (String args[ ]) {

System.out.print(“Primeira aula”);

System.out.print(“Linguagem Java”);

}

Teste.java

Compilador JAVA

Êþº¾???1?�

? ?� ?�?��?�

?�?��?� ?� ?��?�<init>�?�()V�?�Code�?�LineNumberTable�?�main�?�([Ljava/lang/String;)V�?

SourceFile�?

Teste.java?�? ?�?�?��?

Bytecodes

JVM

Page 7: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Sequência de criação/execução

Código-fonte

Compilador

Interpretador

Execução do Programa

Erros?

Teste.java

Teste.class

Bytecodes

Não

Sim

Ajustar

Código-fonte

Na fase de execução é

necessário que haja a

Máquina Virtual Java

(MVJ)

A MVJ interpreta os

bytecodes gerados

pelo interpretador.

O objetivo da MVJ é

permitir que qualquer

sistema operacional

possa executar uma

aplicação Java

Page 8: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

JAVA - Principais Características

• É uma linguagem de desenvolvimento orientada a objetos;

• É Multiplataforma; • Uma coleção de APIs (classes, componentes,

frameworks) para o desenvolvimento de aplicações multiplataforma;

• Um ambiente de execução presente em browsers, mainframes, SOs, celulares, palmtops, cartões inteligentes, eletrodomésticos;

• A evolução da linguagem é controlada pelo Java Community Process (www.jcp.org) formado pela Sun e usuários Java

Page 9: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Versões do JAVA

• As principais APIs são distribuídas juntamente com os produtos para desenvolvimento de aplicações – Java 2 Standard Edition (J2SE): ferramentas e APIs

essenciais para qualquer aplicação Java (inclusive GUI)

– Java 2 Enterprise Edition (J2EE): ferramentas e APIs para o desenvolvimento de aplicações distribuídas

– Java 2 Micro Edition (J2ME): ferramentas e APIs para o desenvolvimento de aplicações para aparelhos portáteis

Page 10: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Ambiente de desenvolvimento Java [I/II]

• Programas Java normalmente passam por cinco fases:

– Edição

• O programador escreve programa (e armazena o programa em disco).

– Compilação

• O compilador cria bytecodes a partir do programa.

– Carga

• O carregador de classe armazena bytecodes na memória.

– Verificação

• O verificador de bytecodes confirma que os bytecodes não violam restrições de segurança.

– Execução

• A JVM traduz bytecodes em linguagem de máquina.

Page 11: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Ambiente de desenvolvimento Java [II/II]

Page 12: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Welcome1.java 1 // Fig. 2.1: Welcome1.java

2 // Programa de impressão de texto.

3

4 public class Welcome1

5 {

6 // método main inicia a execução do aplicativo Java

7 public static void main( String args[] )

8 {

9 System.out.println( "Welcome to Java Programming!" );

10

11 } // fim do método main

12

13 } // fim da classe Welcome1

Welcome to Java Programming!

Primeiro programa Java

Page 13: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Comentários iniciam com: // • Comentários ignorados durante a execução do programa.

• Documentam e descrevem o código.

• Fornecem legibilidade do código.

Comentários tradicionais: /* ... */ /* Este é um comentário tradicional. Ele pode se estender por várias linhas */

Nota: os números de linha não fazem parte do programa; eles foram adicionados para referência.

Explicação [I/VI]

1 // Fig. 2.1: Welcome1.java

2 // Programa de impressão de texto.

Page 14: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

– Linha em branco.

• Torna o programa mais legível.

• Linhas em branco, espaços e tabulações são caracteres de espaço em branco.

– Ignorados pelo compilador

– Inicia a declaração de classe para a classe Welcome1

• Cada programa Java tem pelo menos uma classe definida pelo usuário.

• Palavra-chave: palavras reservadas para uso pelo Java.

– Palavra-chave class seguida pelo nome da classe.

• Atribuindo nomes de classes: coloque a inicial de cada palavra em maiúscula.

– ExemploDeNomeDeClasse

3

4 public class Welcome1

Explicação [II/VI]

Page 15: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

– Salvando arquivos: • O nome do arquivo deve possuir a extensão .java.

•Welcome1.java

– Chave esquerda { • Inicia o corpo de toda classe.

• A chave esquerda termina as declarações (linha 13).

4 public class Welcome1

5 {

Explicação [III/VI]

Page 16: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

– Parte de todo aplicativo Java:

• Aplicativos começam a executar em main. – Parênteses indicam que main é um método .

– Aplicativos Java contêm um ou mais métodos.

• Exatamente um método deve se chamar main.

– Métodos podem realizar tarefas e retornar informações: • void significa que main não retorna nenhuma informação.

• Por enquanto, simula a primeira linha de main.

– A chave esquerda, {, inicia o corpo de declaração do método.

– A chave direita, }, termina o corpo (linha 11 do programa).

7 public static void main( String args[] )

8 {

Explicação [IV/VI]

Page 17: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

–Instrui o computador a realizar uma ação:

• Imprime strings de caracteres. – String: série de caracteres entre aspas duplas.

• Espaços em branco em strings não são ignorados pelo compilador.

–System.out: • Objeto de saída-padrão.

• Imprime na janela de comando (isto é, Prompt do MS-DOS).

–Método System.out.println: • Exibe uma linha de texto.

–Isso é conhecido como uma declaração:

• Instruções terminam com ponto-e-vírgula ( ;).

9 System.out.println( "Welcome to Java Programming!" );

Explicação [V/VI]

Page 18: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

– Termina a declaração de método.

– Termina a declaração da classe.

– É possível adicionar comentários para

monitorar chaves finais.

11 } // fim do método main

13 } // fim da classe Welcome1

Explicação [VI/VI]

Page 19: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

• O Java diferencia letras maiúsculas de

minúsculas [é “case sensitive”]. Não

diferenciar as letras maiúsculas e

minúsculas adequadas para um

identificador normalmente causa um

erro de compilação, onde a1 e A1 são

diferentes.

Erros comuns em Java

Page 20: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Primeiro Programa em Java com o Eclipse

class Teste {

public static void main (String args[ ]) {

System.out.print(“Primeira aula”);

System.out.print(“da Linguagem Java”);

}

}

1) Abrir o Eclipse e digitar o código abaixo

2) Salve o documento como Teste.java [o mesmo nome da classe

obrigatoriamente].

3) Execute o programa.

Page 21: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Utilizando o println

class Teste {

public static void main (String args[ ]) {

System.out.println(“Primeira aula”);

System.out.println(“da Linguagem Java”);

}

Agora teste com o println.

Page 22: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Caracteres de formatação

\n Nova linha. Posiciona o cursor de tela no início da

próxima linha

\t Tabulação horizontal. Move o cursor de tela para a

próxima parada de tabulação

\r

Retorno de carro. Posiciona o cursor de tela no início

da linha atual; não avança para a próxima linha.

Qualquer saída de caracteres depois do retorno de

carro sobrescreve a saída anterior de caracteres na

linha atual

\\ Barra invertida. Utilizado para imprimir o caractere

barra invertida

\” Aspas duplas. Utilizado para imprimir o caractere

aspas duplas

Page 23: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Exemplos de utilização dos caracteres de formatação

class Teste {

public static void main (String args[ ]) {

System.out.println(“Primeira aula da \n Linguagem Java”);

}

class Teste {

public static void main (String args[ ]) {

System.out.println(“Primeira aula da \t Linguagem Java”);

}

class Teste {

public static void main (String args[ ]) {

System.out.println(“Primeira aula da \r Linguagem Java”);

}

Page 24: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Exercícios [I/II]

2.18 Escreva um aplicativo que exibe uma caixa, uma oval, uma seta e um

losango utilizando asteriscos (*) como segue a figura abaixo:

2.19 O que o seguinte código imprime?

System.out.println (“*\n**\n***\n****\n*****”);

2.20 O que o seguinte código imprime?

System.out.println (“*”);

System.out.println (“***”);

System.out.println (“*****”);

System.out.println (“****”);

System.out.println (“***”);

Page 25: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

2.21 O que o seguinte código imprime?

System.out.print (“*”);

System.out.print (“***”);

System.out.print (“*****”);

System.out.print (“****”);

System.out.println (“**”);

Exercícios [II/II]

2.22 O que o seguinte código imprime?

System.out.print (“*”);

System.out.println (“***”);

System.out.println (“*****”);

System.out.print (“****”);

System.out.println (“**”);

2.27 Escreva um aplicativo que exibe um tabuleiro de damas como a seguir:

Page 26: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

Ambientes de desenvolvimento e Execução

• Java Development Kit (JDK) (java.sun.com) – Coleção de ferramentas de linha de comando para, entre outras

tarefas, compilar, executar e depurar aplicações Java

– Para habilitar o ambiente via linha de comando é preciso colocar o caminho $JAVA_HOME/bin no PATH do sistema

• Java Runtime Environment (JRE) (java.sun.com) – Tudo o que é necessário para executar aplicações Java

Page 27: Linguagem de Programação Orientada a Objetos - LPOO · Linguagem de Programação Orientada a Objetos - LPOO Aula 1 – Introdução e Impressão Unip – Universidade Paulista

• Deitel , H.M. Java: Como Programar -6.

ed- São Paulo: Pearson Prentice Hall,

2005.

• Site da oracle:

http://www.oracle.com/technetwork/pt/java/

javase/overview/index.html

Referências Bibliográficas