Java na Cabeça Mudando de Paradigma

Documentos relacionados
Linguagem de Programação III

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Dados Estruturados Vetores e Matrizes. SCC120 - Introdução à Ciência de Computação

Instituto Superior de Engenharia de Lisboa

Análise de Programação

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

JAVA. Professor: Bruno Toledo

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Seleção Múltipla Laços (while, do-while, for) AULA 05

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Lógica de Programação. Lógica de Programação com Java

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Programação Orientada a Objetos

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Array em Java. Figura 1 - Exemplo de um array de inteiros

JAVA Referências, Strings e Arrays

Variáveis primitivas e Controle de fluxo

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

Aula 4 Estruturas de Controle

Palavras Reservadas da Linguagem Java

Algoritmos II prof. Daniel Oliveira

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Linguagem Java - Introdução

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Linguagem de Programação II Implementação

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Linguagem de Programação II Implementação

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Ambientação com a Sintaxe de Java: parte 1

ptraux = dynamic_cast <PacoteNoite *> (vetor[i]); if (ptraux) auxiliar += vetor[i]->calculacusto();

Programação Orientada a Objetos II

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Lógica de Programação e Algoritmos

Vetores Unimensionais

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

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

INTRODUÇÃO A LINGUAGEM JAVA

Programação Estruturada e Orientada a Objetos

Sintaxe Básica de Java Parte 2

Linguagem de programação Java

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Algoritmos I Aula 13 Linguagem de Programação Java

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Vetores Unimensionais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Lição 4 Fundamentos da programação

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Classes e Objetos. Sintaxe de classe em Java

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Sintaxe Básica do Java. João Paulo Q. dos Santos

Estruturas de Repetição

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Instituto de Informática Estrutura de Dados II

Revisão C++ - Parte 1

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Estruturas de Repetição e String. Vanessa Braganholo

Programação I 2º Bimestre (material 1)

Algoritmos e Programação

Estruturas de Repetição e String

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Linguagem C Princípios Básicos (parte 1)

Aula 06 Introdução à Programação Matrizes

Estruturas de Controle em c#

Desenvolvendo aplicações Java

Linguagem de Programação III

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Lição 7 Array em Java

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Fabiano Moreira.

Vetores Unimensionais

AULA 6 - ARRAYS. Array de 10 elementos

Algoritmos e Estruturas de Dados I

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica

Estruturas de Repe,ção e String

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

Programação I A Linguagem C. Prof. Carlos Alberto

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

Ponteiros. Ponteiros. Ponteiros. Ponteiros. Ponteiros. Introdução a Programação. Profa. Roseli Romero

Arrays e Marizes. João Paulo Q. dos Santos

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

Transcrição:

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

HISTÓRIA 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

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

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 Segurança Pode 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 Java Utiliza o conceito de máquina virtual; Camada responsável por interpretar os bytecodes

FASES DE UM PROGRAMA

FERRAMENTAS Java SDK Netbeans/Eclipse Laboratórios/Computadores Pessoais

FERRAMENTAS Java SDK Netbeans/Eclipse Laboratórios/Computadores Pessoais FORÇA DE VONTADE

VAMOS AOS CÓDIGOS!

VAMOS AOS CÓDIGOS! HelloWorld.java

TIPOS DE DADOS PRIMITIVOS 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_numero s234876238476?? data_public_class_notequeesseidentificadorcontempalavrasr eservadas 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

ESTRUTURA DE DECISÃO Estruturas de Decisão Simples If Else Composta If (condição){ //linhas de comando } eles { //outros comandos } 20 Switch case... switch (variável){ Case valor: //comando Case valor: //comando Default: //outro comando }

ESTRUTURA DE DECISÃO 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

VAMOS AOS CÓDIGOS! Import java.util.scanner; Scanner leitor = New Scanner (System.in);

ESTRUTURA DE DECISÃO 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 23 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)

ESTRUTURA DE REPETIÇÃ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.. While class 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 For class 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

ARRAY - DEFINIÇÃ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 DECLARAÇÃO DE TIPOS 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 - DEFINIÇÃO 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

SOLUÇÃO 2 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

MATRIZES - DEFINIÇÃO 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 - MULTIDIMENSIONAIS 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 PROBLEMA Dada uma tabela de 4x5 elementos, calcular a soma dos elementos e o maior elemento 45

STRING Seqüência de caracteres; Em Java, String não é tipo primitivo; É tipo de referência são objetos! 46

IGUALDADE DE STRINGS 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

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

VAMOS AOS CÓDIGOS! Programando Orientado à Objetos!

INTRODUÇÃO 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

OBJETO 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

ATRIBUTOS 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

SINTAXE DE MÉTODOS DA CLASSE 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 57 (será visto posteriormente)

EXERCÍCIOS 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

VAMOS AOS CÓDIGOS! Maratonando! :)

Obrigad o!