Introdução Introdução Sintaxe Básica da Sintaxe Básica da
LinguagemLinguagemJAVAJAVA
Faculdade Mauricio de NassauLinguagem de Programação II
Curso de Engenharia de Telecomunicações
• Revisão• Estrutura Básica• Identificadores• Tipos Primitivos• Operadores
SumárioSumário
O que é Programação O que é Programação Orientada a Objetos ?Orientada a Objetos ?
• É um paradigma de programação de computadores onde se usam classes e objetos, criados a partir de modelos.
ClassesClasses
• São estruturas das linguagens de programação orientadas a objetos para representar determinado modelo.
• Cada classe deve ter um nome que seja facilmente associável ao modelo que a classe representa.
Objetos
• Um objeto ou instância é uma materialização da classe, e assim pode ser usado para representar dados e executar operações.
Principais CaracterísticasPrincipais Características
• Orientada a objetos– Java é uma linguagem puramente
orientada a objetos.• Sem Ponteiros
– Java não possui ponteiros, isto é, não permite a manipulação direta de endereços de memória.
Principais CaracterísticasPrincipais Características
• Coletor de lixo (Garbage Collector)– Possui um mecanismo automático de
gerenciamento de memória.
• Permite Multithreading– Múltiplas rotinas concorrentemente.
Principais CaracterísticasPrincipais Características
• Independente de plataforma– Programas Java são compilados para uma
forma intermediária (bytecodes).
• Tratamento de exceções– Permite o tratamento de situações
excepcionais. – Possui exceções embutidas e permite a
criação de novas exceções.
Principais CaracterísticasPrincipais Características
• Máquina Virtual Java– Utiliza o conceito de máquina virtual;– Camada responsável por interpretar os
bytecodes.
Fases de um programa Fases de um programa JavaJava
Fases de um programa Fases de um programa JavaJava
• Os programas Java normalmente passam por cinco fases para serem executados:– Fase 1 (Edição): Consiste em editar um
arquivo com código em Java e salvá-lo com a extensão .java;
– Fase 2 (Compilação): Comando javac compila o programa. O compilador Java traduz (.java => .class);
Fases de um programa Fases de um programa JavaJava
– Fase 3 (Carga): Carrega o programa na memória antes de ser executado. Carregador de classe, pega o arquivo(s) .class que contém os bytecodes.
– Fase 4 (Verificação): O verificador assegura que os bytecodes são válidos e não violam as restrições de segurança de Java.
Fases de um programa Fases de um programa JavaJava
– Fase 5 (Execução): A JVM máquina virtual Java (Interpretador) interpreta (em tempo de execução) o programa, realizando assim a ação especificada pelo programa.
Estrutura BásicaEstrutura Básica
• Quatro elementos básicos:– Pacotes;– Classes;– Métodos;– Variáveis.
Estrutura BásicaEstrutura BásicaPacotesPacotes
• Classes que compõem o núcleo de funcionalidades Java.
• Package Java é um mecanismo para agrupar classes de finalidades afins ou de uma mesma aplicação.
Estrutura BásicaEstrutura BásicaPacotesPacotes
• Além de facilitar a organização conceitual das classes, permite localizar cada classe necessária durante a execução da aplicação.
• A principal funcionalidade de um pacote Java é evitar a explosão do espaço de nome.
Estrutura BásicaEstrutura BásicaPacotesPacotes
• Entre os principais pacotes oferecidos estão:– java.lang;– java.util;– java.io;– java.net.
Estrutura BásicaEstrutura BásicaPacotesPacotes
• Package é uma coleção de classes e interfaces relacionadas fornecendo proteção de acesso e gerenciamento de nomes de diretórios.
• Usamos a declaração import para acessar essas classes.
import java.lang.*;
Estrutura BásicaEstrutura BásicaPacotesPacotes
• Para colocarmos uma classe em um pacote, deve-se inserir a diretiva package com o nome do pacote no início da classe.
package br.com.cap.pdf.profiler;
Estrutura BásicaEstrutura BásicaCódigo JavaCódigo Java
• Java possui um formato básico para a escrita de códigos. Tal formato é demonstrado abaixo:
Estrutura BásicaEstrutura Básica Código Java Código Java
• linhas 1 e 2: representam comentários. Pode conter qualquer informação relevante;
• linha 3: está em branco, pois Java permite linhas em branco entre os comandos;
Estrutura BásicaEstrutura Básica Código Java Código Java
• linha 4: é a declaração do "nome do programa", case-sensitive (existe diferença entre maiúsculas e minúsculas).
• O arquivo deve ser salvo com o nome (NomeDoPrograma.java).
Estrutura BásicaEstrutura Básica Código Java Código Java
• linhas 5 e 8: a abertura de chave { indica início de bloco;
• linha 8: essa linha indica à Java Virtual Machine que o programa será executado. Os demais programas não conterão o método main();
"Quando um programa Java é executado, o interpretador da JVM executa os comandos que estiverem dentro do bloco indicado pelo
método "static public void main(String)".
Estrutura BásicaEstrutura Básica Código Java Código Java
• linha 9: aqui seria escrito o código propriamente dito;
• linhas 10 e 11: o fechamento de chave } indica fim de bloco.
Estrutura BásicaEstrutura Básica Comentários
• Informação entre os caracteres de comentário será ignorada;– Linha:
//isto é um comentário e inicia com duas barras.int valor; // e pode estar no final da linha
– Bloco:/* Comentário em bloco
Aceita múltiplas linhas Não utilize comentários aninhados */
Estrutura BásicaEstrutura Básica Comentários
• As regras que tratam dos comentários em Java são:– comentários não podem ser aninhados;– não podem ocorrer dentro de strings ou
literais;– as notações /* e */ não tem significado
dentro dos comentários //; – a notação // não tem significado dentro dos
comentários /* e /**.
Estrutura BásicaEstrutura Básica Comentários
• javadoc:– É tipo especial de comentário, utilizado
para gerar documentação da API do código Java.
/** isto é um comentário para geração de javadoc */
Estrutura BásicaEstrutura Básica Identificadores
• São usados para determinar nomes de variáveis, atributos de classe ou instância, parâmetros e métodos;
• Os identificadores em Java iniciam com:– uma letra;– um sublinhado (_);– ou um sinal de dólar "$";
Estrutura BásicaEstrutura Básica Identificadores
• Podem possuir números após o primeiro caractere da palavra;
• Case-sensitive existe uma diferenciação entre letras maiúsculas e minúsculas.– private String Nome;– private String nome;
Estrutura BásicaEstrutura Básica Identificadores
• Convenções:– Constantes com todas as letras em
maiúsculo: CONSTANTE
– Variáveis e métodos começam com letra minúscula: variável
– Classes e interfaces começam com letra maiúscula: Classe
Estrutura BásicaEstrutura Básica Identificadores
• Convenções:– Se o identificador for um nome composto
por mais de uma palavra, cada nova palavra começa com letra maiúscula:
variávelComNomeCompostoenderecoResidencial
ClasseComNomeCompostoBancoBrasil
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Existem 8 tipos primitivos em Java :– Seis deles são numéricos;– Os outros dois são caractere e booleano.
• Os tipos Array e String não são tipos primitivos, são Classes e serão em outra oportunidade.
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Tipos Numéricos Inteiros:
– Java é portável, esses valores são os mesmos para qualquer plataforma de hardware.
Tipo Tamanho Faixa de Valoresint 4 bytes -2.147.483.648 até
2.147.483.647short 2 bytes -32.768 até 32.767byte 1 byte -128 até 127long 8 bytes -9.223.372.036.854.775.808 até
9.223.373.036.854.775.807
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Tipos Numéricos Flutuantes:– Valores numéricos com ponto flutuante:
– números do tipo float aparecem com um sufixo F. (2.04F2.04F).
Tipo Tamanho Faixa de Valoresfloat 4 bytes +/- 3.40282347E+38F
(aproximandamente 7 dígitossignificativos)
double 8 bytes +/- 1.79769313486231570E+308(15 dígitos significativos)
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Tipos Numéricos de Ponto Flutuante:
– números do tipo float aparecem com um sufixo F. (2.04F2.04F).
Tipo Tamanho Faixa de Valoresfloat 4 bytes +/- 3.40282347E+38F
(aproximandamente 7 dígitossignificativos)
double 8 bytes +/- 1.79769313486231570E+308(15 dígitos significativos)
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Tipo caractere:– Representa apenas uma letra ou número;
– Esse tipo serve para representar caracteres usando a tabela Unicode;
Tipo Tamanho Faixa de Valoreschar 2 bytes 0 até 65536
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Tipo caractere:– Dessa tabela faz parte a tabela ASCII e
mais alguns caracteres especiais;
– O tipo char é sempre representado por aspas simples (‘h’);
– Caracteres representados por aspas duplas (“h”) na verdade são Strings.
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Tipo booleano:– Possui apenas dois valores, true ou false;
– É usado apenas para testes lógicos.
Tipo Tamanho Faixa de ValoresBoolean 1 bit true ou false
Estrutura BásicaEstrutura Básica Tipos Primitivos
• Valores Padrão:Tipo Valorbyte 0short 0int 0long 0float 0.0double 0.0boolean falsechar \u0000
Estrutura BásicaEstrutura Básica Operadores
• Atribuição:– Feita através do operador “=”: <identificador> = <valor>;
– Declaração da variável: float umFloat = 0.5; char caracter = ‘i’;– Após declaração da variável: idade = 18; existe = true;
Estrutura BásicaEstrutura Básica Operadores
• Aritméticos:– Efetuam operações aritméticas em um ou
mais tipos primitivos.
Operador Nome Exemplo+ Adição 7+10- Subtração 8-2* Multiplicação 0.27*3/ Divisão 100/40% Módulo 57%5
Estrutura BásicaEstrutura Básica Operadores
• Relacionais:– Testes e condições de entrada em um
fluxo do programa.
Operador Nome Exemplo== Igual 10==10!= Diferente 8!=2< Menor 4<6> Maior 10>9<= Menor ou Igual 3<=3>= Maior ou Igual 5>=3
Estrutura BásicaEstrutura Básica Operadores
• Lógicos:– Testes e condições de entrada em um
fluxo do programa.
Operador Nome Exemplo&& AND (0 < 2) && ( 10 > 5)|| OR ( 10 >11 ) || (10 < 12 )! NOT !( 1= = 4 )^ XOR ( 1!= 0) ^ ( 3< 2 )?: Condicional 3>2? (comando):
(comando)
Estrutura BásicaEstrutura Básica Operadores
• Atribuição Composta:– Formada com operadores aritméticos ou
lógicos; a += b; // Equivalente a: a = a + b; a *= 3; // Equivalente a: a = a * 3;
Estrutura BásicaEstrutura Básica Operadores
• Incremento e Decremento:– Incremento é dado pelo operador ++ e o
decremento pelo operador --;
– Pode ser feito antes ou depois da utilização da variável;
Estrutura BásicaEstrutura Básica Operadores
• Incremento e Decremento:– Colocando–se antes (++var ou --var), será
realizado o incremento ou decremento e depois o valor da variável será utilizado;
– Depois (var++ ou var--), faz com que o valor da variável seja utilizado primeiro e o incremento ou decremento seja feito depois.
Estrutura BásicaEstrutura Básica Operadores
• Precedência:– Operadores em ordem decrescente de
precedência, isto é, o que está mais acima ocorre antes: ++ - - !
* / %+ -
<> <= >=== !=
^&&||
= *= /= %= += -=