PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)

Slides:



Advertisements
Apresentações semelhantes
Estruturas de Controle
Advertisements

Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Programação Orientada a Objetos – Parte II
Programação de Computadores I Prof. Eduardo 2011
Linguagens de Programação Orientadas a Objetos
Programação Básica em Java
Linguagem C Estruturas de Controle de Fluxos
Paradigmas da Programação
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Seminário 1: Revisão de C
Professor Mário Dantas
Linguagem de Programação JAVA
By Ducheno Kelly Centro de Formação São Domingos.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Anderson Moreira Ling. de Programação OO – Revisão Anderson L. S. Moreira Instituto Federal de Educação Tecnológica de Pernambuco.
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Linguagem I Strings.
Laboratório I Mateus Raeder. Mateus Raeder – maio de 2010 Arrays  Variável: armazena apenas um valor  Como criar em uma única variável, espaço para.
JAVA Sintaxe.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Aula Prática 2 Monitoria IP/CC (~if669).
Conceitos Básicos e Manipulação de Objetos
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Curso Técnico em Informática Professor Igor Vale.
Profa. Maria Augusta Constante Puget
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Linguagem de Programação
Programação Computacional Profa. Madeleine Medrano
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
Estruturas de Controle [1] JAVA Faculdade Mauricio de Nassau Linguagem de Programação II Curso de Engenharia de Telecomunicações.
Linguagem C Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação I1 de 36.
4 Aula – Introdução ao PHP Márcio Ferreira da Silva.
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Iterações Dilvan Moreira. Lembrando... Desenvolvimento de programas  Desenvolvimento incremental:  Evitar depuração de muito código.  A técnica consiste.
Práticas Colaborativa de Programação Peterson Rodrigues Outubro de 2015.
INE5408 Estruturas de Dados Programação estruturada e noções básicas da linguagem C.
C suporta algumas Constantes de caráteres especiais de barra invertida (backslash) que são usados em funções de saída. Constantes de caráteres especiais.
IFRN Técnico em Informática para Internet Desenvolvimento de Algoritmos Prof. Gilbert Azevedo.
Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal.
Lógica de Programação Curso Técnico em Informática – Escola Olímpio Professor Marcelo Josué Telles
Variáveis, expressões e comandos Dilvan Moreira. Lembrando …  Instalação normal (para utilizar no PC com Windows) 
Clique para editar o título Linguagem C Para programadores Python PMR
Prof. Tertuliano Estrutura Condicional em C++
Jean Carlo Mendes
Jean Carlo Mendes
CONSTRUINDO CLASSES Dilvan Moreira (baseado no livro Big Java)
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Lógica de programação Estruturas de seleção Estruturas de repetição Sub-Rotinas 1.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ PAE: Pedro Shiguihara Professor: Dilvan Moreira.
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
VARIÁVEIS EM JAVA Dilvan Moreira (baseado no livro Big Java)
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
VARIÁVEIS EM C Dilvan Moreira. Lembrando...  Variável: nome de um local na memória onde dados são armazenados  Evita ter que lembrar um endereço numérico.
VARIÁVEIS EM C Dilvan Moreira.
DESENVOLVIMENTO DE PROGRAMAS
Dilvan Moreira (baseado no livro Big Java e T. Munzner)
RESULUÇÃO DOS EXERCÍCIOS E
Transcrição da apresentação:

PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)

Lembrando...  Variável: nome de um local na memória onde dados são armazenados  Evita ter que lembrar um endereço numérico  Como variáveis de um expressão matemática  Nomes de variáveis começam com letras minúscula  Convenção do Java, não é um requisito do compilador

Lembrando...  Java requer que declaremos o tipo de dados que estamos trabalhando  Para cada variável temos que declarar um tipo de dado  Java prove 8 tipos de dados primitivos  ou seja, simples e fundamentais

