A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal.

Apresentações semelhantes


Apresentação em tema: "Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal."— Transcrição da apresentação:

1 Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal

2 CONTEÚDO Unidade 1 – Estruturas de Decisão e Repetição Conclusão das estruturas de decisão Tipos de Dados Primitivos Estruturas de repetição 2

3 Estruturas de Decisão Simples If … Else … Composta Switch … case... 3 Estrutura de Decisão

4 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). 4 Estrutura de Decisão

5 Estruturas de Decisão Composta Faça um algoritmo (utilizando o comando escolha) 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) 5 Estrutura de Decisão

6 Estruturas de Decisão Composta Faça um algoritmo que receba dois números, um operador matemático (+,-,*,/) e efetue o cálculo matemático baseado no operador digitado. O resultado deverá ser exibido em seguida. Utilize o comando escolha 6 Estrutura de Decisão

7 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 7 Tipos de Dados Primitivos

8 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 8 Tipos de Dados Primitivos

9 Palavras Reservadas Abstract, boolean, break, byte, case, catch, char, class, const, continue, default, double, eles, extends, final, finally, float, for, goto, if, implements, import, int, interface, long, native, new, package, private, protected, public, return, short, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile 9 Tipos de Dados Primitivos

10 Declarando variáveis em Java + + identificador + ; ou + + identificador + = + valor + ; 10 Tipos de Dados Primitivos

11 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); } 11 Tipos de Dados Primitivos

12 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 12 Tipos de Dados Primitivos

13 Tipos lógicos: boolean Valores lógicos possuem dois estados, normalmente ditos verdadeiro/falso, sim/não e ligado/ desligado Em Java um tipo lógico é definido pela palavra boolean, e pode assumir dois valores: true ou false // Exemplo de variável que suporta valores booleanos boolean anoBissexto = false; boolean anoPar = true; 13 Tipos de Dados Primitivos

14 Tipos textuais: char e String Caracteres simples são representados pelo tipo char Um char representa um caracter UNICODE, ou seja, um número inteiro sem sinal de 16 bits, no intervalo de 0 até 2 ^ 16 -1 O valor de um literal char deve ser delimitado por aspas simples 14 Tipos de Dados Primitivos

15 Tipos textuais: char e String // Exemplo de representação de caracteres UNICODE char primeiraLetra = 'a'; char tabulacao = '\t'; // Código UNICODE para o caractere de interrogação char unicode = '\u0A02'; // Lembre-se: Uma variável só poderá // ser manipulada após receber um valor. char inutil; // variável sem utilidade neste momento inutil = '@'; // variável útil a partir de agora 15 Tipos de Dados Primitivos

16 Tipos textuais: char e String Palavras são representadas por uma seqüência de dados do tipo char, agrupadas em um tipo especial de dados: a classe String Apesar de ser uma classe, uma variável do tipo String suporta operações como se fosse um tipo primitivo de dados O valor de uma variável String deve ser delimitado por aspas duplas "valor" 16 Tipos de Dados Primitivos

17 Tipos textuais: char e String // Exemplo de uso de variáveis do tipo String String disciplina = "Sistemas Orientados a Objetos I" ; // Uma variável pode receber o valor de outra String outraVariavel = disciplina; // A concatenação de Strings pode ser feita através do // operador de soma ( +) disciplina = "Sistemas " + "Orientados a Objetos I" ; // Concatenação de String com outro tipo de dados: disciplina = "Sistemas Orientados a Objetos" + 'I'; disciplina = "Sistemas Orientados a Objetos" + 1; //Para comparar duas variáveis do tipo String //devemos usar o método equals(): //disciplina == "Sistemas orientados..." ? INCORRETO //disciplina.equals("Sistemas orientados...") ?CORRETO 17 Tipos de Dados Primitivos

18 Tipos numéricos inteiros: byte, short, int e long Existem quatro tipos primitivos de números em Java Além disso, os valores numéricos podem ser representados de forma decimal, octal ou hexadecimal Valores numéricos inteiros em Java: 2decimal 077um número que começa com zero está representado de forma octal 0xBABErepresentação hexadecimal 18 Tipos de Dados Primitivos

