Carregar apresentação
A apresentação está carregando. Por favor, espere
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.