java na cabeça – mudando de paradigma java é uma linguagem puramente orientada a objetos tudo em...

Post on 02-Feb-2019

223 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java na Cabeça – Mudando de Paradigma

ADS/Redes – RONNISON REGES VIDAL

CEARÁ, 26 de Outubro de 2016

ROTEIRO

● Senta que lá vem a história

● Características

● Vamos aos Códigos!

ROTEIRO

● Senta que lá vem a história

● Características

● Vamos aos Códigos!

● Maratona!

HISTÓRIA DO JAVA

Em 1992, A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas

Esse time foi liderado por James Gosling, considerado o Pai do Java

Ideia de criar um interpretador para pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrônicos

O projeto resultou em uma linguagem baseada em C e C++ chamada Oak

A inspiração do nome Java surgiu em uma cafeteria local, cujo café vinha de uma ilha da Indonésia chamada Java 1993 a Sun aposta no imediato potencial de utilizar Java para criar páginas da Web com o chamado conteúdo dinâmico

HISTÓRIA DO JAVA

Na metade de 1994, construiu um browser chamado HotJava. Em maio de 1995, a Sun anunciou Java formalmente. Em Janeiro de 1996, a Netscape decide dar suporte a Java (browser Navigator). Em 1996, foi disponibilizada a primeira versão do Java (JDK 1.0).

Atualmente, Java é utilizado :

● páginas da Web com conteúdo interativo e dinâmico

● Aplicativos corporativos de grande porte

● Fornecer aplicativos para dispositivos destinados ao consumidor final

HISTÓRIA DO JAVA

CARACTERÍSTICAS

● Orientada a objetos

● Java é uma linguagem puramente orientada a objetos

● Tudo em Java são classes ou instâncias de classes, com exceção de seus tipos primitivos de dados

● Sem Ponteiros

● Java não possui ponteiros, isto é, Java não permite a manipulação direta de endereços de memória

● Coletor de lixo (Garbage Collector)

● Possui um mecanismo automático de gerenciamento de memória.

● Permite Multithreading

● Recursos que permite o desenvolvimento de aplicações capazes de executar múltiplas rotinas concorrentemente

Independente de plataforma

Programas Java são compilados para uma forma intermediária (bytecodes)Tratamento de exceçõesPermite o tratamento de situações excepcionaisPossui exceções embutidas e permite a criação de novas exceçõesSegurançaPode executar programas via rede com restrições de execução, além de itens específicos da linguagem, como ser fortemente tipada, ter assinaturas digitais em suas classes compiladas, etc

CARACTERÍSTICAS

Máquina Virtual JavaUtiliza o conceito de máquina virtual;Camada responsável por interpretar os bytecodes

CARACTERÍSTICAS

FASES DE UM PROGRAMA

Java SDKNetbeans/EclipseLaboratórios/Computadores Pessoais

FERRAMENTAS

Java SDKNetbeans/EclipseLaboratórios/Computadores Pessoais

FERRAMENTAS

FORÇA DE VONTADE

VAMOS AOS CÓDIGOS!

VAMOS AOS CÓDIGOS!

HelloWorld.java

Tipos de Dados Primitivos

Identificadores

é uma seqüência de símbolos UNICODE (64K

símbolos) que começa com uma letra, um símbolo

subscrito _, ou o caractere $. Os demais símbolos de

um identificador podem conter também números.

Identificadores são case-sensitive

15

TIPOS DE DADOS PRIMITIVOS

Tipos de Dados Primitivos

Exemplos de Identificadores

Exemplo de identificadores válidos em Java: ?? data ?? _data ?? $data ?? data_do_mês ?? data1 ??

uma_variável_pode_SER_bastante_extensa_e_conter_Numeros234876238476

?? data_public_class_NoteQueEsseIdentificadorContemPalavrasReservadas

16

TIPOS DE DADOS PRIMITIVOS

Tipos de Dados Primitivos

Declarando variáveis em Java

<tipo> + <espaço> + identificador + ;

ou

<tipo> + <espaço> + identificador + = + valor + ;

17

TIPOS DE DADOS PRIMITIVOS

Tipos de Dados Primitivos

Declarando variáveis em Java

public class AloMundo {

static public void main(String[] args) {

boolean obrigatorio;

int semestre = 2;

String mensagem = "Alo mundo.";

System.out.println(mensagem);

}

}18

TIPOS DE DADOS PRIMITIVOS

Tipos de Dados Primitivos

A linguagem Java utiliza oito tipos primitivos de dados e

um tipo especial

Divididos em quatro categorias: lógicos, textuais,

numéricos inteiros e numéricos de ponto flutuante

Tipos lógicos: boolean

Tipos textuais: char e String

Tipos numéricos inteiros: byte, short, int e long

Tipos numéricos de ponto flutuante: float e double

19

TIPOS DE DADOS PRIMITIVOS

Estruturas de Decisão

Simples

If … Else …

Composta

Switch … case ...

20

ESTRUTURA DE DECISÃO

