treinamento java i-aula 1.pdf
TRANSCRIPT
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Treinamento Java IHP Enterprise Services
Gustavo Mascarin
Anderson Baroni
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
HP AND PARTNER RESTRICTEDUnder no circumstances will a hard copy or electronic copy of this presentation be left with or forwarded to non-employees or unauthorized contractors of Hewlett Packard.
Sumário – Aula 1
• Apresentação do Treinamento
• Links Úteis
• Introdução ao Java
• Montagem do ambiente
• Primeiro projeto
• Variáveis: Tipos primitivos e a classe String
• Operadores
• Controle condicional
• Laços de repetição
• Exercícios
Apresentação do Treinamento
• Objetivos: Possibilitar o entendimento das características da linguagem de programação
Java, bem como as vantagens e desvantagens do seu uso.
Estudar a sintaxe da linguagem de programação Java.
Apresentar os conceitos da Orientação a Objetos e aplicá-los no ambiente Java.
Fornecer base para que o aluno possa manter códigos-fontes de sistemas Java.
Apresentação do Treinamento
• Aula 1: Introdução ao Java
Montagem do ambiente
Primeiro projeto
Variáveis: Tipos primitivos e a classe String
Operadores
Controle condicional
Laços de repetição
Apresentação do Treinamento
• Aula 2: Entrada de dados com Scanner
Orientação a Objetos
Classes e Objetos
Referências a objetos
Métodos e atributos
• Aula 3: Sobrecarga
Construtores
Modificadores de acesso
Encapsulamento
Apresentação do Treinamento
• Aula 4: Atributos e Métodos de Classe (Static)
Interfaces
Herança
• Aula 5: Polimorfismo
Classes Abstratas
Arrays e Coleções
Apresentação do Treinamento
• Aulas 6, 7, 8, 9: Acesso a Base de dados
• Aula 10: Resumo
Dúvidas
Avaliação
Links Úteis
• Apostilas k19 http://www.k19.com.br/downloads/apostilas/basica/k19-k01-logica-de-
programacao
http://www.k19.com.br/downloads/apostilas/java/k19-k11-orientacao-a-objetos-em-java
• Apostilas Caelum https://www.caelum.com.br/apostila-java-orientacao-objetos/
• Fórum GUJ http://www.guj.com.br/
Introdução ao Java
• Características:Orientado a Objetos (manutenção, reaproveitamento, baixo acoplamento, alta
coesão etc.)
Independente de plataforma
Concorrente (Multithreads)
Distribuída
Coleta automática de lixo
• Erros Comuns:Linguagem do futuro
Fácil de aprender
Javascript
Não tenha medo: JSF, STRUTS, EJB, HIBERNATE, JBOSS, JWS, SPRING, etc.
Introdução ao Java
• Plataforma JavaPara executar um programa na plataforma Java são necessários 2 componentes:
1. JVM – Java Virtual Machine
2. Java API – um conjunto de bibliotecas de classe, que incluem desde estruturas para manipulação de Strings até a construção de aplicativos gráficos.
O pacote que contém a JVM e a Java API é chamado de JRE (Java Runtime Environment)
JVM API
JRE
Introdução ao Java
• JVMEmula uma máquina Real
Permite que o mesmo código possa ser executado em várias plataformas (windows, Linux, MacOs, etc.)
Não trabalha diretamente com código Java, mas com bytecodes presentes em arquivos no formato .class
Introdução ao Java
• Edições:JavaSE - Java Standard Edition
Tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de processamento e memória consideráveis.
Possui 2 divisões:• JDK(Java Development Kit) – Ferramentas para o desenvolvedor
• JRE(Java Runtime Enviroment) – Ferramenta mais leve para execução de programas.
JavaME - Java Mobile Edition Tecnologia Java para dispositivos embarcados (Celulares, Controles Remotos, PDAs etc.)
JavaEE – Java Enterprise Edition Especificação Java para aplicações corporativas. Oferece bibliotecas para controle de
segurança, integração de sistemas, web services, etc.
Não é um produto, mas uma especificação.
Montagem do ambiente de desenvolvimento
• Ferramentas:JDK
Fazer download diretamente do site da Oracle. Utilizaremos a versão 1.6 que pode ser baixada em http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR
Editor de texto ou IDE apropriada É possível desenvolver um programa Java utilizando um simples editor de texto como o
notepad, entretanto uma IDE pode oferecer várias facilidades como um editor de texto desenhado para a linguagem de programação, ferramentas de debugger, editor gráfico amigável etc.
Nesse treinamento utilizaremos a IDE Eclipse, disponível para download em https://www.eclipse.org/downloads/packages/release/juno/sr2 .
Obs: Eclipse 64 bits somente trabalha com JDK 64 bits.
Ambiente de desenvolvimento
• Eclipse IDE:Workspace
Diretório padrão onde serão armazenados os programas desenvolvidos.
Armazena as configurações do ambiente.
Podem existir vários workspaces, entretanto um workspace poderá ser executado por somente uma instância do Eclipse.
Iniciando: Ao iniciar o Eclipse será solicitado o diretório workspace. É possível definir o valor default.
Após definição do workspace será exibida uma janela de boas-vindas.
Primeiro Projeto
• Criando um projetoFile New Project...;
Selecionar Java Project;
Definir o nome “ProjetoAula1”;
Será perguntado se deseja trocar a Perspectiva (Layout). Responda “No”.
• Criando uma classeFile New Class;
Definir o nome “HelloWorld”;
Marcar a opção “public static void main(String[] args)”;
Finalizar.
Atividade
Crie uma classe chamada Funcionario e imprima seu nome e sobrenome em linhas separadas no console.
Variáveis
• Uma variável deve:Possuir identificador único;
Ser declarada antes de ser usada;
Ter um tipo definido;
Ser usada dentro do escopo de sua declaração.
• IdentificadoresIdentificam nome de variáveis, atributos, parâmetros e métodos;
Devem iniciar com uma letra, _ ou $;
Podem possuir números após o primeiro caractere;
Case-sensitive.
Variáveis
• Convenções para escrever identificadores:Constantes com todas as letras maiúsculas: CONSTANTE;
Variáveis e métodos começam com letras minúsculas: variável;
Classes e interfaces começam com letras maiúsculas: Classe;
Cada palavra de nomes compostos começa com letra maiúscula: variavelExemploComNomeComposto.
Variáveis
• Tipos primitivosSão tipos de variáveis que armazenam valores;
Categorias: numérico, caractere, booleano.
• Tipos de referênciaConhecidos como Objetos;
O valor de uma referência é o endereço em que ele reside;
String e Array são exemplos de tipos de referência;
Variáveis
• Tipos primitivosboolean – um valor indicando true ou false
char – um caracter (unsigned).
byte – inteiro de 8-bits (signed)
short – inteiro de 16-bits (signed)
int – inteiro de 32-bits (signed)
long – inteiro de 64-bits (signed)
float – ponto-flutuante de 32-bits (signed). Devem possuir o sufixo F. (3.04F)
double – ponto flutuante de 64-bits (signed)
Variáveis
• Declarando variáveistipo identificador;
Exemplos:
int idade;
int numeroCasa = 97;
boolean isOk;
double d = 1.05;
float f = 1.05F;
char c = ‘a’;
Variáveis
• Classe StringString é uma classe que manipula cadeia de caracteres;
Possui métodos para as manipulações;
Representada por um conjunto de caracteres entre aspas.
Ex: String variavelString = “Exemplo de String”;
Concatenação de Strings é feito com o operador +.
Ex: String variavelUniao = “União: ” + variavelString + “outra palavra”;
Atividade
Faça as seguintes alterações na classe Funcionário:
1. Armazene seu nome e sobrenome em variáveis e imprima-os no console.
2. Crie variáveis para armazenar sua idade, salário e sexo. Imprima seus valores.
3. Crie uma nova variável para verificar se o funcionário está ativo na empresa.
Variáveis
• Principais métodos da classe StringSubstringString palavra = "Brasileiro";String parteInicialPalavra = palavra.substring(0, 6); //BrasilString parteFinalPalavra = palavra.substring(6, 10); //eiro.
Length: Tamanho
int tamanho = palavra.length(); //10
CharAt: Retornar Caractere pela posição
char caractere = palavra.charAt(3); //s
Variáveis
• Principais métodos da classe StringtoUpperCase / toLowerCase: Maiúsculas e minúsculasString maiuscula = palavra.toUpperCase(); //BRASILEIROString minuscula = palavra.toLowerCase(); //brasileiro
Equals / EqualsIgnoreCase: Comparação de Stringsboolean isEqual = palavra.equals("brasileiro"); //falso pois b é diferente de B.
boolean isEqualIgnoreCase = palavra.equalsIgnoreCase("brasileiro"); //true
Obs: o operador == compara a referência de memória.
Replace / ReplaceAll: Trocando caractere(s) de uma StringString troca = palavra.replace('i', 'u'); //BrasuleuroString trocaVarios = palavra.replaceAll("i", "abc"); //Brasabcleabcro
Operadores
• Aritméticos
Operador Significado Exemplo
+ Soma 7 + 3
- Subtração 6 – 7
* Multiplicação 2 * 4
/ Divisão 16 / 8
% Módulo 17 % 8
Operadores
• Atribuição
Expressão Significado
x = y x = y
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
Operadores
• Incrementos e Decrementos
Expressão Significado
x++ x = x + 1
x-- x = x - 1
y = x++ y recebe valor de x antes de ser incrementado
y = ++x Y recebe o valor de x depois de incrementado
Operadores
• Comparação
Operador Significado Exemplo
== Igual x == 7
!= Diferente x != 7
< Menor x < 7
> Maior x > 7
<= Menor ou igual x <= 7
>= Maior ou igual X >= 7
Controle Condicional
• If/else:
If (condição booleana) {
//Comandos true
} else if (condição booleana){
//Comandos true
} else {
//Comandos false
}
Controle Condicional
• Switch:
switch(int) {case 1: commands; break;case 2: commands;case 3: commands; break;default: commands;
}
Atividades
Faça as seguintes alterações na classe Funcionário:
1. Verifique se o funcionário está ativo na empresa e conforme resultado imprima “Funcionário Trabalhando” ou “Funcionário desligado”. Utilize if/else.
2. Se a idade do funcionário for 20 imprimir “Maior de idade”, 10 “Menor de Idade”, caso contrário “Idade Incorreta”. Utilize Switch.
3. Para funcionários “Maior de Idade” e ativo imprimir “Apto ao emprego”, caso contrário exibir “Emprego não permitido”.
Laços de Repetição
while(condição) { comandos }
for (início; condição; incremento) { comandos }
do { comandos } while(condição)
Atividades
1. Escreva uma classe que imprima os número de 1 a 20. Utilize for.
2. Altere a classe para exibir os números de 7 a 13.
3. Altere a classe para exibir os números de 60 a 20 (ordem inversa).
4. Utilizando while imprimir todos os números que multiplicados por 3 apresentam resultado menor que 70.
5. Utilizando do/while apresentar o resultado da soma de todos os números de 1 até 12. Ex: 1+2+3+...+11+12