introdução a linguagem ava - · pdf file“sem ponteiros”. ......

37
INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected] Curso Técnico de Informática-Integrado INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE 19/08/2016

Upload: lylien

Post on 21-Mar-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

INTRODUÇÃO A LINGUAGEM JAVA

Docente: Éberton da Silva Marinho

e-mail: [email protected]

[email protected]

Curso Técnico de Informática-Integrado

INSTITUTO FEDERAL DE EDUCAÇÃO,

CIÊNCIA E TECNOLOGIA DO RIO

GRANDE DO NORTE

19/08/2016

Page 2: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

SUMÁRIO

Conceitos Básicos

POO em Java

Page 3: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

JAVA Conceitos Básicos

Page 4: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

HISTÓRICO

A linguagem de programação Java foi criada em

1991 por James Gosling

Inicialmente a linguagem iria chamar-se Oak

(Carvalho) em referência a árvore que era visível

pela janela de James Gosling.

A mudança de nome ocorreu pois já existia uma

linguagem de programação com este nome, então

a linguagem foi rebatizada para Java.

Page 5: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CARACTERÍSTICAS

Linguagem de programação orientada a objetos; a

exceção dos seus tipos primitivos, tudo são

classes ou instâncias de uma classe. Oferece

mecanismos de abstração, encapsulamento e

hereditariedade

Ambiente de desenvolvimento composto pelo

compilador, interpretador, gerador de

documentação e etc.;

Ambiente de execução que pode ser praticamente

qualquer máquina que possua Java Runtime

Environment (JRE) instalado, uma máquina

virtual Java (JVM); Independente de plataforma;

Page 6: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CARACTERÍSTICAS

A linguagem Java é muito familiar para os

programadores C/C++ ;

Aplicações Java são executadas em ambiente próprio

(JRE) o que inviabiliza a intrusão de código malicioso;

Mais segurança

“Sem ponteiros”. A manipulação dos endereços de

memória (alocação e desalocação de memória) ficam

por conta da JVM. A JVM possui um mecanismo

(garbage collector) que recupera a memória alocada

para objetos não referenciados pelo programa

Permite Multithreading; Java permite a execução de

múltiplas rotinas concorrentemente, bem como

mecanismos de sincronização de tais rotinas

Page 7: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

MÁQUINA VIRTUAL JAVA - JVM

A máquina virtual java (JVM) é uma máquina

imaginária que emula uma aplicação em uma

máquina real.

É a JVM que permite a portabilidade do código

Java, isto ocorre porque todo código Java é

compilada para um formato intermediário,

bytecode, este formato é então interpretado pela

JVM.

Cada Sistema Operacional que tenha uma JVM

instalada pode executar o código Java

Page 8: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

COLETOR DE LIXO – GARBAGE

COLLECTION

Em muitas das linguagens de programação,

inclusive C e C++, a responsabilidade pela

liberação do espaço que não mais será utilizado é

do programador

nem sempre é fácil gerenciar o que está e o que não

está sendo utilizado

a má gerência da memória ocasiona muitas vezes o

estouro de pilha (stack overflow) entre outros

problemas.

Na linguagem de programação Java a

responsabilidade pela gerência da memória é do

Coletor de lixo (Garbage Collector)

Page 9: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

FASES DE UM PROGRAMA JAVA

1. Criação do código fonte (Programa.java);

2. Compilação do código fonte e geração do

bytecode (Programa.class);

3. Interpretação do bytecode pela máquina virtual;

4. Conversão do bytecode em linguagem de

máquina.

Page 10: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

HOTSPOT

As informações, relativas ao ambiente no qual a

aplicação está sendo executada, são utilizadas pela

JVM para fazer otimizações em tempo de execução e

havendo necessidade o código que está sendo

interpretado é transformado em instruções nativas do

sistema operacional (código de máquina) em um

processo de compilação dinâmica.

Esta transformação em tempo de execução é realizada

pelo JIT, Just-in-time compiler. O fato do código

(bytecode) ser transformado, em tempo de execução,

em código de máquina permite que a JVM mude a

estratégia de compilação em busca de um melhor

desempenho, em um ciclo de “aprendizado” contínuo.

Page 11: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

JRE E JDK

JRE: O Java Runtime Environment contém tudo

aquilo que um usuário comum precisa para

executar uma aplicação Java (JVM e bibliotecas),

como o próprio nome diz é o “Ambiente de

execução Java”;

JDK: O Java Development Kit é composto pelo

JRE e um conjunto de ferramentas úteis ao

desenvolvedor Java.

Page 12: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

VERSÕES DO JAVA

JDK 1.0 (1996): Primeira versão;

JDK 1.1 (1997): Adição das bibliotecas JDBC, RMI e etc;

J2SE 1.2 (1998) - Playground: A partir daqui todas as versões Java foram denominadas de Java 2 Standard Edition e foi adicionado o Framework Collections e etc.;

J2SE 1.3 (2000) – Kestrel: Inclusão das bibliotecas JNDI, JavaSound e etc.;

J2SE 1.4 (2002) – Merlin: Palavra reservada “assert”, biblioteca NIO e etc.;

