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

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

Programação Básica em Java

Apresentações semelhantes


Apresentação em tema: "Programação Básica em Java"— Transcrição da apresentação:

1 Programação Básica em Java
Laboratório de Java Programação Básica em Java (Lab I) Prof. Guido Araújo

2 Tipos de Dados Tipos primitivos Lógico: boolean Caracter: char (16)
Byte: byte (8) Inteiros: short (16) < int (32) < long (64) Floating-point: float (32) < double (64) Void: void

3 Declarações e Definições
Declaração de variáveis Tipo da variável e o seu nome int a; String s = “abcd”; Pode-se criar uma referência para um objeto String s = new String(“abcd”); Ou mesmo um invólucro Character c = new Character(letra);

4 Declarações e Definições (cont.)
Campos float saldoAtual; String titular; Métodos float getSaldo () { código }

5 Escopo Escopos encaixados são permitidos { int x = 12;
// somente x está disponível int q = 96; // ambos x & q disponíveis } // somente x disponível // q fora de escopo

6 Escopo (cont.) Mas não é uma festa, como em C/C++ ! { int x = 12;
} NÃO PODE !!

7 Escopo (cont.) Vida das variáveis São criadas
Continuam vivas enquanto estiverem dentro do escopo Depois o coletor-de-lixo se livra delas. Aleluia !!! { String s = new String(“oba”); } // fim do escopo s nasce s morre

8 Coletor de Lixo De tempos em tempos varre o espaço livre jogando fora o que está fora de escopo

9 Operadores Operadores Os mesmos comuns em outras linguagens: + - * / =
Precedência é matemática Parênteses para forçar precedência e legibilidade

10 Mais Operadores (cont.)
Atribuição: = Relacionais: > < >= <= == != Bitwise (bit-a-bit): & (AND) | (OR) ~ (NOT) ^ (XOR) Lógicos: || && Operador shift (deslocamento) x << y , x >> y Auto-incremento: i++ (pos) --i (pré)

11 Mais Operadores (cont.)
Erro comum Confundir = com ==

12 Mais Operadores (cont.)
Concatenação de cadeias int x = 0, y = 1, z = 2; String s = "x, y, z "; System.out.println (s + x + y + z);

13 Controle da Execução if-else
Tipo boolean somente possue valores true ou false expression é avaliado como boolean expression pode ser qualquer expressão

14 Controle da Execução (cont.)
; while expression é avaliada como tipo boolean statement executa enquanto expression for true Pode fazer operações dentro de expression

15 Controle da Execução (cont.)
do-while expression é avaliada como tipo boolean statement executa sempre uma primeira vez Enquanto expression for true execução continua

16 Controle da Execução (cont.)
for-loop initialization: inicializar o controle do laço conditional: se true laço statement continua a executar step: incrementa o controle do laço mais uma interação

17 Controle da Execução (cont.)
switch selector é avaliado como tipo int statement selecionada executa de acordo com selector break (opcional) faz saltar para o final da sentença Se não for nenhum dos casos executa sentença em default

18 Tipos Agregados de Dados (cont.)
Arrays Declaração: int a[10]; Acesso: a[5] = 47; Inicialização : a[] = { 13, 25, 83, 90 } b[] = { “casa”, “muito”, “bonita” } Início em zero

19 O que é um objeto ? Empacotando funções e dados em class
A class torna-se capaz de descrever características e comportamento Tipos de dados abstratos A class permite definir um novo tipo de dado Ela permite o programador abstrair o problema O compilador trata o novo tipo da mesma maneira que os tipos built-in É como se a linguagem estivesse se adequando ao problema…..

20 Classes Campos Métodos class ContaCor { float saldoAtual;
Diferente de C/C++ Definição interna class ContaCor { float saldoAtual; void creditaValor (float val) { saldoAtual = saldoAtual + val; }

21 Instanciando, Criando e Acessando
class ContaCor { float saldoAtual; void creditaValor (float val) { saldoAtual = saldoAtual + val; } : ContaCor conta = new ContaCor(); conta.saldoAtual = 0.0f; conta.creditaValor (10.0f); Instancia objeto Acessa campo Acessa método

22 Um Programa Simples Importando utilitários Imprimindo
// INF-300 Laboratório de Java // HelloWorld.java import java.util.*; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, it's: "); System.out.println(new Date()); } Importando utilitários Imprimindo

23 Compilando e Executando
pedro> javac HelloWorld.java pedro> java HelloWorld HelloWorld.class EXECUTA !!

24 Exercício 1 Do diretório acesso Implemente o programa HelloWorld.java
Implemente um programa CriaConta.java que instancia uma conta, credita R$ 10 e imprime o saldo. Compile e execute.

25 Controle de Acesso Três modos de acessar membros de uma classe
public todas as declarações a seguir estão disponíveis para todos private só o criador do tipo pode acessar estes membros protected mais tarde !!

26 Controle de Acesso (cont.)
class ContaCor { private float saldoAtual; } : ContaCor conta = new ContaCor(); conta.saldoAtual = 0; Não funciona !!

27 Controle de Acesso (cont.)
class ContaCor { public float saldoAtual; } : ContaCor conta = new ContaCor(); conta.saldoAtual = 0; Agora sim !!

28 Controle de Acesso (cont.)
Tudo público public class ContaCor { int saldoAtual; String titular; }

29 Métodos de Acesso (cont.)
class ContaCor { private float saldoAtual; void creditaValor (float val) { saldoAtual = saldoAtual + val; } Acessa saldo

30 Exercício 2 Do diretório acesso Leia o programa TestaAcesso.java
Faça saldoAtual ser privado. O que ocorreu ? Faça saldoAtual ser public. O que ocorreu ? (Extra) Estude o programa MetodoAcesso.java. Que vantagem ele oferece em relação à TestaAcesso.java ?

31 Armazenamento Estático
static mantém o valor da variável durante execução Variável é inicializada somente na primeira chamada da função O valor que for armazenado permanece entre chamadas Variável não é disponível fora do escopo

32 Armazenamento Estático
class ContaCor { static private float saldoAtual; void creditaValor (float val) { saldoAtual = saldoAtual + val; } Variável estática

33 Armazenamento Estático (cont.)
ContaCor conta1 = new ContaCor(); ContaCor conta2 = new ContaCor(); : conta1.creditaValor (10.0f); conta2.creditaValor (5.0f); conta2 conta1 10.0

34 Armazenamento Estático (cont.)
ContaCor conta1 = new ContaCor(); ContaCor conta2 = new ContaCor(); : conta1.creditaValor (10.0f); conta2.creditaValor (5.0f); conta2 conta1 10.0

35 Armazenamento Estático (cont.)
ContaCor conta1 = new ContaCor(); ContaCor conta2 = new ContaCor(); : conta1.creditaValor (10.0f); conta2.creditaValor (5.0f); conta2 conta1 15.0

36 Método Estático Chamada da classe class ContaCor {
static private float saldoAtual; static void getSaldo () { return saldoAtual; } : ContaCor.getSaldo(); Chamada da classe

37 Exercício 3 Do diretório acesso
Leia o programa StaticVar.java. Compile e execute. O que ocorreu ? Altere saldoAtual para saldo estático e execute. O que ocorreu ? (Extra) Estude o programa StaticMetodo.java. O que significa o método ser estático ?

38 Construtor Incializa saldo class ContaCor { float saldoAtual; } :
ContaCor conta = new ContaCor(); conta.saldoAtual = 0.0; Incializa saldo

39 Construtor (cont.) Cria objeto e Inicializa saldo class ContaCor {
float saldoAtual; ContaCor (int val) { saldoAtual = val; } : ContaCor conta = new ContaCor(10.0f); Cria objeto e Inicializa saldo

40 Exercício 4 Do diretório acesso
Adicione um construtor a CriaConta.java que inicializa a conta com R$ 35. Compile e execute.


Carregar ppt "Programação Básica em Java"

Apresentações semelhantes


Anúncios Google