Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouNathalie da Mota Santiago Alterado mais de 7 anos atrás
1
PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)
2
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
3
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
4
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); }
5
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-128127 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)
6
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
7
Tipos de Dados Primitivos: Números Por agora vamos usar int e double TypeSizeMinMax byte 1 byte-128127 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)
8
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;
9
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) 5802 5803 5804 5805 5806 5807 10110101 10000101 11110001 00010100 Address Data one integer
10
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); }
11
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;
12
Atribuição Errado, a variável tem de ser inicializada: int luckyNumber; System.out.println(luckyNumber); // ERROR - uninitialized variable Diferente de C
13
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???
14
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);
15
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);
16
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);
17
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);
18
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: 3 7 + 2 7 + 2 * 5 (7 + 2) * 5
19
Operadores Basicamente o mesmo conjunto da linguagem C Descrição no sitesite
20
Precedencia de Operadores Qual o resultado dessa expressão? 7 + 2 * 5
21
Precedência de Operadores Qual o resultado dessa expressão? 7 + 2 * 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
22
Precedência de Operadores Qual o resultado dessa expressão? 7 + 2 * 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
23
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;
24
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
25
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
26
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
27
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?"); }
28
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?");
29
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"); }
30
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 }
31
Cuidado: Comparando Floats/Doubles Erros de arredonamento podem atrapalhar testes de igualdade para números float ou double if (.3 == 1.0/10.0 + 1.0/10.0 + 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.”);
32
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"); }
33
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"); }
34
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"); }
35
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"); }
36
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"); }
37
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
38
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
39
Comando For Versus While boolean expression statement truefalse boolean expression statement truefalse initialization increment FOR WHILE
40
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
41
Checando 1. 12 = 12 é uma expressão válida em Java? 2. Como voce mudaria o valor da variável greeting para 10? int greeting = 300;
42
Perguntas?
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.