19 Tipos numéricos inteiros: byte, short, int e long Um valor numérico é sempre considerado do tipo int, a menos que seja acompanhado do sufixo L, que representa um valor do tipo long Valores numéricos em Java, representados como long: 2Ldecimal 077Lum número que começa com zero está representado de forma octal 0xBABELrepresentação hexadecimal 19 Tipos de Dados Primitivos

20 Tipos numéricos inteiros: byte, short, int e long // Valores inteiros rep resentáveis pelos tipos // numéricos em Java: byte a = 127; // -2 ^ 7... 2 ^ 7 -1 short b = 32767; // -2 ^ 15... 2 ^ 15 -1 int c = 2147483647; // -2 ^ 31... 2 ^ 31 -1 long d = 9223372036854775807L; // -2^63... 2^63 –1 20 Tipos de Dados Primitivos

21 Tipos numéricos de ponto flutuante: float e double Um valor fracionário pode ser representado em Java através dos tipos float e double A diferença entre esses dois tipos é o tamanho da mantissa: Float32 bits Double64 bits 21 Tipos de Dados Primitivos

22 Promoção e Casting A linguagem Java não suporta atribuições arbitrárias entre variáveis de tipos diferentes Por exemplo, você não pode inicializar uma variável inteira com um valor de ponto flutuante sem explicitar isso através de um processo que chamamos de casting. 22 Tipos de Dados Primitivos

23 Promoção e Casting A linguagem Java não suporta atribuições arbitrárias entre variáveis de tipos diferentes Por exemplo, você não pode inicializar uma variável inteira com um valor de ponto flutuante sem explicitar isso através de um processo que chamamos de casting 23 Tipos de Dados Primitivos

24 Promoção e Casting Quando atribuímos um valor a uma variável, e esse valor é incompatível com o tipo de dado definido para a variável, ocorrerá uma conversão Em alguns casos, essa conversão será automática, em outros o programador deve indicar de que forma o valor será convertido ao tipo de dado da variável. 24 Tipos de Dados Primitivos

25 Promoção e Casting Quando o processo de conversão for automático, dizemos que ocorreu uma promoção, ou seja, um valor com um tipo de dado foi promovido a outro tipo de dado 25 Tipos de Dados Primitivos

26 Promoção e Casting // Promoção entre valores de tipos de dados distintos // Apesar 6 ser um inteiro, o valor da variável grande // continua sendo do tipo long long grande = 6; // Uma variável do tipo inteiro não possui // espaço para armazenar um valor longo. // A instrução abaixo é ilegal, e causará um erro de //compilação. int pequeno = 99L; float a = 12.121F;// correto float b = 12.121;// 12.121 é um double - incorreto 26 Tipos de Dados Primitivos

27 Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 27 Tipos de Dados Primitivos double d = 3.1415; int i = d; // não compila

28 Tipos de Dados Primitivos Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 28 Tipos de Dados Primitivos

29 Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 29 Tipos de Dados Primitivos

30 Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 30 Tipos de Dados Primitivos O mesmo ocorre nesse trecho: int i = 3.14;

31 Tipos de Dados Primitivos Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 31 Tipos de Dados Primitivos

32 Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 32 Tipos de Dados Primitivos O mais interessante, é que nem mesmo o seguinte código compila: double d = 5; // ok, o double pode conter um número inteiro int i = d; // não compila

33 Tipos de Dados Primitivos Promoção e Casting Apesar de 5 ser um bom valor para um int, o compilador não tem como saber que valor estará dentro desse double no momento da execução Esse valor pode ter sido digitado pelo usuário, e ninguém vai garantir que essa conversão ocorra sem perda de valores 33 Tipos de Dados Primitivos Já no caso a seguir, é o contrário: int i = 5; double d2 = i;

