ProgramacaoJava
ProgramacaoJava
Instrutor - Autor
Silvio Fernandes Menezes Vasconcelos
Diretor Regional
Paulo do Eirado Dias Filho
Unidade Móvel
Edivaldo Costa Fontes
ICONOGRAFIA
Professor falando.
Complementando...
PROGRAMAÇÃO JAVA
SUMÁRIO
REFERÊNCIAS................................................................................................
PROGRAMAÇÃO JAVA
CAPÍTULO 1
LINGUAGEM JAVA
Exemplo:
public class Exemplo01 {
public static void main (String args[ ]) {
System.out.println ("Primeiro exemplo");
}
}
6
PROGRAMAÇÃO JAVA
7
PROGRAMAÇÃO JAVA
http://javafree.uol.com.br/artigo/871498/Tutorial-Java-
O-que-e-Java.html
1
Altere o programa anterior para que ele imprima
duas mensagens, uma em cada linha.
8
PROGRAMAÇÃO JAVA
9
PROGRAMAÇÃO JAVA
class Exemplo02 {
public class ExeVariavel {
public static void main (String[] rgs[ ]) {
int num1 = 0, num2 = 4;
char k = 'x’;
num1 = num2 + 8;
System.out.println("Primeiro valor: " + num1);
System.out.println("Segundo valor: " + num2);
System.out.println("Terceiro valor: " + k);
}
}
Primeiro valor: 12
Segundo valor: 4
Terceiro valor: x
2
Insira em seu programa duas variáveis de cada um
dos tipos primitivos do Java. Coloque valores diferentes
em cada uma delas e depois imprima-as.
3
Altere três vezes o valor de uma das variáveis do
programa anterior. Imprima a variável a cada nova
atribuição.
10
PROGRAMAÇÃO JAVA
Exemplo: float a = 9;
float b = a/8; // b = 1.125
int c = (int)b;
System.out.println(b);
System.out.println(c);
Cuidado:
11
PROGRAMAÇÃO JAVA
4
Crie três variáveis do tipo int contendo os valores
12, 13 e 14. Converta cada uma para um float e imprima
o valor convertido. Qual o resultado impresso na tela?.
5
Agora, crie três variáveis do tipo float contendo os
valores 12.3, 12.5 e 12.8. Converta cada uma para int e
imprima o valor convertido. Qual o resultado impresso
na tela?.
6
Tente imprimir a soma de uma variável inteira com
uma do tipo float. O que acontece?
1.3. STRING
Exemplo: if (A.equals(B) ) {
System.out.println(“Nome e sobrenomes são iguais”);
}
Outros métodos úteis da classe String:
12
PROGRAMAÇÃO JAVA
System.out.println(frase.indexOf(“uma”));
System.out.println(“Paulo”.replace(‘o’, ‘a’));
7
Crie uma String com seu nome completo e
sobrescreva as ocorrências da letra "a" pela letra "p".
Como ficou seu nome?
8
Utilize o método split para separar cada nome e
sobrenome da String acima.
1.4. ARRAY
13
PROGRAMAÇÃO JAVA
9
Crie um novo programa, que armazene um vetor
com as notas de 10 alunos, e imprima a média dessas
notas.
10
Crie no mesmo programa acima um array de Strings
com o nome dos meses do ano. Crie uma variável inteira
com um valor entre 1 e 12, e imprima o nome do mês
correspondente ao valor da variável.
http://javafree.uol.com.br/artigo/871496/Tutorial-Java-2-
Caracteristicas-Basicasindex
14
PROGRAMAÇÃO JAVA
1.5. OPERADORES
15
PROGRAMAÇÃO JAVA
Na classe Math, existe uma série de métodos estáticos que fazem ope-
rações com números como, por exemplo, arredondar (round), obter o valor
absoluto (abs), obter a raiz (sqrt), calcular o seno (sin) e outros.
16
PROGRAMAÇÃO JAVA
if (condição) {
Caso você não queira executar qualquer comando se a condição for falsa,
suprima toda a cláusula else :
if (condição) {
{Bloco de comandos executados se verdadeira}
}
17
PROGRAMAÇÃO JAVA
switch (expressão) {
case possibilidade1:
bloco_de_instrução1;
break;
case possibilidade2 :
bloco_de_instrução2;
break;
case possibilidadeN :
bloco_de_instruçãoN;
break;
default:
bloco_de_instrução;
}
Exemplo:
18
PROGRAMAÇÃO JAVA
11
Crie três variáveis reais, defina valores quaisquer
para elas, e defina um código que verifique se elas
mesmas podem ser lados de um triângulo (ou seja,
nenhuma pode ser maior que a soma das outras duas).
12
Crie uma variável contendo a idade de uma pessoa,
e verifique sua classe eleitoral:
13
Crie uma variável inteira contendo um dia do ano e
outra contendo um mês, e verifique se elas formam uma
data válida (considere que fevereiro sempre possui 28
dias).
14
Crie uma variável inteira contendo um dia do ano e
outra contendo um mês, e verifique se elas formam uma
data válida (considere que fevereiro sempre possui 28
dias).
19
PROGRAMAÇÃO JAVA
while (expressão) {
{bloco_de_instruções}
}
20
PROGRAMAÇÃO JAVA
O for pode ser usado também para percorrermos um array. Para isso,
basta usarmos o atributo “length”, que retorna o tamanho do array.
21
PROGRAMAÇÃO JAVA
15
22
PROGRAMAÇÃO JAVA
CAPÍTULO 2
INTERFACE GRÁFICA
23
PROGRAMAÇÃO JAVA
Figura 3. Rótulo.
24
PROGRAMAÇÃO JAVA
25
PROGRAMAÇÃO JAVA
26
PROGRAMAÇÃO JAVA
Figura 9. Botão.
27
PROGRAMAÇÃO JAVA
28
PROGRAMAÇÃO JAVA
Onde:
29
PROGRAMAÇÃO JAVA
30
PROGRAMAÇÃO JAVA
31
PROGRAMAÇÃO JAVA
CAPÍTULO 3
A partir de 1995, a Sun anunciou o Java não apenas como mais uma
linguagem de programação, mas como uma nova plataforma de
desenvolvimento. Desde o ano de 1996 até hoje, a linguagem Java não para
de crescer, produzindo soluções desde pequenas aplicações até aplicativos
corporativos, controles de servidores WWW, etc.
32
PROGRAMAÇÃO JAVA
33
PROGRAMAÇÃO JAVA
Pela soma das notas das duas provas presencias (30 pontos);
Da nota dos exercícios (40 pontos);
Prova final, 40% do valor da média final serão compostos pela média
parcial calculada anteriormente;
60% restantes serão compostos pela nota da prova final.
34
PROGRAMAÇÃO JAVA
Depois do projeto criado, ele passa a ser exibido na aba "Projetos" (lado
esquerdo do NetBeans). Vamos começar nosso projeto desenvolvendo a
interface gráfica de nosso programa. Para isso, precisamos criar um "quadro"
(frame), que é o local onde os componentes de nossa interface serão
mostrados. Este quadro pode ser criado da seguinte forma:
Digite um nome para o frame e outro para o pacote em que ele estará
inserido, por exemplo, "Interface" para o nome do frame coloque
"pacoteInterface" para o nome do pacote. Mais adiante, explicaremos
detalhadamente para que servem os "pacotes" em Java. Clique em
"Finalizar".
35
PROGRAMAÇÃO JAVA
36
PROGRAMAÇÃO JAVA
37
PROGRAMAÇÃO JAVA
38
PROGRAMAÇÃO JAVA
16
É extremamente importante que você tente executar os
passos acima no painel de baixo, exatamente como no
painel de cima, só com o título “Notas do Aluno”.
39
PROGRAMAÇÃO JAVA
40
PROGRAMAÇÃO JAVA
17
Continue desenvolvendo a interface de nosso programa. Para isso,
crie uma tela semelhante à mostrada na Figura 9.
41
PROGRAMAÇÃO JAVA
Observe que a nota da prova final não esta editável, pois nem todos os
alunos fazem prova final. Com isso, retiramos o “rótulo” (Label) e
adicionaremos um componente do tipo “Caixa de seleção” (do inglês,
“CheckBox”) ao lado do campo com a nota da prova final. Como podemos
escrever o texto “Prova Final” ao lado da caixa de seleção, podemos excluir da
interface o rótulo “Prova Final”. Como na Figura 11.
42
PROGRAMAÇÃO JAVA
.
Para alternamos entre o código-fonte e projeto, basta somente,
alternarmos entre os botões “Código-Fonte” e “Projeto” acima do código
(mostrados no topo das telas da Figura 2 - até a Figura 4 - deste capítulo).
43
PROGRAMAÇÃO JAVA
44
PROGRAMAÇÃO JAVA
podemos finalmente calcular sua média final. O cálculo deverá ser efetuado
quando o usuário clicar no botão “Calcular Média”. Portanto, precisamos
definir a ação que será executada quando ocorrer o evento. Para isso, volte à
tela de exibição do Frame, clique com o botão direito do mouse sobre o botão
adicionado ao Painel “Notas do aluno” e escolha a opção “Eventos”, depois
“Action” e, por fim, “actionPerformed”. Desta vez, foi incluído no código fonte
o seguinte trecho de código:
45
PROGRAMAÇÃO JAVA
CAPÍTULO 4
Como o próprio nome indica, a bola é de futebol, ou seja, para ser usada
no esporte que denominamos futebol, é um tipo de bola específica. Assim, bola
de futebol representa uma classe de objetos que apresentam características
próprias. Cada uma das bolas de futebol existentes é um objeto desta classe
de objetos. Existem outras bolas (outros tipos) que não são de futebol, mas
compartilham das mesmas características de uma bola, ou melhor, de uma
esfera.
Uma classe é um tipo de objeto que pode ser definido pelo programador
para descrever uma entidade real ou abstrata. Podemos entender uma classe
como um “modelo” ou como uma “especificação” para certos objetos, ou seja, a
descrição genérica dos objetos individuais pertencentes a um dado conjunto. A
bola de futebol pode ser uma classe que descreve os objetos bola de futebol. A
46
PROGRAMAÇÃO JAVA
47
PROGRAMAÇÃO JAVA
Um outro exemplo: uma receita de bolo. Você come uma receita de bolo?
A resposta é “Não”. Precisamos instanciá-la, criar um objeto bolo a partir dessa
especificação (a classe) para utilizá-la. Podemos criar centenas de bolos a
partir dessa classe (a receita, no caso) e eles podem ser bem semelhantes,
alguns até idênticos, mas são objetos diferentes.
class Conta {
int matricula;
String nome;
double saldoConta;
double limConta;
}
Esses são os atributos que toda conta irá possuir. Repare que essas
variáveis foram declaradas fora de um bloco, diferente do que fizemos na
classe que possuía um método main. Quando uma variável é declarada
diretamente dentro do escopo da classe, ela é chamada de variável de objeto,
ou atributo.
48
PROGRAMAÇÃO JAVA
class Programa {
public static void main (String[] args) {
Conta conta = new Conta();
conta.nome = “Silvio”;
conta.saldoConta = 1000.0;
18
Crie a classe Pessoa, contendo os atributos “nome”,
“altura” e “peso”, pelo menos. Crie alguns objetos dessa
classe e defina valores diferentes para os atributos de cada
um deles.
19
Crie 10 objetos da classe Pessoa e insira-os em um array
de objetos dessa classe. Utilize um for para imprimir todos
os atributos dos objetos do array.
49
PROGRAMAÇÃO JAVA
20
Crie uma classe para um “Funcionário”. Ela deve ter o
nome do funcionário, o departamento onde trabalha, seu
salário (double), a data de entrada no banco (String), seu
RG (String) e um valor booleano que indique se o
funcionário está na empresa no momento ou se já foi
embora.
21
Crie uma classe Empresa que possua “nome”, “cnpj”,
“qtde_de_funcionario” e um array de objetos da classe
Funcionario (o array pode armazenar até 100
funcionários).
4.4. MÉTODOS
Dentro da classe, também declaramos o que cada conta faz e como isso
é feito (os comportamentos que cada classe tem, isto é, o que ela faz).
As operações que um objeto oferece são chamadas de métodos. Andar,
Correr e Comer, por exemplo, pode ser métodos da classe Pessoa.
50
PROGRAMAÇÃO JAVA
51
PROGRAMAÇÃO JAVA
class Programa {
public static void main (String[] args) {
Conta conta = new Conta();
conta.nome = “Silvio”;
conta.saldo = 1000.0;
conta.sacar(200);
conta.depositar(500);
22
52
PROGRAMAÇÃO JAVA
23
Crie dois objetos da classe Funcionario com os mesmos
atributos. Compare os dois com o operador “==” e veja se o
resultado é true ou false.
24
Insira na classe Pessoa, também criada anteriormente, o
atributo “idade” e o método “aniversario”, que incrementa
sua “idade”. Crie um objeto desta classe, defina a “idade”,
chame o método “aniversario” algumas vezes e depois
imprima novamente a “idade”.
53
PROGRAMAÇÃO JAVA
conta.saldo = 1000.0;
boolean consegui = conta.sacar(2000);
if (consegui) {
System.out.println(“Operação realizada com sucesso.”);
} else {
System.out.println(“ERRO: Saldo insuficiente.”);
}
ou
conta.saldo = 1000.0;
if (conta.sacar(2000)) {
System.out.println(“Operação realizada com sucesso.”);
} else {
System.out.println(“ERRO: Saldo insuficiente.”);
}
54
PROGRAMAÇÃO JAVA
http://javafree.uol.com.br/artigo/871497/Tutorial-Java-3-
Orientacao-a-Objetos
55
PROGRAMAÇÃO JAVA
CAPÍTULO 5
• Classe: É um tipo de objeto que pode ser definido pelo programador para descrever
uma entidade real ou abstrata.
• Objeto: É uma instância de uma classe. Por exemplo, vamos imaginar uma classe
chamada Moto. Cada moto existente é uma instância (ou um objeto) dessa classe.
Apesar de parecidas, cada moto possui características próprias, como cor, chassi,
arranhões, etc.
• Métodos são comportamentos que os objetos de uma classe podem possuir. Eles
definem as operações que podemos realizar com os objetos de uma classe.
5.1. CONSTRUTORES
class Conta {
int matricula;
String nome;
double saldoConta;
double limConta;
56
PROGRAMAÇÃO JAVA
Conta () {
System.out.println(“Nova conta criada.”);
}
}
57
PROGRAMAÇÃO JAVA
conta.saldo = 1000.0;
programa */
class Conta {
int matricula;
String nome;
double saldoConta;
double limConta;
58
PROGRAMAÇÃO JAVA
System.out.print(“Usuário: “ + minhaConta.nome);
System.out.println(“ / Saldo: “ + minhaConta.saldo);
System.out.print(“Usuário: “ + outraConta.nome);
System.out.println(“ / Saldo: “ + outraConta.saldo);
25
Crie um construtor para a classe Empresa, que recebe
como parâmetros um “nome” e um “cnpj” e o tamanho
do array de funcionários. O atributo
“qtde_de_funcionario” deve começar com o valor zero.
Crie também um construtor para a classe Empresa que não
receba o tamanho do array de funcionários. Neste caso,
defina que o padrão é criá-lo com tamanho 100.
26
Crie um construtor para a classe Funcionario que receba os
atributos “nome”, “departamento”, “salario” e RG. No
atributo booleano, considere que o funcionário está
empregado. Crie também um construtor para a classe
Funcionario que receba apenas nome e RG, e outro que não
receba parâmetros.
27
Crie um objeto da classe Empresa. Em seguida, crie vários
objetos da classe Funcionario e inclua-os na Empresa.
Demita alguns e depois imprima a quantidade de funcionários
da empresa utilizando o método “numeroDeFuncionarios”.
59
PROGRAMAÇÃO JAVA
5.2. ENCAPSULAMENTO
60
PROGRAMAÇÃO JAVA
// métodos Sets
// métodos Sets
void getSalario () { return
this.salario;
}
}
Cada classe é responsável por controlar seus atributos, portanto ela deve
julgar se aquele novo valor é válido ou não. Essa validação não deve ser
controlada por quem está utilizando a classe, e sim por ela mesma
(centralizando essa responsabilidade e facilitando futuras mudanças no
sistema).
Sendo que, agora, quem chama o método “sacar” não faz a menor ideia
de que existe um limite que está sendo checado. Para quem for usar essa
classe, basta saber o que o método faz e não exatamente como ele o faz (“o
que” um método faz é sempre mais importante do que “como” ele faz: mudar a
implementação é fácil, já mudar a assinatura de um método vai gerar
problemas).
61
PROGRAMAÇÃO JAVA
28
Adicione o modificador de visibilidade (private, se
necessário) para cada atributo e método da classe
Funcionario. Tente criar um Funcionario no “main” e
modificar ou ler um de seus atributos privados. O que
acontece?
62
PROGRAMAÇÃO JAVA
29
f.salario = 100;
System.out.println(f.salario);
passa a ser:
f.setSalario(100);
System.out.println(f.getSalario());
5.3. POLIMOFISMO
63
PROGRAMAÇÃO JAVA
características).
5.3.1 HERANÇA
Uma subclasse pode possuir tudo que está definido na superclasse, além
de ter suas características próprias. Todo Aluno, por exemplo, pode possuir
altura e peso, características de qualquer Pessoa, e também um Número de
Matrícula, característica que nem toda Pessoa possui. O diagrama da Erro!
Fonte de referência não encontrada. Abaixo é mostrado o relacionamento entre
essas duas classes.
64
PROGRAMAÇÃO JAVA
Pessoa
# altura : float
# peso : float
# Andar() : void
# Correr() : void
Aluno
# matricula : int
65
PROGRAMAÇÃO JAVA
Pessoa
Aluno Professor
66
PROGRAMAÇÃO JAVA
class Funcionario {
String nome;
String cpf;
double salario;
// métodos devem vir aqui
}
class Gerente {
String nome;
String cpf;
double salario;
int senha;
Nesse caso, o ideal seria fazer com que o Gerente possuísse tudo o que
um Funcionario possui sem reescrevermos códigos, ou seja, gostaríamos que
a segunda classe fosse uma extensão da primeira. Em Java, fazemos isso
utilizando a palavra-chave extends.
67
PROGRAMAÇÃO JAVA
int senha;
Cada vez que criarmos um objeto do tipo Gerente, este objeto possuirá
também os atributos definidos na classe Funcionario, pois agora um Gerente é
um Funcionario.
68
PROGRAMAÇÃO JAVA
30
Implemente uma classe Aluno, em um novo projeto, que
herda de Pessoa e possui o atributo “matricula”. Em
seguida, implemente a classe Professor, que também
herda de aluno. Qual atributo próprio esta classe poderia
ter?
31
Implemente a classe Conta e adicione um método
chamado “atualizar”, que atualiza o saldo de uma conta de
acordo com uma “taxa” percentual, recebida como
parâmetro.
32
Crie duas subclasses que herdam da classe Conta:
ContaCorrente e Poupanca.
// Sobrecarga.java
69
PROGRAMAÇÃO JAVA
34
O método “aniversario” da classe Pessoa não recebia
parâmetros e incrementava a idade de um objeto dessa
classe. Crie agora outro método chamado “aniversario”
nessa mesma classe, que receba um inteiro como
parâmetro, indicando quantos aniversários a pessoa fez.
70
PROGRAMAÇÃO JAVA
class Funcionario {
protected String nome;
protected String cpf;
protected double safari;
int senha;
35
Reescreva o método “atualizar” da classe Conta nas
subclasses ContaCorrente e Poupanca. Na primeira, o
método atualizará o saldo com o dobro da taxa recebida
como parâmetro. Na segunda, atualizará com o triplo da
taxa (utilize super para acessar o valor do saldo na
superclasse). Reescreva também o método “depositar” na
classe ContaCorrente, descontando do saldo o valor de
0,35% do que foi depositado.
71
PROGRAMAÇÃO JAVA
36
Crie um objeto da classe Conta, um da classe Com
taCorrente e outro da classe Poupanca. Deposite
R$1000,00 em cada uma delas, chame em seguida o
método “atualizar” e depois veja o saldo final de cada uma.
5.3.4 PACOTES
A classe cliente:
72
PROGRAMAÇÃO JAVA
package banco;
class Cliente {
String nome;
String endereco;
}
E classe banco:
package banco;
class Banco {
String nome;
Cliente clientes[];
}
package agencia;
import banco.Cliente
class Agencia {
String nome;
int id;
Cliente c[];
}
37
Separe as classes Empresa, Funcionario e Data em
arquivos diferentes, mas em um mesmo pacote.
73
PROGRAMAÇÃO JAVA
CAPÍTULO 6
CONTROLE DE ERROS
6.2. TRY-CATCH
try {
// código normal
} catch ( <exceção 1> ) {
// código de tratamento do primeiro tipo de erro }
catch ( <exceção 2> ) {
// código de tratamento do segundo tipo de erro
}
catch ( <exceção 3> ) {
// código de tratamento do terceiro tipo de erro
}
74
PROGRAMAÇÃO JAVA
Outro erro que podemos tratar é, caso não for fornecido o argumento
desse mesmo programa, utilizando a exceção
ArrayIndexOutOfBoundsException. Sendo assim, ocorrerá um erro ao
tentarmos acessar o índice 0 do vetor (que está vazio). O código abaixo mostra
como fazemos esses dois tratamentos com o TRY-CATCH.
int j = 10;
try {
System.out.println(“”+j);
j--;
}
} catch (ArrayIndexOutOfBoundsException e) {
} catch (java.lang.NumberFormatException e) {
6.3. TRY-FINALY
75
PROGRAMAÇÃO JAVA
try {
<código normal>;
} finally {
76
PROGRAMAÇÃO JAVA
77
PROGRAMAÇÃO JAVA
CAPÍTULO 7
BANCO DE DADOS
import java.sql.*;
78
PROGRAMAÇÃO JAVA
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
class Diversos() {
// Variaveis publicas
public Connection con = null;
public Statement stmt = null;
79
PROGRAMAÇÃO JAVA
import java.sql.ResultSet;
class Funcionario() {
String nome;
String fone;
String celular;
80
PROGRAMAÇÃO JAVA
81
PROGRAMAÇÃO JAVA
82
PROGRAMAÇÃO JAVA
83
PROGRAMAÇÃO JAVA
REFERÊNCIAS
84
PROGRAMAÇÃO JAVA
85