Slide 1

Slide 1 text

Introdução a Programação com Java Ana Paula Mendes

Slide 2

Slide 2 text

Hello world! public class Main { public static void main(String[] args) { System.out.println("Hello world!"); } }

Slide 3

Slide 3 text

Sobre Java: ● Criada em 1995; ● Linguagem de programação orientada a objetos; ● Propriedade da Oracle; ● Usado para: ○ Apps mobile; ○ Apps desktop; ○ Apps web; ○ Servidores web; ○ Jogos; ○ etc.

Slide 4

Slide 4 text

Sobre Java: ● Linguagem interpretada; ● Open source; ● Tem uma comunidade muito grande que mantém a linguagem; ● Largamente utilizada no mundo;

Slide 5

Slide 5 text

Sintaxe: ● Todo o código deve estar sempre dentro de uma classe; ● Java é case-sensitive; ● Nome de classes devem começar com letra maiúscula; ● O nome do arquivo Java deve ser igual a classe principal do mesmo; ● Todo programa deve ter um método main( ) para executá-lo; ● O escopo é definido por { }; ● Comentários: ○ // codigo aqui : para uma linha; ○ /* codigo aqui */ : para múltiplas linhas.

Slide 6

Slide 6 text

Variáveis: ● String: cadeia de caracteres (deve ser armazenado com aspas duplas); ● int: números inteiros; ● float: números decimais; ● char: um único caracter (deve ser armazenado com aspas simples); ● boolean: dois estados, verdadeiro ou falso (true ou false); ● Podem ser declaradas sem assinar valor também. Declaração: tipo variável = valor;

Slide 7

Slide 7 text

Tipos de Dados: ● São divididos em dois grupos: ○ Primitivos: byte, short, int, long, float, double, boolean and charbyte, short, int, long, float, double, boolean e char; ■ Um tipo de dados primitivo especifica o tamanho e o tipo de valores de variável e não possui métodos adicionais; ■ São pré-definidos; ■ Sempre tem um valor; ■ Começa com letra minúscula. ○ Não-primitivos: String, Arrays e Classes; ■ Tipos de dados não primitivos são chamados tipos de referência porque se referem a objetos; ■ Não são pré-definidos, exceto a String; ■ Podem ser usados para chamar métodos para executar determinadas operações; ■ Pode ser nulo; ■ Começa com letra maiúscula.

Slide 8

Slide 8 text

Conversão de Tipos (Casting): ● A conversão de tipo é quando você atribui um valor de um tipo de dados primitivo a outro tipo. ● Em Java, existem dois tipos de conversão: ○ Widening Casting (automático): converte um tipo de tamanho menor para maior: ■ byte -> short -> char -> int -> long -> float -> double ○ Narrowing Casting (manualmente): converte um tipo de tamanho maior para menor: ■ double -> float -> long -> int -> char -> short -> byte

Slide 9

Slide 9 text

Operadores: ● Aritméticos - Operações aritméticas; ● Relacionais - Operações de comparação; ● Lógicos - Operações lógicas.

Slide 10

Slide 10 text

Operadores Aritméticos:

Slide 11

Slide 11 text

Operadores Relacionais

Slide 12

Slide 12 text

Operadores Lógicos

Slide 13

Slide 13 text

Strings ● Tamanho de uma string: texto.length( ); ● Tudo maiúsculo: texto.toUpperCase( ); ● Tudo minúsculo: texto.toLowerCase( ); ● Retornar o índice de uma substring: texto.indexOf("teste"); ● Concatenação: nome + sobrenome; ● Para usar aspas duplas dentro de string: \"teste\".

Slide 14

Slide 14 text

Matemática: ● Máximo: Math.max(x,y); ● Mínimo: Math.min(x,y); ● Raíz quadrada: Math.sqrt(x); ● Valor absoluto positivo: Math.abs(-x); ● Retornar um valor entre 0 (inclusivo) e 1 (exclusivo): Math.random( ).

Slide 15

Slide 15 text

Booleanos: ● a < b; ● a <= b; ● a > b; ● a >= b; ● a == b; ● a != b; ● a || b; ● a && b;

Slide 16

Slide 16 text

Estrutura de Decisão

Slide 17

Slide 17 text

Tabela verdade

Slide 18

Slide 18 text

Observações antes de começar ➔ Valores booleanos ◆ true ◆ false ➔ Expressão booleana ◆ true && true ◆ false || false ➔ Utiliza dos operadores lógicos e relacionais ➔ Precedência importa

Slide 19

Slide 19 text

Execução condicional: Seleção binária if (EXPRESSÃO BOOLEANA) { COMANDOS_1; } else { COMANDOS_2; }

Slide 20

Slide 20 text

Seleção unária: omissão do else if (EXPRESSÃO BOOLEANA) { COMANDOS_1; } COMANDOS_2;

Slide 21

Slide 21 text

Condicionais Aninhados: if (EXPRESSÃO BOOLEANA) { COMANDOS_1; } else { if (EXPRESSÃO BOOLEANA) { COMANDOS_2; } else { COMANDOS_3; }

Slide 22

Slide 22 text

Condicionais Encadeados: if (EXPRESSÃO BOOLEANA) { COMANDOS_1; } else if (EXPRESSÃO BOOLEANA) { COMANDOS_2; } else { COMANDOS_3; }

Slide 23

Slide 23 text

Operador Ternário: ● Funciona como a seleção binária: variável = (condição) ? expressãoVerdadeira : expressãoFalsa;

Slide 24

Slide 24 text

Switch: switch(expressão) { case x: comandos; break; case y: comandos; break; default: comandos; } ● Funciona como condicionais encadeados:

Slide 25

Slide 25 text

Arrays

Slide 26

Slide 26 text

Arrays Unidimensionais (Listas): ➔ Inicializando: ◆ String[ ] feira; ◆ String[ ] feira = {"legumes", "frutas", "limpeza", "utensílios"}; ◆ int[] numerosPares = {2, 4, 6, 8, 10}; ➔ Acessando: ◆ System.out.println(feira[n]); ➔ Modificando: ◆ feira[2] = “higiene”; ➔ Tamanho: ◆ System.out.println(feira.length);

Slide 27

Slide 27 text

Arrays Multidimensionais (Matrizes): ➔ Inicializando: ◆ Int[ ][ ] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} }; ➔ Acessando: ◆ int x = myNumbers[1][2]; ◆ System.out.println(x); ➔ Modificando: ◆ myNumbers[1][2] = 10; ➔ Tamanho: ◆ System.out.println(myNumbers.length);

Slide 28

Slide 28 text

Estrutura de Repetição

Slide 29

Slide 29 text

Laço for for (int i = m; i < n; i++) { System.out.println(i); }

Slide 30

Slide 30 text

Laço forEach for (String i : feira) { System.out.println(i); }

Slide 31

Slide 31 text

Laço while int i = m; while (i < n) { System.out.println(i); i++; }

Slide 32

Slide 32 text

Laço do/while int i = m; do { System.out.println(i); i++; } while (i < n);

Slide 33

Slide 33 text

The end!