Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estruturas fundamentais da linguagem Java Prof. Ramon Pontes Palavras reservadas JAVA 2 Tipos de dados em JAVA ▸ A linguagem java é fortemente tipada,ou seja, cada variável precisa de um tipo declarado. ▸ Há 8 tipos primitivos em java ▸ 6 numéricos (4 inteiros, 2 flutuante). ▸ 2 literais (1 char, 1 boolean). Definindo Variável: Endereço de memória que é reservado para armazenar dados de um programa. 3 Tipos de dados em JAVA ▸ Os tipos de dado em Java podem ser divididos em duas categorias: ▸ Tipos primitivos: elementos não são instâncias de classes, ou seja, não são objetos. ▸ Ex.: Int x = 0; ▸ Tipos referência: elementos são instâncias de classes. ▸ Aluno al = new Aluno(); 4 Tipos de dados em JAVA ▸ boolean true ou false (1 bit) ▸ char Unicode (16 bits) – Sem sinal ▸ byte inteiro (8 bits) ▸ short inteiro (16 bits) ▸ int inteiro (32 bits) ▸ long inteiro (64 bits) ▸ float ponto flutuante (32 bits) ▸ double ponto flutuante (64 bits) 5 Numéricos ▸ Inteiros: ▸ Números inteiros expressos nos sistemas decimal, octal (com prefixo 0 - zero), e hexadecimal (com prefixo 0X ou 0x) ▸ Default é int (32 bits) ▸ Para long (64 bits) é necessário sufixo L ou l ▸ Ex.: 27, 035, 0x1B, 0X1b, 27L 6 Numéricos ▸ Ponto Flutuante: ▸ Conter ponto decimal (ex.: 1.1314) ▸ A letra E ou e indica notação científica (ex.: 4.1E+19) ▸ O sufixo F ou f indica float (ex.: 12.3f) ▸ O sufixo D ou d indica double – é o default (ex.: 12.3d) ▸ Um ponto flutuante sem d ou f no final será interpretado como um double (64 bits). 7 Literais ▸ São valores que podem ser atribuídos a variáveis de tipo primitivo ou String ▸ boolean: ▸ true ou false ▸ char: ▸ caractere entre aspas simples ‘’ ▸ Seq. de escape: ‘\n’, ‘\r’, ‘\t’, ‘\b’, ‘\f’, ‘\”’, ‘\\’ ▸ Ex.: ‘a’, ‘A’, ‘\u4567’ 8 Valores default para iniciação de variáveis estáticas ou de instância ▸ boolean: false ▸ byte: 0 ▸ char: ‘\u0000’ ▸ short: 0 ▸ int: 0 ▸ long: 0L ▸ float: 0.0f ▸ double: 0.0d 9 Operadores ▸ Operadores unários: ++ -- ▸ Operadores aritméticos: * / % + - ▸ Operadores relacionais: > >= < <= == != ▸ Operadores lógicos: && (and) || (or) ! (not) ▸ Precedência: unários, aritméticos, relacionais, lógicos (primeiro && e depois ||) 10 Tipos Referência ▸ Todos os demais tipos de dados de Java! ▸ O valor default para a inicialização de uma variável de um tipo referência é null ▸ Exemplos: Strings, Vetores 11 Strings ▸ Strings são sequências de caracteres. Em Java, existe uma classe para representar as Strings. Esta classe faz parte de um dos pacotes default da linguagem (java.lang.String). ▸ Cada sequência de caracteres delimitada por “” representa uma instância desta classe. Ex: ▸ String saudacao = “Hello World!”; 12 Concatenando Strings ▸ Em Java a concatenação de Strings pode ser realizada utilizando-se o operador +. ▸ Utilizando-se este operador é possível a concatenação de uma String a qualquer tipo de valor, seja este um tipo primitivo ou tipo referência. ▸ Ex.: Int x = 1; ▸ String s = “alo”; ▸ String result = null; ▸ result = x + s; ▸ valor de result = 1alo 13 Criando uma String vazia: Criando uma string a partir de um array de caracteres: Strings 14 Criação de StringCriação de String O código acima produz a String “cde”. Strings 15 Criação de StringCriação de String podemos criar uma string que tenha como conteúdo uma faixa de caracteres de um array Posição inicial No. de caracteres a serem usados Criando uma string a partir de um array de bytes: Strings 16 Criação de StringCriação de String O compilador Java permite instanciar Strings simplesmente definindo um valor literal a ela. Um literal String é um texto arbitrário entre um par de aspas (“ ”). Strings 17 Instanciação de StringInstanciação de String Como substituir um caractere por outro, dentro da string? Strings 18 Substituição de caracteresSubstituição de caracteres H E l l OWW WW Strings 19 Substituição de caracteresSubstituição de caracteres H E l l OWW WW O sinal + (mais) age como operador de concatenação dos objeto Strings 20 Concatenação de StringsConcatenação de Strings Quando um dos operandos não for uma string, Java automaticamente realiza a conversão do tipo para uma representação de String. Strings 21 Concatenação de StringsConcatenação de Strings Podemos também realizar a concatenação de strings através do método concat( ) da classe String Strings 22 Concatenação de StringsConcatenação de Strings Utilizado para extrair um texto de uma String. Retorna uma nova string com o trecho selecionado nas posições indicadas. Em Java a primeira posição de uma string é zero (0). Strings 23 SubstringSubstring Strings 24 SubstringSubstring H E l l O W O R L D 00 11 22 33 44 55 66 77 88 99 1010 Strings 25 Alterando os caracteres para maiúsculoAlterando os caracteres para maiúsculo h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E l l O W O R L D Strings 26 Alterando os caracteres para minúsculoAlterando os caracteres para minúsculo h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E l l O W O R L D Strings 27 Retirando espaços em brancoRetirando espaços em branco 00 11 22 33 44 55 66 77 88 H E l l OH E L 00 11 22 33 44 L O Strings 28 Extração de caractereExtração de caractere h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E l l O W O R L D Strings 29 Comparação de StringsComparação de Strings H E l l O hh ee ll ll oo S1 S2 Strings 30 Comparação de StringsComparação de Strings H E l l O hh ee ll ll oo S1 S2 Strings 31 Tamanho de StringsTamanho de Strings H E l l O S O método retorna o valor 5 Strings 32 Identificando a posição de caracteres ou substrings em uma String Identificando a posição de caracteres ou substrings em uma String h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E l l O W O R L D Strings 33 Identificando a posição de caracteres ou substrings em uma String Identificando a posição de caracteres ou substrings em uma String h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E L L O W O R L D Strings 34 Identificando a posição de caracteres ou substrings em uma String Identificando a posição de caracteres ou substrings em uma String h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E l l O W O R L D Strings 35 Identificando a posição de caracteres ou substrings em uma String Identificando a posição de caracteres ou substrings em uma String h e l l o w o r l d 00 11 22 33 44 55 66 77 88 99 1010 H E l l O W O R L D O método String compareTo (String) pode ser usado para determinar a ordem de strings: maior que, igual ou menor que. Este método retorna um número inteiro: < 0 (negativo): se a string é menor do que parâmetro; > 0 (positivo): se a string é maior que o parâmetro; = 0 (zero): se as strings são iguais. Strings 36 Comparação entre StringsComparação entre Strings De String para inteiro: De String para long: De String para double: Strings 37 Conversão de Strings para tipos primitivosConversão de Strings para tipos primitivos Arrays 38 Arrays são grupos de variáveis do mesmo tipo. Podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos). Sintaxe: Arrays 39 Para inicializar um arrayé preciso atribuir um valor para cada posição do array. A primeira posição de um array é o índice zero (0). Iniciando um arrayIniciando um array Arrays 40 Um array pode ser inicializado automaticamente da mesma forma que os tipos simples. A inicialização de um array é feita por um conjunto de expressões separadas por vírgula (,) e entre chaves ({ }). O array será criado com tamanho suficiente para conter o número de elementos inicializados. Iniciando um arrayIniciando um array Arrays 41 Quando você cria um array de um tipo de dado primitivo, ele é inicializado por default. Iniciando um arrayIniciando um array cria um array com 4 posições (de 0 a 3) com todos os elementos inicializados com zero Arrays 42 Para acessar um elemento de um array deve se indicar o índice desejado entre colchetes. Acessando um elemento de uma Array Acessando um elemento de uma Array 00 11 22 33 2 4 6 633 Acessar um elemento fora da dimensão do array causa um erro em tempo de execução (ArrayIndexOutOfBoundsException) 43 Não é possível redimensionar um array, mas apenas eliminá- la da memória e criar uma nova instância. Por exemplo: Iniciando um arrayIniciando um array Arrays Arrays 44 O tamanho de um array pode ser obtido através do atributo length. Obtendo tamanho de um array Obtendo tamanho de um array Comandos básicos: atribuição Forma geral: <identificador> = <expressão> ex.: x = 12.7; i = i + 1; st = “Recife” ▸ Formas concisas de in(de)cremento: i += 1 i++ equivale a i = i + 1 i -= 1 i-- equivale a i = i - 1 45 Condicional: if-else Forma geral: if (<expressão-booleana>) <bloco-de-comandos1> [else <bloco-de-comandos2>] Onde: <bloco-de-comandos> é uma seqüência de comandos entre { e }. 46 Exemplo: maior entre dois números ... int x, y; x = 10; y = 5; if (x > y ) { System.out.println (x); } else if (y > x) { System.out.println (y); } else { System.out.println (“x = y”); } ... 47 Condicional: Operador Ternário Forma geral: <expressão-booleana> ? Expressao1 : Expressao2; Se <expressão-booleana> == true o operador produz como resultado o valor da Expressao1, caso contrário, produz o valor da Expressao2 48 Exemplo: maior entre dois números ... int x, y; x = Classe.readInt (); y = Classe.readInt (); System.out.println( ( x >= y ) ? x : y ); ... 49 Condicional: switch Forma geral: switch( <expressão> ) { case cn: <comandos1>; break; [default: <comandos2>; ] } Onde: <expressão> deve resultar em byte, char, short, int 50 Exemplo: Mês por extenso ... int mes; switch(mes) { case 1: System.out.println (”Janeiro”); break; case 2: System.out.println (”Fevereiro”); break; case 3: System.out.println (”Março”); break; } ▸ ... 51 Repetição: while Forma geral: while (<expressão-booleana>) <bloco-de-comandos> Onde: <expressão-booleana> deve retornar um booleano (true ou false). ▸ Normalmente utiliza-se o while quando não se sabe de antemão o número de iterações a serem executadas. 52 Exemplo: soma de 1 a n ... int i, n, soma; n = Classe.readInt (); i = 1; soma = 0; while (i < = n) { soma = soma + i; i = i + 1; } System.out.println(soma); ... 53 Repetição: do ... while Forma geral: do <bloco-de-comandos> while (<expressão-booleana>) 54 Exemplo: soma de 1 a n ... int i, n, soma; n = Classe.readInt (); i = 1; soma = 0; do { soma = soma + i; i = i + 1; } while (i <= n) System.out.println(soma); ... Obs.: n = 0?! 55 Repetição: for Forma geral: for ([<inicializações>; <expressão-booleana>;<incrementos>]) <bloco-de-comandos> Onde: ▸ <inicializações> devem ser expressões do tipo “var = valor”, podendo a variável ser declarada localmente ▸ <expressão-booleana> controla a execução da repetição ▸ <incrementos> seção de incremento de variáveis 56 Exemplo: soma de 1 a n ... int n, soma = 0; n = Classe.readInt (); for (int i = 1; i <= n; i++) { soma += i; } System.out.println(soma); ... 57 Outros comandos: ▸ break: ▸ Encerra a execução de um bloco de comandos. ▸ Em geral utilizado para sair de loops. ▸ continue: ▸ Força a próxima iteração de um loop ▸ return: ▸ permite que métodos retornem valores 58 Exercícios ▸ 1) Implemente uma classe em Java que some dois valores e imprima o resultado. ▸ 2) Na empresa onde trabalhamos, há tabelas com o quanto foi gasto em cada mês. Para fechar o balanço do primeiro trimestre, precisamos somar o gasto total. Sabendo que, em Janeiro, foram gastos 15000 reais, em Fevereiro, 23000 reais e em Março, 17000 reais, faça um programa que calcule e imprima o gasto total no trimestre. Siga esses passos: ▸ a) Crie uma classe chamada BalancoTrimestral com um bloco main, como nos exemplos anteriores; ▸ b) Dentro do main (o miolo do programa), declare uma variável inteira chamada gastosJaneiro e inicialize-a ▸ com 15000; ▸ c) Crie também as variáveis gastosFevereiro e gastosMarco, inicializando-as com 23000 e 17000, respectivamente, ▸ utilize uma linha para cada declaração; ▸ d) Crie uma variável chamada gastosTrimestre e inicialize-a com a soma das outras 3 variáveis: ▸ int gastosTrimestre = gastosJaneiro + gastosFevereiro + gastosMarco; ▸ e) Imprima a variável gastosTrimestre 59 Exercícios 60 ● Faça um Programa que leia um array de 5 números inteiros e mostre-os. ● Faça um Programa que leia um array de 10 números reais e mostre-os na ordem inversa. ● Faça um Programa que leia um array de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59
Compartilhar