If (condição){//linhas de comando

} eles {//outros comandos

}

switch (variável){Case valor:

//comandoCase valor:

//comandoDefault:

//outro comando}

Estruturas de Decisão Simples

Elaborar um algoritmo que efetue o cálculo do reajuste

de salário de um funcionário. Considere que o

funcionário deverá receber um reajuste de 15% (0.15)

se seu salário seja menor ou igual a 500. Caso

contrario, seu reajuste será de 10% (0.1).

21

ESTRUTURA DE DECISÃO

VAMOS AOS CÓDIGOS!

Import java.util.Scanner;

Scanner leitor = New Scanner (System.in);

Estruturas de Decisão Composta

Faça um algoritmo (utilizando o comando Switch) que,

baseado no código digitado pelo usuário, retorne o

nome e valor do produto.

Sabendo que

001 – Parafuso (R$ 0,15)

002 – Porca (R$ 0,05)

003 – Prego (R$ 0,10)

004 – Martelo (R$ 40,00)

005 – Tomada (R$ 3,00)23

ESTRUTURA DE DECISÃO

Estruturas de Repetição– As estruturas de repetição também são chamadas de

laços ou loops e permitem que o programador especifique que um programa deve repetir uma ação em quanto uma condição for verdadeira.

Para for (int i = 0; i < 10; i ++) { .. }

Enquanto while( x < 10 ) { .. }

Repita Do { … } while(i < 10)

24

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

While

Realiza loop

Permite especificar um código que deve repetir uma

ação enquanto alguma condição permanece

verdadeira

Exemplo: encontre a primeira potência de 3 maior do

que 100

25

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

While

Exemplo: encontre a primeira potência de 3 maior do

que 100

while ( product <= 100 ) {

product = 3 * product;

}

26

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

While

Desenvolva um algoritmo que calcule o fatorial de um

número, usando o laço while

27

ESTRUTURA DE REPETIÇÃO

/*** repetição de comandos usando FOR*/// Calculando o fatorial de um número:int numero = 10;int fatorial = 1;int i = numero;while (i > 0) {fatorial = fatorial * i;i--;}System.out.println("fatorial de " + valor + " = " + fatorial);

28

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

Do .. While

• A diferença entre o DO-WHILE e WHILE é que o DO-

WHILE analisa a expressão no final da repetição ao

invés do início, ou seja, pelo menos uma vez o bloco

de comandos será executado

29

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

Do .. Whileclass Repete2 {

public static void main(String[] args){ int conta = 1; do {

System.out.println("Contando: " + conta = conta+1;

} while (conta < 11); }

}

30

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

For

• O comando for é um meio compacto de fazer uma

repetição sobre um intervalo de valores

• Na programação é comum usar o termo “loop” em

repetições devido ao modo no qual o for, neste caso,

repetidamente executa enquanto uma condição é

verdadeira.

31

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

For

• A expressão de inicialização começa o loop. É

executada uma única vez assim que o loop começa

• Quando a expressão de término é analisada e é falsa,

o loop finaliza

• A expressão de incremento é chamada a cada

iteração dentro do loop

32

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

For

class Repete3 {

public static void main(String[] args){

for(int i=1; i<11; i++){

System.out.println("Contando: " + i);

}

}

}

33

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

For

• O for tem uma função estendida para vetores e

classes Collections

• Este tipo de for é chamado de enhanced for e pode

ser usado para fazer iterações dentro dessas

estruturas de dados, percorrendo-as

34

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

Forclass EnhancedFor {

public static void main(String[] args){ //declarando um vetor inteiro contendo uma lista de números

int[] numeros = {1,2,3,4,5,6,7,8,9,10}; //o for abaixo percorre o vetor e mostra na tela cada um dos números

for (int item : numeros) {System.out.println("Contando: " + item); }

}}

35

ESTRUTURA DE REPETIÇÃO

Estruturas de repetição

Faça um algoritmo que leia a idade de 10 pessoas. Em

seguida, o algoritmo deverá apresentar:

• A idade do mais velho;

• A idade do mais novo;

• A quantidade de adolescentes (de 12 a 17 anos);

36

ESTRUTURA DE REPETIÇÃO

Vetor ou Array é a forma mais familiar de dados

estruturados

Um array é um conjunto de componentes do mesmo tipo

Espaço ocupado = tamanho ocupado por cada elemento

do vetor * tamanho do vetor

Problema

–Dada uma relação de 5 estudantes, imprimir o nome de

cada estudante, cuja nota é maior do que a média da

classe.

37

ARRAY - DEFINIÇÃO

Como estes dados têm uma relação entre si, podemos

declará-los com um nome ÚNICO para todos os 100

elementos.

Conjunto de 100 números = LISTA

38

ARRAY - DEFINIÇÃO

Arrays são agrupamentos de dados adjacentes na

memória declaração:

tipo_dado nome_array[<tamanho>];

define um arranjo de <tamanho> elementos adjacentes

na memória do tipo tipo_dado

39

ARRAY – DECLARAÇÃO DE TIPOS

O elemento do vetor tem todas as características de uma

variável e pode aparecer em expressões e atribuições

Lista[2] ← Lista[3] + Lista[20]

Para somar todos os elementos da Lista:

– soma ← 0

– para I ← 1 até 100 faça

– soma ← soma + Lista[i]

40

ARRAY - DEFINIÇÃO

Algoritmo Notas

Início

Para i ← 1 até 5 faça

Leia(nome[i],nota[i])

soma ← 0,0

Para i ← 1 até 5 faça

soma ← soma + nota[i]

media ← soma/5

Para i ← 1 até 5 faça

Se nota[i] > media então escrever (nome[i])

Fim

41

SOLUÇÃO 2

Também chamadas conjuntos bidimensionais, contém:

– um número fixo de elementos;

– todos são do mesmo tipo;

– arranjados na forma de tabela de 2 dimensões;

42

MATRIZES - DEFINIÇÃO

Ex.: Uma matriz chamada MAT que tenha m elementos

(horizontal) e n elementos (vertical)

43

MATRIZES - DEFINIÇÃO

Arrays podem ter diversas dimensões, cada uma

identificada por um par de colchetes na declaração

Ex:

char matriz[5][10];

declara uma matriz de 5 linhas e 10 colunas:

na memória, entretanto, os caracteres

são armazenados linearmente:

44

MATRIZES - MULTIDIMENSIONAIS

Dada uma tabela de 4x5 elementos, calcular a soma dos

elementos e o maior elemento

45

MATRIZES – PROBLEMA

Seqüência de caracteres;

Em Java, String não é tipo primitivo;

É tipo de referência → são objetos!

46

STRING

O operador == não deve ser usado para compararmos se

duas Strings são iguais

Deve-se usar o método equals da classe String

str1 == str2;

str1.equals(str2);

47

IGUALDADE DE STRINGS

int indexOf(String s):

Retorna o índice do primeiro encontrado;

Índices em Java começam em 0;

Caso não encontre, retorna -1;

String x = “Clique aqui para adicionar anotações”;

String y = “adicionar”

Int i = x.indexof (y); //1 == 12

48

IGUALDADE DE STRINGS

String substring(int inicio, int fim):

Retorna a substring do índice inicio (inclusivo) até o Índice

fim (exclusivo)

String a = “Clique aqui adicionar anotações”;

String b = a.substring(2,5);

// b é igual a “iqui”

49

STRINGS

char charAt(int indice):

Caracter da posição índice;

String x = “Clique aqui para adicionar anotações”

Char c = x.charAt(0) //c == ‘C’

50

STRINGS

VAMOS AOS CÓDIGOS!

ProgramandoOrientado à Objetos!

Orientação a objetos

– pressupõe que o mundo é composto por objetos, onde

um objeto é uma entidade que combina estrutura de

dados e comportamento funcional. No paradigma

orientado a objetos, os sistemas são criados a partir dos

objetos que existem no domínio do problema, isto é, os

sistemas são modelados como um conjunto de objetos

que interagem entre si.

52

INTRODUÇÃO

O que são objetos no mundo

computacional ?

53

INTRODUÇÃO

Definição : Um objeto é a representação computacional de um

elemento ou processo do mundo real

Exemplos : cadeira, aula, venda, cliente …

Os objetos possuem características e comportamentos

– Cada característica ou propriedade é chamada de atributo do

objeto

• Por exemplo, o objeto moto tem como atributos cor, marca, …

– Podemos sempre associar um conjunto de valores aos atributos.

• Exemplo : a cor da moto pode ser vermelha, azul, verde, etc.

54

OBJETO

Cada comportamento é chamado de método do objeto

–Um comportamento representa uma reação ou resposta

de um objeto a uma ação do mundo real

Exemplos de comportamentos para o objeto moto :

acelerar, parar ...

55

OBJETO

Atributos são declarados da mesma forma que as

variáveis locais, porém com uma sintaxe ligeiramente

diferente:

[visibilidade] [static] [final] tipo atributo [ = inicialização];

– visibilidade: public, private, package ou protected.

– static: define que esse atributo é da classe (será visto

posteriormente)

– final: atributo constante (valor inicial não pode ser

alterado)

56

ATRIBUTOS

visibilidade [static] [final] [abstract] tipo método ([parâmetros])

[throws exceções]

{

[ corpo do método ]

}

– Visibilidade: public, private, package ou protected.

– static: método da classe (será visto posteriormente)

– final: método não pode ser sobrescrito (será visto

posteriormente)

– abstract: método deve ser implementado nas subclasses

(será visto posteriormente)57

SINTAXE DE MÉTODOS DA CLASSE

1) Sabendo que todo livro possui autor, editora e preço, crie

uma classe pública com construtor padrão e métodos

modificadores e de acesso. Depois, crie dois livros com dados

obtidos via console

58

EXERCÍCIOS

VAMOS AOS CÓDIGOS!

Maratonando! :)

Obrigado!

top related