Lembrando … public class Test3 { public static void main (String[] args) { int a; //these int b; //are int c; //variable declarations b = 3; c = 5; a = b + c; System.out.println ("The answer is " + a); }

Tipos de Dados Primitivos: Números  6 primitivos para números  Inteiros vs. ponto flutuante (Reais)  Tamanhos finitos  capacidade númerica finita TypeSizeMinMax byte 1 byte short 2 bytes-32,76832,767 int 4 bytes-2,147,483,6482,147,483,647 long 8 bytes -9,223,372,036,854,775,8089,223,372,036,854,775,807 float 4 bytes approx -3.4E38 (7 sig.digits)approx 3.4E38 (7 sig.digits) double 8 bytes approx -1.7E308 (15 sig. digits)approx 1.7E308 (15 sig. digits)

Primitive Data Types: Non-numeric  Tipo caracter  nome char  Java usa o conjunto de caracteres Unicode, assim cada char ocupa 2 bytes de memória.  Tipo boleano  nome boolean  Valores válidos True e false  Representa yes/no, on/off

Tipos de Dados Primitivos: Números  Por agora vamos usar int e double TypeSizeMinMax byte 1 byte short 2 bytes-32,76832,767 int 4 bytes-2,147,483,6482,147,483,647 long 8 bytes -9,223,372,036,854,775,8089,223,372,036,854,775,807 float 4 bytes approx -3.4E38 (7 sig.digits)approx 3.4E38 (7 sig.digits) double 8 bytes approx -1.7E308 (15 sig. digits)approx 1.7E308 (15 sig. digits)

Declaração de Variáveis  Declaração de variável diz ao compilador  reserve um bloco de memória grande o suficiente para armazenar dados do tamanho do tipo especificado  O nome da variável é especificado pelo identificador  Sintaxe:  nomeTipo nomeVariavel;

Tipos int e double  Lembrando: tamanho fixo, capacidade finita TypeSizeMinMax int 4 bytes-2,147,483,6482,147,483,647 double 8 bytes approx -1.7E308 (15 sig. digits) approx 1.7E308 (15 sig. digits) Address Data one integer

Atribuição public class Test3 { public static void main (String[] args) { int a; int b; int c; b = 3; // these c = 5; // are a = b + c; // assignment statements System.out.println ("The answer is " + a); }

Atribuição  Operador: =  = não significa uma afirmação de igualdade  = é usado para mudar o valor de uma variável 1. int luckyNumber = 13; 2. luckyNumber = 12;

Atribuição  Errado, a variável tem de ser inicializada: int luckyNumber; System.out.println(luckyNumber); // ERROR - uninitialized variable Diferente de C

Atribuição  E agora? Esse é um exemplo de possível confusão: a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now???

Atribuição  E agora? Esse é um exemplo de possível confusão:  Quando em dúvida: experimente! É fácil tentar qualquer coisa em Java a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? System.out.println(“a is “ + a + “b is “ +b);

Atribuição  E agora? Esse é um exemplo de possível confusão:  Quando em dúvida: experimente! É fácil tentar qualquer coisa em Java b= 7 a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? System.out.println(“a is “ + a + “b is “ +b);

Atribuição  E agora? Quais os valores de a e b? a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? System.out.println(“a is “ + a + “b is “ +b); a = 8; System.out.println(“a is “ + a + “b is “ +b);

Atribuição  E agora? Quais os valores de a e b?  Os locais de memória de a e b são distintos: a= 8 b= 7 a = 7; // what’s in a? b = a; // what’s in b? // what’s in a now??? System.out.println(“a is “ + a + “b is “ +b); a = 8; System.out.println(“a is “ + a + “b is “ +b);

Expressões  expressões são a combinação de  um ou mais operadores ou operandos  exemplos de operadores: +, *, /,...  exemplos de operandos: números, variáveis,...  exemplos: * 5 (7 + 2) * 5

Operadores  Basicamente o mesmo conjunto da linguagem C  Descrição no sitesite

Precedencia de Operadores  Qual o resultado dessa expressão? * 5

Precedência de Operadores  Qual o resultado dessa expressão? * 5  Multiplicação tem mais precedência que adição (como em matemática) precedenceoperatoroperation 1 higher+ -unary plus and minus 2* / %multiply, divide, remainder 3 lower+ -add, subtract

Precedência de Operadores  Qual o resultado dessa expressão? * 5  Multiplicação tem mais precedência que adição (como em matemática)  Parenteses podem ser usados para mudar precedência: (7 + 2) * 5 ou para tronar mais claro 7 + (2 * 5) precedenceoperatoroperation 1 higher+ -unary plus and minus 2* / %multiply, divide, remainder 3 lower+ -add, subtract

Constantes  Coisas que nunca mudam  Syntax:  final typeName variableName;  final typeName variableName = value;  Nomes de constantes devem ser em maiúsculas  final int SECONDS_PER_YEAR = 60*60*24*365;

Evite Números Mágicos  números mágicos: constantes numéricas diretemente em código  Má idéia! código fica difícil de entender difícil de fazer mudanças fácil de errar, se a mesma constante é usada em diferentes lugares

Sintaxe do If  Sintaxe  Palavra reservada if  seguida de expressão booleana entre parenteses  seguida de comando if (x == y) System.out.println("x equals y! ");  Resultado  se expressão booleana é verdadeira, comando é executado  se não, execução pula comando

Sintaxe do If-Else  Opção do else:  palavra reservada else  seguida por comando if (x == y) System.out.println("x equals y!"); else System.out.println("x is not equal to y!");  Resultado  se expressão booleana é verdadeira, primeiro comando é executado  se não, segundo comando é executado

Uso de Blocos de Comandos  Quando se quer executar mais de um comando, baseado numa condição  Substitui um comando por muitos dentro de {} if (x == y) { System.out.println("x equals y!"); System.out.println("I'm happy"); } else { System.out.println("x is not equal to y"); System.out.println("I'm depressed"); System.out.println("How about you?"); }

Uso de Blocos de Comandos  Se você se esquecer dos {} num else? if (x == y) { System.out.println("x equals y!"); System.out.println("I'm happy"); } else System.out.println("x is not equal to y"); System.out.println("I'm depressed"); System.out.println("How about you?");

Sintaxe de If Aninhados  Comandos dentro de comandos if-else podem ser também comandos if-else public class NestTest { public static void main (String[] args) { int x = 1; int y = 3; int z = 2; if (x == y) if (y == z) { System.out.println("all three values the same"); } else { System.out.println("y is not equal to z"); } else System.out.println("x is not equal to y"); }

Sintaxe de If Aninhados  Multiplos comandos else são também legais: if( Boolean expression 1 ) { // statements } else if( Boolean expression 2 ) { // statements } else if( Boolean expression 3 ) { // statements } else { // statements }

Cuidado: Comparando Floats/Doubles  Erros de arredonamento podem atrapalhar testes de igualdade para números float ou double if (.3 == 1.0/ / /10.0)) System.out.println("Beware roundoff error");  Para comparar, cheque se a diferença é próxima de 0 if (Math.abs(f1 - f2) < TOLERANCE) System.out.println (“Essentially equal.”);

Sintaxe do Switch  Usado para seguir caminhos diferentes baseado num valor switch (finalMark) { case 4: System.out.println("You get an A"); break; case 3: System.out.println("You get a B"); break; case 2: System.out.println("You get a C"); break; default: System.out.println("See you next year"); }

Sintaxe do Switch  Expressão deve ser int, char (ou enumerated type) switch (finalMark) { case 4: System.out.println("You get an A"); break; case 3: System.out.println("You get a B"); break; case 2: System.out.println("You get a C"); break; default: System.out.println("See you next year"); }

Sintaxe do Switch  Os valores do case não podem ser variáveis switch (finalMark) { case 4: System.out.println("You get an A"); break; case 3: System.out.println("You get a B"); break; case 2: System.out.println("You get a C"); break; default: System.out.println("See you next year"); }

Sintaxe do Switch  O comando default é opcional switch (finalMark) { case 4 : System.out.println("You get an A"); break; case 3 : System.out.println("You get a B"); break; case 2 : System.out.println("You get a C"); break; default: System.out.println("See you next year"); }

Sintaxe do Switch  Comandos break são muito importantes switch (finalMark) { case 4 : System.out.println("You get an A"); break; case 3 : System.out.println("You get a B"); break; case 2 : System.out.println("You get a C"); break; default: System.out.println("See you next year"); }

Usando o comando while public class WhileDemo { public static void main (String[] args) { int limit = 3; int counter = 1; while (counter <= limit) { System.out.println("The square of " + counter + " is " + (counter * counter)); counter = counter + 1; } System.out.println("End of demonstration"); }  comando while

public class ForDemo { public static void main (String[] args) { for (int counter = 1; counter <= 3; counter = counter + 1) { System.out.println("The square of " + counter + " is " + (counter * counter)); } System.out.println("End of demonstration"); } Comando For

Comando For Versus While boolean expression statement truefalse boolean expression statement truefalse initialization increment FOR WHILE

public class DoDemo { public static void main (String[] args) { int limit = 3; int counter = 1; do { System.out.println("The square of " + counter + " is " + (counter * counter)); counter = counter + 1; } while (counter <= limit); System.out.println("End of demonstration"); } Comando Do  teste de término feito no fim, corpo é sempre executado pelo menos uma vêz

Checando = 12 é uma expressão válida em Java? 2. Como voce mudaria o valor da variável greeting para 10? int greeting = 300;

Perguntas?