Linguagem Java Programação II
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
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
Estrutura de uma classe public class Carro { String marca; int ano; public void metodo1( ){ ...} public int metodo2( ) { ... } }
Construtores public class Carro { String marca; int ano; public Carro( ){ ano = 0; marca = “”; } public void Carro ( ) { ...} public carro ( ) {...}
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++)
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;
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();
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);
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);
Entrada e Saída Formatando: double d = 9.99999; String formatado = String.format(“%.2f”, d);
Arrays Um array em Java é um objeto Pode conter tipos primitivos ou objetos Formas de declarar: int numeros[ ]; int[ ] pontos; Lampada[ ] listaLampadas; Lampada listaLampadas[ ];
Arrays Arrays de duas dimensões: int numeros[ ] [ ]; int [ ] numeros[ ]; pode, mas...
Arrays Para criar o objeto, utiliza-se o operador new int pontos[]; pontos = new int[10]; ou int pontos[] = new int[10]; int pontos[] = { 1, 2, 3}; // array de 3 posições
Arrays continuação: ou int pontos[] = new int[]{ 1, 2, 3}; mas nunca
Arrays continuação: para duas dimensões int pontos[][] = new int[2][3];
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
for-each Sintaxe for(tipo instância : coleção){ Exemplo ... } Exemplo int lista[] = {1, 2, 4, 9}; for(int i : lista){ System.out.println(i);
Switch É possível usar Strings em cases do switch: String s ; ... case "segunda" : System.out.println("Trabalhe"); break; case "sexta" : System.out.println("Fim de semana"); default : System.out.println("Indeterminado"); }
Testes psicológicos Qual o valor de x? int y = 4; double x = 3 + 2 * --y;
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);
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);
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