34 Tipos de Dados Primitivos Promoção e Casting O código acima compila sem problemas, já que um double pode guardar um número com ou sem ponto flutuante Todos os inteiros representados por uma variável do tipo int podem ser guardados em uma variável double, então não existem problemas no código acima 34 Tipos de Dados Primitivos

35 Promoção e Casting Às vezes, precisamos que um número quebrado seja arredondado e armazenado num número inteiro Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted) como um número inteiro Esse processo recebe o nome de casting 35 Tipos de Dados Primitivos

36 Promoção e Casting Às vezes, precisamos que um número quebrado seja arredondado e armazenado num número inteiro Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted) como um número inteiro Esse processo recebe o nome de casting 36 Tipos de Dados Primitivos double d3 = 3.14; int i = (int) d3;

37 Tipos de Dados Primitivos Promoção e Casting O casting foi feito para moldar a variável d3 como um int O valor de i agora é 3 O mesmo ocorre entre valores int e long 37 Tipos de Dados Primitivos long x = 10000; int i = x; // não compila, pois pode estar perdendo informação

38 Tipos de Dados Primitivos Promoção e Casting E, se quisermos realmente fazer isso, fazemos o casting 38 Tipos de Dados Primitivos long x = 10000; int i = (int) x;

39 Tipos de Dados Primitivos Promoção e Casting Casos não tão comuns Alguns castings aparecem também: Float x = 0.0; O código acima não compila pois todos os literais com ponto flutuante são considerados double pelo Java. E float não pode receber um double sem perda de informação, para fazer isso funcionar podemos escrever o seguinte: float x = 0.0f; 39 Tipos de Dados Primitivos

40 Promoção e Casting Casos não tão comuns A letra f, que pode ser maiuscula ou minúscula, indica que aquele literal deve ser tratado como float Outro caso, que é mais comum: double d = 5; float f = 3; float x = f + (float) d; Você precisa do casting porque o Java faz as contas e vai armazenando sempre no maior tipo que apareceu durante as operações, no caso o double 40 Tipos de Dados Primitivos

41 Promoção e Casting Casos não tão comuns E, uma observação: no mínimo, o Java armazena o resultado em um int, na hora de fazer as contas Até casting com variáveis do tipo char podem ocorrer O único tipo primitivo que não pode ser atribuído a nenhum outro tipo é o boolean 41 Tipos de Dados Primitivos

42 Promoção e Casting 42 Tipos de Dados Primitivos Para:Byt e Shor t Cha r IntLon g Floa t Doubl e De: Byte---Impl.(cha r) Impl. Short(byt e) ---(cha r) Impl. Char(byt e) (short ) ---Impl. Int(byt e) (short ) (cha r) ---Impl. Long(byt e) (short ) (cha r) (int)---Impl. Float(byt e) (short ) (cha r) (int)(lon g) ---Impl. Double(byt e) (short ) (cha r) (int)(lon g) (floa t) ---

43 Tipos de Dados Primitivos Promoção e Casting 43 Tipos de Dados Primitivos TipoTamanho Boolean1 bit Byte1 byte Short2 bytes Char2 bytes Int4 bytes Float4 bytes Long8 bytes Double8 bytes

44 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) 44 Estrutura de Repetição

45 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 45 Estrutura de Repetição

46 Estruturas de repetição While Exemplo: encontre a primeira potência de 3 maior do que 100 while ( product <= 100 ) { product = 3 * product; } 46

47 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 47

48 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); 48

49 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 49

50 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); } 50

51 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. 51

52 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 52

53 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); } 53

54 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 54

55 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); } 55

56 Estrutura de Repetição Estruturas de repetição Faça um algoritmo que lê a idade de 15 pessoas e mostre a quantidade de pessoas que possui a idade entre 0 e 12 anos; Faça um algoritmo que 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); 56

57 Estrutura de Repetição Estruturas de repetição Faça um algoritmo que lê o nome, o peso e o sexo de um grupo de 20 pessoas e calcula: A quantidade total de homens; A quantidade total de mulheres; A média de peso do grupo; 57


Carregar ppt "Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal."

Apresentações semelhantes


Anúncios Google