6. J2SE 5.0 (2004) – Tiger: Apesar da versão ser 1.5, agora é chamada apenas de 5. Adições importantes como: Enumeração, Autoboxing, Generics, for-each e etc;

7. JSE 6 (2006) – Mustang: Entre outras alterações houveram mudança na nomenclatura (remoção do 2 – J2SE) e melhora significativa na performance.

Page 13: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

FERRAMENTAS DO JDK

javac: Compilador da linguagem Java;

java: Interpretador Java;

jdb: Debugador Java;

java -prof: Interpretador com opção para gerar estatísticas sobre o uso dos métodos;

javadoc: Gerador de documentação;

jar: Ferramenta que comprime, lista e expande;

appletviewer: Permite a execução e debug de applets sem browser;

javap: Permite ler a interface pública das classes;

extcheck: Detecta conflitos em arquivos Jar.

Page 14: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

INSTALAÇÃO DO JDK

Download:

http://www.oracle.com

JAVA_HOME: Indica o diretório onde foi instalado o JDK, muito utilizado por frameworks e por outros programas para localizar o JDK;

PATH: Identifica o local onde encontram-se as ferramentas de desenvolvimento (compilador, interpretador, gerador de documentação e etc.), devemos adicionar o diretório JAVA_HOME\bin;

CLASSPATH: Identifica diretório onde o ClassLoader pode encontrar classes que são utilizadas pela sua aplicação.

Page 15: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

IDE NETBEANS

Page 16: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

REQUISITOS BÁSICOS

JDK Instalado

Máquina com uma capacidade de processamento

razoável

Page 17: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

INSTALAÇÃO DO JDK

Baixar o JDK do site da sun:

http://www.oracle.com

Iniciar o processo de instalação do JDK

Aceitar termos e licenças de uso

Configurar ambiente de trabalho

Page 18: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

PRIMEIRO PROGRAMA

public class PrimeiroPrograma {

public static void main(String[] args) {

System.out.println("Olá Mundo!!");

System.out.println("Meu primeiro programa em Java.");

}

}

Page 19: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

NOMENCLATURA

Identificadores válidos: Definem as regras

para que o compilador identifique o nome como

válido.

1. Devem iniciar com uma letra, cifrão ($) ou

sublinhado/underscore (_);

2. Após o primeiro caractere podem ter qualquer

combinação de letras, caracteres e números;

3. Não possuem limite de tamanho;

4. Não podem ser palavras reservadas;

5. Identificadores são case-sensitive isto é, “Nome” e

“nome” são identificadores diferentes.

Page 20: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

NOMENCLATURA - EXEMPLOS

Page 21: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONVENÇÃO DE NOMENCLATURA DA

SUN

1. Classes e interfaces: A primeira letra deve ser

maiúscula e, caso o nome seja formado por mais

de uma palavra, as demais palavras devem ter

sua primeira letra maiúscula também

(CamelCase);

2. Métodos: A primeira letra deve ser minúscula e

após devemos aplicar o camelCase;

3. Variáveis: Da mesma forma que métodos;

4. Constantes: Todas as letras do nome devem ser

maiúsculas e caso seja formada por mais de

uma palavra separada por underscore.

Page 22: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

TIPOS PRIMITIVOS,

OPERADORES

E CONTROLE DE FLUXO

Page 23: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

TIPOS DE DADOS

Page 24: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONVERSÕES ENTRE TIPOS JAVA

Page 25: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

OPERADORES

Page 26: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

OPERADORES

Page 27: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

OPERADORES

Page 28: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

OPERADORES

Page 29: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONTROLE DE FLUXO

Page 30: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONTROLE DE FLUXO

Page 31: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONTROLE DE FLUXO

Page 32: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONTROLE DE FLUXO

Page 33: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONTROLE DE FLUXO

break e continue

Page 34: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

CONTROLE DE FLUXO

break e continue

Page 35: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

ENTRADA DE DADOS

//importe a classe Scanner para utilizar a leitura pelo teclado

//Similar ao #include do C

import java.util.Scanner;

public class Leitura {

public static void main(String[] args) {

// crie a variável de leitura dos dados

Scanner s = new Scanner(System.in);

// use os métodos de leitura específicos do tipo desejado

System.out.print("digite uma linha: ");

String linha = s.nextLine(); // le a linha

System.out.print("digite um numero: ");

int i = s.nextInt(); // le um inteiro

System.out.print("digite um numero: ");

double d = s.nextDouble(); // le um ponto-flutuante

System.out.print(" Primeira linha: "+linha);

System.out.print(" Primeiro número: "+i);

System.out.print(" Segundo número: « +d);

}

}

Page 36: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

EXERCÍCIOS

Page 37: INTRODUÇÃO A LINGUAGEM AVA - · PDF file“Sem ponteiros”. ... memória (alocação e desalocação de memória ... versões Java foram denominadas de Java 2 Standard Edition e

DÚVIDAS

e-mail:

[email protected]

[email protected]

Endereço eletrônico da disciplina:

http://docente.ifrn.edu.br/ebertonmarinho

37