Linguagem Java. Paradigma de programação (jeito de “pensar”) Jeito de projetar o código ...

23
Programação II Linguagem Java

Transcript of Linguagem Java. Paradigma de programação (jeito de “pensar”) Jeito de projetar o código ...

Page 1: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Programação IILinguagem Java

Page 2: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Orientação a Objetos

Paradigma de programação (jeito de “pensar”) Jeito de projetar o código

Fundamenta-se nos conceitos de classe e objetos

Outros conceitos: encapsulamento, polimorfismo, herança, ligação dinâmica ...

Java é uma linguagem orientada a objetos

Page 3: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Linguagem Java

Classes: blocos de construção básicos da linguagem

Para construir uma aplicação, escrevemos nossas classes e usamos as classes de bibliotecas existentes

Page 4: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Estrutura de uma classe

public class Carro {String marca;int ano;

public void metodo1( ){ ...}

public int metodo2( ) { ... }}

Page 5: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Construtores

public class Carro {String marca;int ano;

public Carro( ){ano = 0;marca = “”;}

public void Carro ( ) { ...}

public carro ( ) {...} }

Page 6: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Métodos Sobrecarregados Mesmo nome, assinatura diferente

public class Carro {

public void acelerar( ){ velocidade++;}

public void acelerar(int vezes) {for (int i=0; i < vezes; i++)velocidade++;}

Page 7: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Tipos de dados

Tipos primitivos em Java são bem parecidos com C int, float, double, long ...

Para long long l = 99999999999L;

Para float float f = 6.6F;

Page 8: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Entrada e Saída

Entrada de dados: não existe um comando equivalente ao cin/scanf da linguagem C

Utiliza-se um objeto da classe Scanner

Scanner teclado = new Scanner(System.in);int i = teclado.nextInt();teclado.nextLine();String s = teclado.nextLine();

Page 9: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Entrada e Saída

Saída de dados: é feita por meio do método println do objeto out da classe System

Exemplos:

System.out.println(“Bazinga”);System.out.println(23);System.out.println(i);System.out.println(lampada.ligada);

Page 10: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Entrada e Saída

Concatenação: tudo que for concatenado a uma String, torna-se String

Exemplos: System.out.println(“Nome: “ +

aluno.nome);System.out.println(“Idade: “ + idade + “

anos”);System.out.println(2 + 3); System.out.println(“Resultado: “ + 2 + 3);System.out.println(2 + 3 + “ total ” + 4);

Page 11: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Entrada e Saída

Formatando:

double d = 9.99999; String formatado = String.format(“%.2f”,

d);

Page 12: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Arrays

Um array em Java é um objeto Pode conter tipos primitivos ou

objetos Formas de declarar:

int numeros[ ];int[ ] pontos;

Lampada[ ] listaLampadas;Lampada listaLampadas[ ];

Page 13: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Arrays

Arrays de duas dimensões:

int numeros[ ] [ ];int [ ] numeros[ ]; pode, mas...

Page 14: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Arrays

Para criar o objeto, utiliza-se o operador new

int pontos[]; pontos = new int[10];

ouint pontos[] = new int[10];

ouint pontos[] = { 1, 2, 3}; // array de 3 posições

Page 15: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Arrays

continuação:ou

int pontos[] = new int[]{ 1, 2, 3}; mas nunca

int pontos[] = new int[3]{1, 2, 3};

Page 16: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Arrays

continuação:para duas dimensões

int pontos[][] = new int[2][3];

Page 17: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Arrays

Valores default: arrays são inicializados automaticamente array de números: inicializa com 0

(zeros) array de boolean: inicializa com false array de objetos: inicializa com null

Page 18: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

for-each

Sintaxefor(tipo instância : coleção){... }

Exemploint lista[] = {1, 2, 4, 9};

for(int i : lista){ System.out.println(i); }

Page 19: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Switch É possível usar Strings em cases do switch:

String s ; ...

switch (s){ case "segunda" : System.out.println("Trabalhe"); break; case "sexta" : System.out.println("Fim de

semana"); break; default : System.out.println("Indeterminado"); }

Page 20: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Testes psicológicos

Qual o valor de x?int y = 4;double x = 3 + 2 * --y;

Page 21: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Testes psicológicos

Qual a saída?

boolean x = true, z = true;int y = 20;x = (y != 10) && (z = false);System.out. println(x, y, z);

Page 22: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Testes psicológicos

Qual a saída?

boolean x = true, z = true; int y = 20; x = (y == 20) || (z = false); System.out. println(x + "," + y + " ,"

+ z);

Page 23: Linguagem Java.  Paradigma de programação (jeito de “pensar”)  Jeito de projetar o código  Fundamenta-se nos conceitos de classe e objetos  Outros.

Exercício

Crie um programa para gerenciar um estacionamento. No mínimo, deve haver as classes Estacionamento e Veiculo.

Gerencie horário de chegada e saída dos veículos

Controle se há vagas ou não Gerencie qual posição está

livre/ocupada

Etc