O que é Java?

Propaganda
JAVA
Professora Flabiana Felipe

Apresentação do Curso.

Mercado de Trabalho.

Java no Mercado de Trabalho.

O que é Linguagem de Programação?

Exemplos de Linguagem de Programação.

Java-Uma Linguagem Orientada a Objetos.

E como funciona?


Introdução á Linguagem Java,seus principais
conceitos,estruturas,aplicações utilizando o
programa NetBeans;
Capacitação para o Mercado;

O Mercado de trabalho x Capacitação;

Mercado de trabalho x Postura;
Programa de Computador

Um programa de computador ou programa
informático é uma coleção de instruções que
descrevem uma tarefa a ser realizada por um
computador.
Ex:Internet,Word,Windows
Windows


O Windows e o um programa operacional ele e
quem comanda todos os outros programas e
nele que os programas são instalados,como
Internet,Word e ect...
O Windows e a primeira tela quando você liga o
computador.
As pastas são locais no computador aonde
colocamos nossos trabalhos,textos,músicas,fotos
a serem guardadas no computador.
Ex;

Na prática é como se você tivesse um arquivo
desses de escritório, com algumas gavetas,
várias pastas dentro de cada gaveta e assim por
diante. No caso do Windows é muito
semelhante, como você confere no exemplo
abaixo, que mostra as pastas mais utilizadas
pelos usuários:


Faixa Salarial:2.000,00 até 6.000,00.
Níveis de Conhecimento e experiências: Junior,
Pleno e Sênior.
JAVA
Uma linguagem de
programação é um método
padronizado para
comunicar instruções para
um computador.
É um conjunto de regras
sintáticas e semânticas
usadas para definir
um programa de
computador.
PROGRAMA FRITAR_OVO










RESERVAR OVO, FRIGIDEIRA, SAL, MANTEIGA ;
USAR FOGÃO;
COLOCAR FRIGIDEIRA NO FOGÃO;
COLOCAR MANTEIGA NA FRIGIDEIRA;
LIGAR FOGÃO;
ESPERAR MANTEIGA FICAR QUENTE; QUEBRAR
OVO;
DERRAMAR OVO NA FRIGIDEIRA;
COLOCAR SAL NO OVO;
ESPERAR OVO FICAR FRITO;
DESLIGAR FOGÃO;
SERVIR OVO; END PROGRAMA
Somar (5,6):
Resultado 11
def somar(num1, num2):
return num1 + num2




– Cálculo da média de um aluno:
– Obter as notas da primeira e da segunda
prova
– Calcular a média aritmética entre as duas
– Se a média for maior ou igual a 7, o aluno
foi aprovado, senão ele foi reprovado

– Troca de um pneu furado:

– Afrouxar ligeiramente as porcas

– Suspender o carro

– Retirar as porcas e o pneu

– Colocar o pneu reserva

– Apertar as porcas

– Abaixar o carro

– Dar o aperto final nas porcas










Algoritmo Média
Var N1, N2, Média
Início
Leia N1, N2
Média := (N1+N2)/2
Se Então
Média >= 7 Escreva “Aprovado”
Senão
Escreva “Reprovado”
Fim.










Algoritmo soma;
Declare
X:Inteiro;
Y:Inteiro;
SOMA:Inteiro;
Inicio
Leia X;
Leia y;
Y := X + Y;
Escreva Y;
Fim

Algoritmo Exemplo_comando_de_saída_de_dados

Var preço_unitario, preço_total: real

quant : inteiro

Início

preco_unitario:= 5.0

quantidade := 10

preço_total:= preço_unitario* quantidade

Escreva preço_total

Fim.















Algoritmo Ordenacao;
Declare A:Inteiro;
B:Inteiro;
Inicio
Leia A;
Leia B;
SE A > B Então
Inicio
Escreva B, A;
Fim
Senão
Inicio
Escreva A, B;
Fim
Fim



http://www.youtube.com/watch?v=Ui72gDqUIGo
&feature=related
http://www.youtube.com/watch?v=FBrIPhiTmWk
http://www.youtube.com/watch?v=k32yQDLoqSw
&feature=relmfu

Java e uma linguagem de programação que
usa objetos do mundo real e se comunica
entre eles.
A origem da Linguagem


Desenvolvida e concebida pela SunSoft,
Herança do C++,

Totalmente orientada a objetos;

Independente da Plataforma;

Quase idêntica ao C++;

Orientada a Web;

Fácil de Programar;

Rápida programação;

Segura e redução de erros.

Jogos para Celulares;

Web;

Cartões;

Smartphones;

Java

C ++

VB.NET

Cobol

Delphi

O que são Objetos?
De um modo geral podemos encarar os objetos
como sendo os objetos físicos do mundo real,
tal como: carro, avião, cachorro, casa, telefone,
computador, etc.,
Os objetos conversam uns
com os outros através de
mensagens.
Vantagens:


Sensível redução no custo
de manutenção do
software.
Aumento na reutilização
de código.
1-O que é uma Linguagem de
Programação?Mencione alguns exemplos.
2-O que são objetos em Java?
3-Quais são as vantagens da Linguagem Java?
4- Onde o Java pode ser utilizado?
5-Faça um algoritmo “Lavar Roupa”.
6-Quais são as características da Linguagem
Java?
7- Site outros tipos de Linguagem parecidas
com o Java que são orientadas a objetos.
8- Qual e a origem da Linguagem Java?
9-O que são programas de computador?De
exemplos.

Java Virtual Machine;

Compiladores e Interpretadores;

Vantagens e Desvantagem do Interpretador;

Java e suas Edições.


Máquina virtual Java (do Inglês Java Virtual
Machine - JVM) é um programa que carrega e
executa os aplicativos Java, convertendo
os bytecodes (forma intermediária de código) em
código executável de máquina. A JVM é
responsável pelo gerenciamento dos aplicativos, à
medida que são executados.
Graças à máquina virtual Java, os programas
escritos em Java podem funcionar em qualquer
plataforma de hardware e software que possua
uma versão da JVM, tornando assim essas
aplicações independentes da plataforma onde
funcionam.
O computador
tem sua própria
linguagem que e
o código binário.
Binário por que
ele trabalha com
0 e 1.
 Compiladores
e interpretadores são
formas de tradução de um código
geralmente de alto nível para um
código que o computador (a
máquina) interprete. Este tradutor
tem a função de traduzir uma
linguagem abstrata para uma
linguagem binária.

Um compilador é um programa que traduz o
código-fonte de um programa em um (ou mais)
executáveis. Por exemplo, se eu quiser fazer um
programa que mostre a mensagem: "Hello
World!" e quiser usar a linguagem de
programação c, eu posso usar o código-fonte:
#include <stdio.h>
void main()
{
printf("Hello World!");
}
Depois o compilador transforma o código-fonte
em um arquivo executável que você poderá usar
para ver esta mensagem.

O nome "compilador" é usado principalmente
para os programas que traduzem o código de
fonte de uma linguagem de programação de
alto nível para uma linguagem de
programação de baixo nível (por exemplo,
linguagem de montagem assembly ou código
de máquina




O código compilado é mais rápido de ser
acessado;
Impossibilita ou pelo menos dificulta ser
quebrado e visualizado o código-fonte
original;
Permite otimização do código por parte do
compilador;
Compila o código somente se estiver sem
algum erro.



Para ser utilizado o código precisa passar por
muitos níveis de compilação;
Assim como vantagem a possibilidade de não
poder visualizar o código-fonte, pode ser
uma desvantagem;
Processo de correção ou alteração do código
requer que ele seja novamente recompilado.

O interpretador ao contrário do compilador roda
o código-fonte escrito como sendo o código
objeto, ele traduz o programa linha a linha, o
programa vai sendo utilizado na medida em que
vai sendo traduzido. Cada execução do programa
precisa ser novamente traduzido e interpretado.
O interpretador analisa sintaticamente e
semanticamente o código, se estas duas etapas
forem realizadas e executadas de forma correta o
código está pronto para funcionar.

Correções e alterações são mais rápidas de serem
realizadas;

Código não precisa ser compilado para ser
executado;

Multiplataforma;

Compatibilidade;

Portabilidade;

Verificação da Segurança do Código;

Toda Máquina pode ser Java Virtual por Software.


Queda de Desempenho;
Duas ferramentas;Compilador e
Interpretador;

Código Nativo-Plataforma Específica;

Execução é mais lenta do programa.



Java 2 Standard Edition; É uma edição de Java
feita para rodar em desktops,Dispositivos
embarcados(robôs,eletrodomésticos,etc)
Java 2Enterprise Edition;É a edição com todo o
suporte para rodar em aplicações em servidores
WEB.
Java2 Micro Edition; É a edição para rodar em
dispositivos de pequeno porte,tais como
celulares,Smartfones,tabletes.
1-O que e a Java Machine e para que ele e
utilizada?
2-O que é um Interpretador?
3-Quais são as Desvantagens do Interpretador?
4-Quais são as vantagens do Interpretador?
5-Quais são as edições do Java? Explique suas
utilidades.
6-O que e um Compilador?
7-Quais são as vantagens de um Compilador?
8-Quais são as desvantagens de um
Compilador?
7-Qual e a vantagem de se usar um Java
Machine?
8-Qual é a Linguagem que o computador “fala”?




compiladores.avi
http://www.youtube.com/watch?v=nj5z32_6SMk
Como programar em Java para Iniciantes Aula
0001
http://www.youtube.com/watch?v=NGUjvuYFbdE
&feature=related

Prompt do Dos;

Ambiente de Desenvolvimento;

Configurando Variáveis;

Java developement Kit;

Eclipse;

Criando Projetos;

Executando Programa.


A Sun Lançou juntamente com a Linguagem
um Kit de desenvolvimento,o Java
development kit(JDK).
JDK Kit é a 1ª ferramenta para
desenvolvimento Java.Distribuída
gratuitamente pela Sun,Dispõe de um
conjunto mínimo de recursos suficientes
para gerar qualquer aplicação.







Compilador -javac MinhaClasse.java
O que é?
Interpretador-java MinhaClasse
O que é?
Visualizador-appletviewer meuapplet.html
O que é?
Debugger-jdb

Site para Baixar Gratuitamente o Kit:

http://www.baixaki.com.br/site/dwnld46857.htm
Instalação.

1-A seguir você verá os passos necessários
para a instalação do JDK no Windows. O
primeiro passo é executar o arquivo jdk6u17-windows-i586.exe que está na pasta
SOFTWARES/JAVA/JDK dentro da pasta
SOFTWARES. A instalação é bastante simples,
bastando apenas avançar no assistente de
instalação. Importante lembrar, nunca mude a
pasta padrão de instalação.
O que é? É um interpretador de linha de comando

Para que serve?
Era usado quando os windows "personalizados"
(windows 95 em diante), não existiam.então, pra mexer
pelo prompt, você tinha que digitar alguns comandos
para abrir uma programa, por exemplo, fazia tudo que
você faz pelo mouse hoje.

O Prompt do Dos esta localizado na Pasta Acessórios.

1. Clique com o botão direito em cima do
ícone “Meu Computador”.

2. Vá em “Propriedades”.

3. Selecione a aba “Avançado”.

4. Clique no botão “Variáveis de ambiente”.

5.Clique no botão “Nova” em “Variáveis do
sistema”.


6. Nome da variável: JAVA_HOME
7. Valor da variável: Coloque aqui o endereço
de instalação neste caso: C:\Arquivos de
programas\Java\jdk1.6.0_17

8. Clique em OK.

9. Clique novamente no botão “Nova” em
“Variáveis do sistema”.

10. Nome da variável: CLASSPATH
11. Valor da variável:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\
htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAV
A_HOME%\jre\lib\rt.jar 12. Clique em OK.
12. Clique em OK. 13. Selecione a váriavel
PATH em “Variáveis do sistema”. 14. Adicione
o seguinte endereço ao campo Valor da
variável: ;%JAVA_HOME%\bin



15. Clique em OK. 16. Clique em OK.
17. Clique em OK. Agora você vai testar a
instalação. Clique no botão Iniciar, vá em
Executar e digite cmd ou abra o Prompt de
comando normalmente.

No prompt do MS-DOS vamos testar o
interpretador, digite java -version, deverá
aparecer algo parecido com isto:

Agora você vai testar o compilador, digite
javac -version, deverá aparecer algo parecido
com isto:



O Eclipse e uma ferramenta de desenvolvimento
de aplicações Java que pode ser utilizada
livremente, sem pagamento de licenças.
E uma ferramenta para
edição,compilação,depuração e execução de
programas Java
Site para Download:
www.java.sun.com ou
www.eclipse.org

Instalação
Faça o Download no site http://java.sun.com

Execução
1-Para rodar o Eclipse basta apenas executar o
arquivo C:\pasta\eclipse-SDK-3.1.1win32\eclipse\eclipse.exe
2-Sempre que o Eclipse for aberto, ele pede
que seja indicado uma pasta para colocar os
arquivos criados nele.
3-Fazer um PASTA.....

Cada programa Java pode ser composto por
várias classes.Essas classes e as suas
configurações ficam agrupadas em um
PROJETO.

Para criar um PROJETO, clique em MENU
FILE,NEW,PROJECT.

Depois selecione JAVA PROJECT,coloque o
NOME DO PROJETO que será OI MUNDO.

Selecionar Wizard “Java Project” e completar
com o nome do projeto.




O que são?
As perspectivas mostram todas funcionalidades
associadas a determinadas tarefas, por exemplo, a
‘Perspectiva Java’ esta associada a todas
ferramentas necessária para criar aplicações em
Java. Cada perspectiva tem uma visual (View)
padrão, abas e editores apropriados para cada
tarefa. Se uma view ou editor for movida para outro
local, o eclipse ira guardar esta nova posição que se
manterá da próxima vez que você retornar a ela.
Abrir a Perspectiva Java para o código;
Window,Open Perspective,Other,Java (Default)



São definições genéricas dos Objetos “Moldes”.
Portanto pode se existir vários objetos em uma
classe,ex:Bicicletaria,Carrocinha,Escola.
As classes são definidas a fim de que a partir
delas possam ser gerados os objetos que
assumem aquelas propriedades e executam
aquela funcionalidade definida na classe.

Criar uma nova classe e adicionar ao projeto

1- Clique no MENU FILE,NEW,CLASS

2-Dar um nome a classe que será PRINCIPAL e
marcar para criar o método;
Public.static void main(String[]args)
Que significa: Ele e o chef e quem manda no
programa.
EXPLICAR O METODO MAIN

3-Adicionar a seguinte linha de código ao
método main.
System.out.println(“Hello World”);
Que significa:
(mostre na tela do computador “Hello World”)
//Meu primeiro programa em Java.
public class programa{
//Método principal que inicia a execução do
programa.
public static void main (String[] args){
System.out.println ("Curso de Java!");
}// fim do método.
}// fim da classe



1-Selecione o arquivo Java e com o botão
direito do mouse escolha
RUN,AS,JAVA,APPLICATION.
2-O Eclipse pedirá para você salvar o
arquivo,selecione-o e salve-o.
3-Depois dispare a execução como Java
Application
1-O que é o JDK?
2-Para que serve o Programa Eclipse?
3-Qual e a classe principal de um projeto?
4-Quais são os componentes do JDK?
5-Cite os passos para se executar um
programa.
6-Cite os passos para criar uma nova classe e
adicionar ao projeto.
7-O que e uma classe?Para que ela serve?
8-Dê 3 exemplos de Classe.



http://stthiaggo.blogspot.com.br/2011/08/d
iagrama-de-classes-e-objetos.html
http://pt.wikipedia.org/wiki/Classe_%28prog
rama%C3%A7%C3%A3o%29
http://www.ic.unicamp.br/~cmrubira/aacesta
/java/javatut9.html

Depurando o programa;

Estrutura de Programa em Java;

Tipos e Classes básicos.
Para que serve?
Para procurar erros no código digitado.
Como funciona?
Para observar o valor de uma variável:
1-Coloque o Ponteiro sobre ela.
2-Clique no MENU WINDOW,OPEN
PERSPECTIVE,DEBUG.



Um programa em Java é uma coleção de
classes(fabrica de Bicicletas,Carrocinha,Escola)
que interagem entre si de forma totalmente
orientada a objetos(carro,casa,pessoa).
O método main() de partida da execução do
programa deve pertencer a classe principal do
programa.
O nome do arquivo principal do programa deve
ter o mesmo nome que a classe principal(aquela
que contém o método main())





Public static void main(String args[]){
}
Public class HelloWorld{
}
O nome do arquivo deve ser HelloWord.java que
depois irá gera o arquivo HelloWorld.class

Public
É um qualificador do método que indica que este é acessível
externamente a esta classe (para outras classes que eventualmente
seriam criadas), não se preocupe com ele agora, apenas declare
todos os métodos como public.

Static
É um outro qualificador, que indica que o método deve ser
compartilhado por todos os objetos que são criados a partir desta
classe.
Os métodos static podem ser invocados, mesmo quando não foi
criado nenhum objeto para a classe, para tal deve-se seguir a
sintaxe: <NomeClasse>.<NomemetodoStatic>(argumentos).
particularmente o método main precisa ter essa qualificação
porque ele é chamado sem que se crie nenhum objeto de sua
classe (a classe AloMundo).
main
Todo programa Java deverá conter métodos.
Um programa executável é aquele que contém o
método principal (main). Este é um nome particular de
método que indica para o compilador o início do
programa, é dentro deste método principal e, através das
iterações entre os atributos, variáveis e argumentos
visíveis nele que o programa se desenvolve.

(String args[])
É o argumento de main e por consequência do programa
todo, ele é um vetor (array) de Strings
que é formado quando são passados ou não argumentos
através da invocação do nome do programa na linha de
comando do sistema operacional, exemplo: Hello World
argumentotexto1 argumentotexto2


Void
É o valor de retorno da função, quando a função
não retorna nenhum valor ela retorna void, uma
espécie de valor vazio que tem que ser
especificado.

{ ... }
“Abre chaves” e “fecha chaves” delimitam
um bloco de código.
System.out.println("Alo Mundo!");
println assim como writeln de Pascal, imprime a
String e posiciona o cursor na linha abaixo , Por
hora você pode guardar esta linha de código
como o comando para imprimir mensagens na
tela, onde o argumento que vem entre aspas é a
String a ser impressa. O ; “ponto e vírgula” separa
os comandos.

Finalmente o fecha chaves termina com a
declaração da classe AloMundo.
 Bit
(simplificação para dígito binário,
"BInary digiT" em inglês) é a menor
unidade de informação que pode ser
armazenada ou transmitida. Usada
na Computação e na Teoria da
Informação. Um bit pode assumir
somente 2 valores, por exemplo: 0 ou 1,
verdadeiro ou falso
Programa Conta {
int numero;
char *nome;
char *sobrenome;
float balanco;
};

Inteiro:Apenas números inteiros, positivos ou
negativos(O mais comum).
◦
◦
◦
◦
Byte 8 bits
Short 16 bits
Int 32 bits
Long 64 bits

Ponto-flutuante; Números inteiros e fracionários,
positivos ou negativos.
Float 32 bits
Double 64 bits

Caracter: Representação de caracteres individuais
Char 16 bits.

Boleano:Tipo que só tem 2 estados: verdadeiro ou
falso.
Boolean true ou false.






Byte -128 a 127
Short -32.768 a 32.767
Int -2.147.483648 a 2.147.483.647
Long -9.223.372.036.854775.808 a
9.223372.036.854.775807
Float -3,4E-38 a 3,4E-38
Double -1.7E-308 a 1.7E+308

Classes Especiais
String-São tipos de dados não
numéricos.também chamados de string.
System-Realiza parte d....
Ex:

1-Para que depuramos um programa?
2-Quais são os tipos de dados?De exemplos de cada
um deles.
3-O que são BITS?
4-Como e estruturado um programa Java?
5-Qual é a classe principal de um programa Java?
Escreva sua estrutura.
6-Porque abrimos e fechas as chaves em um bloco
de comando Java?

Variáveis;

Operadores e expressões;

Comandos Básicos;

Parâmetros de Entrada;

Pacotes.

Descrição técnica de Variáveis:
Variáveis e constantes, são espaços reservados na
memória ram do computador para guardar informações
que serão utilizadas durante o código do programa.
Podem ter valores de diversos tamanhos e tipos, tais
como números inteiros, números reais, caracteres,
frases, enfim, diversas coisas.
Descrição mais simples:
Imagine que você tem uma estante para guardar
diversos livros, quando você compra os livros, os
coloca na estante e quando quer ler um dele, o pega na
estante... com o computador é a mesma coisa, a
memória RAM é a estante e as variáveis e constantes
são os livros, você cria elas (compra) e as joga na
memória. Claro que o computador faz isso sozinho,
você só precisa dizer o nome da variável e o tipo dela.

Declaradas antes de serem utilizadas,em
qualquer parte do programa(declarar e dar o
tipo e o nome)
Variáveis são nomes atribuídos a endereços
na memória de um computador onde se
guardam dados.

A declaração de uma variável consiste em
dar um nome para a variável; especificar qual
tipo de dado será guardado.
Podemos também declarar e ao mesmo
tempo atribuir um valor a uma variável.

Exemplo:
int Idade=29;

Inteiro: ex: 1, 2, 67, 999).

String: ex: isso é legal, palavra.

Caracter: ex: A, B, 7, J.
Exemplo prático usando 3 variáveis
1 - Declaração de variáveis
2 - a: inteiro
3 - b: inteiro
4 - c: real
5 - Início do programa
6 - a <- 13
7 - b <- 2
8 - c <- a / b
9 - mostra ( c )
10 - Fim do programa

Explicação do código
linha 1: comando que determina aonde começa a declaração das variáveis
linha 2: a variável 'a' está sendo declarada do tipo INTEIRO
linha 3: a variável 'b' está sendo declarada do tipo INTEIRO
linha 4: a variável 'c' está sendo declarada do tipo REAL
linha 5: comando que determina aonde termina a declaração das variáveis e
começa o corpo do programa
linha 6: a variável 'a' recebe o valor 13
linha 7: a variável 'b' recebe o valor 2
linha 8: a variável 'c' recebe o valor da divisão de 'a' por 'b' (13 div 2)
linha 9: comando que coloca na tela o valor da variável 'c' (6.5)
linha 10: comando que determina o fim do programa

- como podemos ver, existe uma área aonde
você declara as suas variáveis para serem
usadas durante o programa e por serem
variáveis, podem ter seu valor modificado.
- logo no início do programa atribuímos
valores para as variáveis 'a' e 'b' e para a
variável 'c' atribuímos o resultado de uma
divisão de dois números inteiros mas que
resulta em número decimal e por isso a variável
'c' foi declarada do tipo REAL
- ao fim do programa é mostrado o resultado
ao usuário, no caso 6.5 que é o valor da divisão
de 13 por 2

Operadores aritméticos
◦ Básicos +,-,*,/ e %(resto da divisão inteira)
Operadores Conjugados com atribuição de valores
a+=b <=> a=a+b
a-b<=> a=a-b
public class Aritmetica {
static public void main (String args[]) {
// Declaracao e inicializacao de duas variaveis
int a = 5;
int b = 2;
// Varios exemplos de operacoes sobre variaveis
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("-b = " + (-b));
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a * b));
System.out.println("a / b = " + (a / b));
System.out.println("(float) a / b = " + ((float)a / b));
System.out.println("a % b = " + (a % b));
System.out.println("a++ = " + (a++));
System.out.println("--b = " + (--b));
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}






==
!=
<
>
<=
>=
igual
diferente
menor
maior
menor ou igual
maior ou igual















// Operadores relacionais em Java
public class Relacional {
static public void main (String args[]) {
int a = 15;
int b = 12;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("a == b -> " + (a == b));
System.out.println("a != b -> " + (a != b));
System.out.println("a < b -> " + (a < b));
System.out.println("a > b -> " + (a > b));
System.out.println("a <= b -> " + (a <= b));
System.out.println("a >= b -> " + (a >= b));
}
}



& ou && <=> and
| ou || <=> or
! <=> not
 Comentários:
◦ Comentários de uma linha
//linha comentada
/* linhas comentadas
*/
• O comando while é um desvio de fluxo
condicional (como o ‘if’) com a exceção de que o
bloco de comandos é executado repetidamente
enquanto a condição for verdadeira
• A expressão de comparação é avaliada antes que
o laço seja executado enquanto a expressão for
verdadeira, o bloco será executado.
while (<condição>) {
<comandos>
}
class Main{
public static void main(String[] args) {
int i = 0;
while(i<10) {
System.out.println("Contador é " + i);
i = i + 1;
}
}
}







Pré-incremento
x = 10;
x = x + 1;
O valor da variável x é
11
x = 10;
++x;
O valor da variável x é
11.
x = 10
++x => neste exato momento a
variável a vale 11







Pós-Incremento
x = 10;
x = x + 1;
O valor da variável x é
11
x = 10;
x++
O valor da variável x é
11.
x =10
x++ => neste exato momento a variável x
vale 10 e em seguida valerá 11
public class incremento {
public static void main(String[] args) {
int cont = 1;
while(cont<=100){
System.out.println(cont);
cont++;
}
}
}
public class Exemplo {
public static void main(String[] args) {
int cont =15;
while (cont>=10){
System.out.println(cont);
cont--;
}
}
}
• A forma mais simples de controle de fluxo é o
comando condicional if-else.
• Ele define um ou outro caminho a ser seguido, de
acordo com a avaliação de uma expressão
booleana.
• Sintaxe:
If ( [condição] )
[comando 1] // se true
else
[comando 2] // se false
public class Loop{
public static void main(String[] args) {
int i = 0;
while(true){
if(i == 6)
break;
}
}
}
System.out.println(i);
i++;
//Programa para cálcular a média de quatro números.
import java.util.Scanner;//Importação da classe Scanner.
public class media {//Declaração da classe Media.
public static void main (String args[]) {
//Método principal para executar o programa.
float nota1,nota2,nota3,nota4,media;
/*Variáveis do tipo float que receberão os números.
Variável media que mostrará o resultado.*/
Scanner entrada = new Scanner(System.in);
//Classe Scanner para obter entrada de dados externo.
System.out.print("Entre com a nota do primeiro bimestre: ");//Entrada da primeira nota.
nota1 = entrada.nextFloat();//Faz a leitura da primeira nota.
System.out.print("Entre com a nota do segundo bimestre: ");//Entrada da segunda nota.
nota2 = entrada.nextFloat();//Faz a leitura da segunda nota.
System.out.print("Entre com a nota do terceiro bimestre: ");//Entrada da terceira nota.
nota3 = entrada.nextFloat();//Faz a leitura da terceira nota.
System.out.print("Entre com a nota do quarto bimestre: ");//Entrada da quarta nota.
nota4 = entrada.nextFloat();//Faz a leitura da quarta nota.
media = (nota1 + nota2 + nota3 + nota4)/4;//Faz o cálculo da média.
if(media >= 6)
{
System.out.print("Voce foi APROVADO. ");
}
else
{
System.out.print("Voce foi REPROVADO. ");
}
System.out.println("Média = "+(double)media);//Mostra o resultado do cálculo.
}//fim do método principal.
• Há situações em que se as condições são
representadas por valores absolutos
• Nesses casos, a linguagem Java provê um comando
de controle de fluxo chamado swich-case
Condicionais
Switch(expressão){
Case valor:
Break;
//outros cases
Default:
}


O switch equivale logicamente a um conjunto de
diretivas if encadeadas, embora seja usualmente
mais eficiente durante a execução.




















// exemploSwitch.java
import java.util.Scanner;
public class NewClass {
// exemploSwitch.java
public static void main (String args[ ]) {
Scanner teclado = new Scanner( System.in );
int mes;
System.out.print("Informe um numero (1, 2 ou 3)");
mes = teclado.nextInt();
switch(mes) {
case 1: System.out.println("Janeiro");
break;
case 2: System.out.println("Fevereiro");
break;
case 3: System.out.println("Marco");
break;
default: System.out.println("Mes invalido.");
}
}
}

O while(enquanto) é o que chamamos de laço
condicional, isto é, um conjunto de instruções
que é repetido enquanto o resultado de uma
expressão lógica (uma condição) é avaliado
como verdadeiro. Abaixo segue a sintaxe desta
diretiva enquanto seu o comportamento é
ilustrado a seguir.


while (expressão_lógica)
diretiva;
• O comando do.. while é utilizado quando se quer
que o corpo do laço seja executado pelo menos
uma vez.
• A expressão de comparação é avaliada depois que
o laço foi executado, e enquanto ela for verdadeira
os comandos do laço serão executados.
• Sintaxe:
do {
<comandos>
} while (<condição>);
• Exemplos:
public static void main(String[] args) {
int i=0;
do {
System.out.println("Contador é " + i);
} while(++i<10)
}
• O comando for cria um laço de repetição no fluxo do
programa baseado em três parâmetros:
•
•
•
expressão inicial: É executado apenas uma vez, na entrada
do laço.
condição: É executado a cada iteração do laço e
determina quando o programa deve sair do mesmo.
incremento: É uma operação normal, executada a cada
iteração. Geralmente é usada para incrementar
contadores ou configurar variáveis.
• Sintaxe:
for (<expr inicial>; <condição>; <incremento>) {
<comandos>
}
• Exemplos:
public static void main(String[] args) {
for (int i=0; i<10; i++) {
System.out.println("Contador é " + i);
}
for (;;) {
System.out.println("Laço infinito.");
}
}



Os parâmetros se usam para mandar valores
à função, com os quais ela trabalhará para
realizar as ações.
São os valores de entrada que recebem uma
função. Por exemplo, uma função que
realizasse uma soma de dois números teria
como parâmetros a esses dois números.
Os dois números são a entrada, assim como a
saída seria o resultado, mais isso será visto
mais tarde.


Um programa de linha de comando pode
receber parâmetros pela própria linha de
comando.
O parâmetro String[]
Um pacote (package) em Java nada mais é do
que um diretório onde residem uma ou
mais classes ou seja, é um conjunto de classes.
Existem muitos objetos prontos que a
linguagem Java nos proporciona.
Como todos os objetos, eles podem conter
dados e tem vários métodos para que possamos
usá-los.
É importante para um programador Java
conhecer o máximo desses objetos que puder;
eles facilitam o trabalho na medida que
evitam que nos tenhamos o trabalho de inventar
algo que já está pronto.
Em Java, quando você quer usar algum de
pacotes do Java, você usa a declaração de
importação para contar para o compilador onde
achar as classe que você vai usar.
A declaração de importação (import) deve
preceder a declaração de todas as classes.
Assim, um import java.util.*; quer dizer: "eu vou
utilizar alguns objetos do pacote java.util".
Um programa pode ter tantos import quanto
necessário.

Em JAVA, concatenação de Strings com outros
tipos de dados são interpretados
automaticamente como concatenação e,
portanto, a conversão de outros tipos para String
não é necessária.
public class concatenacao {
public static void main(String[] args) {
String nome1 = "André ";
String nome2 = "dos ";
String nome3 = "Santos";
String recebe = nome1.concat(nome2 + nome3);
System.out.println(recebe);
}
}
1-O que são variáveis? De exemplos.
2-De exemplos de operadores lógicos.
3-O que são pacotes e para que servem?
4-O que é um parâmetro? Cite um exemplo.

5- D e exemplos de declaração de variáveis.

6-Para que serve a concatenação?

7-Qual o sinal de concatenação em Java?
a)
b)
c)
d)
+
–
*
/

8-Em Java qual o sinal utilizado para designar que o
trecho digitado é um texto?
a)
b)
c)
d)
**
''
“”
--
9-Circule o erro?
public class ExeProva {
public static void main(String[] args) {
String aluna = “Maria”;
int idade = “20”;
JOptionPane.showMessageDialog(null,
"A aluna " + aluna + " tem " + idade + “ anos”);
}
}


10-Em Java qual o comando que exibi uma
mensagem na tela?
a) JOptionPane.showMessageDialog();
b) Echo
c) MessageBox.Show()
d) System.out.println("");

Netbeans

Instalação

Ferramentas

Pagina na Web para fazer o Donwload do
Netbeans

http://netbeans.org
Barra de Menu
Opções de trabalho
Página
de
Entrada
Janela de
compilação



1-Arquivo,novo projeto;
2-Na janela que se abre escolha em categorias
clique em JAVA e depois em APLICAÇÃO JAVA
em PROJETOS e clique em próximo;
3- Na página Nome e localização do assistente,
adote o procedimento a seguir (como mostrado
na figura abaixo):no campo Nome do projeto,
digite HelloWorldApp.
Deixe desmarcada a caixa de verificação Utilizar
pasta dedicada para armazenar bibliotecas.
No campo Criar classe principal,
digite helloworldapp.HelloWorldApp.
Deixe marcada a caixa de verificação Definir
como projeto principal.






4-Clique em Terminar.
O projeto é criado e aberto no IDE. Agora você
deve ver os seguintes componentes:
A janela Projetos, que contém uma visualização
em árvore dos componentes do projeto, incluindo
arquivos de código-fonte, bibliotecas de que seu
código depende, e assim por diante.
A janela Editor de código-fonte com um arquivo
chamado HelloWorldApp é aberta.
A janela Navegador, que você pode utilizar para
navegar rapidamente entre elementos dentro da
classe selecionada.
A janela Tarefas, que lista os erros de compilação
bem como outras tarefas marcadas com palavraschave como XXX e TODO.



Como a caixa de verificação Criar classe principal
foi marcada no assistente de Novo projeto, o IDE
criou uma classe principal de esqueleto. Você pode
adicionar a mensagem "Hello World!" ao código de
esqueleto substituindo a linha:
// TODO lógica de aplicação do código.
Aqui com a linha: System.out.println("Hello
World!"); Salve a alteração escolhendo Arquivo >
Salvar.


Devido ao recurso Compilar ao salvar do IDE, não é
necessário compilar manualmente o projeto para
que seja executado no IDE. Quando um arquivo de
código-fonte Java é salvo, ele é compilado
automaticamente pelo IDE.
O recurso Compilar na gravação pode ser
desativado na janela Propriedades do projeto.
Clique com o botão direito do mouse no projeto e
selecione Propriedades. Na janela Propriedades do
projeto, escolha a guia Compilação. A caixa de
verificação Compilar ao salvar está bem na parte
superior. Note que, na janela Propriedades do
projeto, é possível definir várias configurações para
o projeto: bibliotecas do projeto, empacotamento,
construção, execução, etc.

Para executar o programa:
Escolha Executar > Executar projeto principal (F6).
A figura abaixo mostra o que você deve ver agora.


Parabéns! Seu programa funciona!
Se houver erros de compilação, eles são marcados com
glifos vermelhos nas margens esquerda e direita do
Editor de código-fonte. Os glifos da margem esquerda
indicam os erros das linhas correspondentes. Os glifos
da margem direita mostram todas as áreas do arquivo
que apresentam erros, incluindo os erros das linhas
que não estão visíveis. É possível passar o mouse sobre
a marca do erro para ver a descrição deste erro. É
possível clicar em um glifo da margem direita para ir
para a linha que apresenta o erro.



Depois de escrever e executar o teste do
aplicativo, você pode utilizar o comando
Limpar e construir para construir o aplicativo
para deployment. Quando o comando Limpar
e construir é utilizado, o IDE executa um
script de construção que realiza as tarefas a
seguir:
exclui os arquivos compilados anteriormente
e outras saídas de construção.
Recompila o aplicativo e constrói um arquivo
JAR que contém arquivos compilados.




Para construir seu aplicativo:
Escolha Executar > Limpar e construir projeto
principal (Shift-F11)
É possível ver as saídas de construção abrindo
a janela Arquivos e expandindo o nó
HelloWorldApp.
O arquivo bytecode compilado
HelloWorldApp.class está no subnó
build/classes/helloworldapp. O arquivo JAR
implantável que contém o HelloWorldApp.class
está no nó dist.

Java Básico - 2 - Projetos NetBeans e Classes

Projeto em java

Classes;

Objetos;

Atributos,Métodos e Interfaces;

Parâmetros de Entrada;

Metodos e Atributos;

Array-Vetor.


Classes são Definições genéricas de objetos
(moldes de objetos).
Podem existir portanto vários objetos de uma
única classe.


Objetos são modelados como os objetos do
mundo real, ou seja possuem existência “física”
dentro de um programa,ocupando espaço de
memória e armazenando as informações
pertinentes.
Objetos são instâncias das classes.

O conjunto de propriedades da classe!!!


Métodos são os comportamentos do objeto;
Deve abranger, por definição,”todo” o
comportamento desejado da classe,inclusive
aqueles ainda não implementados,ou que
devem ser implementados por subclasses.


São métodos ou variáveis visíveis ao mundo
exterior ao objeto.
É a parte do objeto que interage com os
outros objetos de um programa.
Saída de Dados pelo Console
• Para mostrar uma informação no console, devemos
utilizar o objeto System.out
•
A função print(String mensagem) mostra o
texto recebido entre os parênteses no console
•
A função println(String mensagem) mostra o
texto recebido entre os parênteses no console,
quebrando linha ao final
Saída de Dados pelo Console
Entrada e Saída de Dados utilizando swing
• A biblioteca swing oferece algumas funções muito
práticas para ler e mostrar dados para o usuário
•
O JOptionPane é uma classe que oferece funções prontas
que não precisam de tratamento de I/O
•
•
showMessageDialog
showInputDialog
Saída de Dados utilizando swing
• A função showMessageDialog possui três
variações, com diferentes configurações de
parâmetros:
Saída de Dados utilizando swing
• A primeira variação recebe entre parênteses o
componente pai (não nos preocuparemos com isso
por enquanto e enviaremos sempre null) e a
mensagem que deverá ser mostrada
Saída de Dados utilizando swing
• Se quisermos incrementar a mensagem, podemos
usar a variação que envia entre os parênteses
também o título da janela e o tipo de mensagem
Saída de Dados utilizando swing
• Outros tipos de mensagem são Informação
(padrão), Questão, Aviso, Erro e Vazio
Entrada de Dados utilizando swing
• A entrada de dados pode ser feita utilizando a
função showInputDialog
Entrada de Dados utilizando swing
• Você pode utilizar uma variação do sowInputDialog()
para definir um valor padrão de entrada
Exercícios
• 1) Faça um programa que solicite ao usuário o
nome e o sobrenome (em janelas distintas) e
mostre em uma única janela o seu nome completo
• 2) Faça um programa que solicite ao usuário cinco
palavras (em janelas distintas) e mostre em uma
única janela todas as palavras
Conversão de tipos inteiros
• Utilizamos o comando “Integer.parseInt(String)”
para converter um texto em um número inteiro
Conversão de tipos reais
• Utilizamos os comandos “Float.parseFloat(String)” ou
“Double.parseDouble(String)” para converter um texto em
um número real
Formatando textos com números decimais
•
•
Utilizando a classe “java.util.Formatter” e suas classes derivadas para formatar textos com
quaisquer tipos de dados:
•
http://download.oracle.com/javase/1,5.0/docs/api/java/util/Formatter.html#syntax
O uso mais comum é para números decimais:
Vetores e Matrizes
Dentro de um bloco, podemos declarar variáveis e
usá-las.
int idade1;
int idade2;
int idade3;
...
int idade9;
int idade10;
 Quando são criadas mais de uma variável, para
armazenar um mesmo tipo de informação
com um mesmo tipo de dados, poderia ser
substituído por um array. O Exemplo acima
poderia ser substituído por:
int [ ] idades;
O int [ ] é um tipo. Um array é sempre um
objeto, portanto, a variável idades é uma
referência. Vamos precisar criar um objeto para
poder usar o array. Como criamos o
objeto-array?
idades = new int[10];
Aqui o que fizemos foi criar uma array de int de 10
posições, e atribuir o endereço o qual
ela foi criada. Agora podemos acessar e atribuir
valores dentro de cada posição do array.
idades[5] = 10;
O código acima altera a sexta posição do array. No
Java, os índices do array vão de 0 a
n-1, onde n é o tamanho dado no momento que
você criou a array. Se você tentar
acessar uma posição fora desse alcance, um erro
ocorrerá durante a execução.
Definição
• Objeto que armazena um número fixo de valores de um
mesmo tipo
• A quantidade de elementos é definida na criação do array
• Os elementos são armazenados em um único bloco
indexado:
Um array é útil quando queremos agrupar
objetos do mesmo tipo. Possui as seguintes
características:
- Todos os elementos devem ser do mesmo tipo
- Cada elemento pode armazenar um único item
- Os itens podem ser primitivos ou referências a
objetos
- O tamanho do array é fixado quando de sua
criação
Arrays podem conter qualquer tipo de elemento
valorado (tipos primitivos ou objetos), mas você não
pode armazenar diferentes tipos em um simples
array.
Ou seja, você pode ter um array de inteiros, ou um
array de Strings, ou um array de array,
mas você não pode ter um array que contenha
ambos os objetos Strings e inteiros.
Declaração e Inicialização
• Pode ser declarado e inicializado ao mesmo
tempo;
• Pode ser inicializado com {};
Exemplo 1
Exemplo 2
• No exemplo ao lado, um array
unidimensional de 5 elementos do
tipo double está sendo declarado e
inicializado.
•
No “for”, uma variável de controle
(por exemplo, o famoso “i”) acessa
os elementos do array, atuando
como um índice
Exemplo 3
public class Exemplo1 {
• Neste exemplo, um
array de Strings
armazena alguns
nomes e um for os
mostra na tela
public static void main(String[]
args) {
String nomes[] = new
String[3];
nomes[0] = "Flabiana";
nomes[1]= "Felipe";
nomes[2] = "Madeira";
for(int i = 0;
i<nomes.length;i++){
System.out.println(nomes[i]);
}
}
}

Declarar um vetor com 10 posições já
inicializadas com valores de 1 a 10 e apresente
em tela este mesmo vetor:
public class Array1 {
public static void main (String args [ ]) {
int[ ] numeros1a10 = {1,2,3,4,5,6,7,8,9,10};
for (int i =0; i < numeros1a10.length; i++) {
System.out.println( " Conteudo do Array " +
numeros1a10 [i]);
}
Um outro exemplo, o que este faz ?
public class Array2 {
public static void main(String args[]) {
int[] idades = new int[10];
for (int i = 0; i < 10; i++) {
idades[i] = i * 10;
}
for (int i = 0; i < 10; i++) {
System.out.println (idades[i]);
}
}
}
class AlgumaClasse{
public static void main(String args[]) {
int[] idades = new int[10]; //
for (int i = 0; i < 10; i++) {
idades[i] = i * 10;
}
// imprimindo toda a array
for (int x : idades) {
System.out.println(x);
}
}
}

Array-Matriz;

Referências a objetos;

Declaração de Métodos;

Declaração de Classe;

Notação UML;

Sobrecarga de Métodos;

A partir do momento que uma array foi criada, ela
não pode mudar de tamanho. Se você precisar de
mais espaço, será necessário criar uma nova array,
e antes de se referenciar para ela, copie os
elementos da array velha.
Dimensões
• O par de colchetes de um array[] define a dimensão do
mesmo;
• A dimensão representa a indexação do array;
• Isso significa que um vetor pode ter mais de uma
dimensão, de forma que sua indexação pode ser
composta. Nesse caso, costumamos chamá-lo de “matriz”;
• Um array de uma dimensão é chamado comumente de
“vetor”.
A partir do conceito de vetor, fica mais claro
entender a matriz. Uma matriz é um conjunto de
variáveis, cada uma com um valor associado, como
se fossem variáveis simples, porém todas possuem o
mesmo nome. A diferença é que a matriz pode ser
considerada um vetor bidimensional, ou seja, possui
duas dimensões.
Da mesma maneira que em um vetor, os índices
são utilizados para referenciar os elementos deste
conjunto.
O conceito de matriz na programação é
equivalente ao da matemática.
Dia int[31]
Mês int[12]
Data [31][12]
Data
Data
Data
Data
Data
[0,0]=
[0,1]=
[0,2]=
[1,0]=
[2,1]=
1,1
1,2
1,3
2,1
(1 de Janeiro);
(1 de Fevereiro);
(1 de Março);
( 2 de Janeiro);
Matriz -Exemplo 1
• Repare no exemplo que temos um
array com dois pares de colchetes
• A quantidade de elementos do
array pode ser definida por D1 x D2
x... Dn
• No exemplo, dois “for” aninhados
“varrem” o array através de duas
variáveis de controle, atuando com
um índice composto de duas
dimensões

Preencha uma matriz de 10 linhas por 15
colunas com números aleatórios de 1000 a
2000. Em seguida exiba todo o seu conteúdo.
package exerMatrizes;
public class Principal {
public static void main(String[] args) {
// Declaração da matriz.
int m [][] = new int [10][15];
// preenchimento da matriz com numeros de 1000 a 2000.(Na verdade só até
1999)
for (int l = 0; l < 10; l++){
for (int c = 0; c < 15; c++){
m[l][c] = (int) (Math.random() * 1000) + 1000;
}
}
}
}
//Exibição dos numeros contidos na matriz
for (int l = 0; l < 10; l++){
for (int c = 0; c < 15; c++){
System.out.print(m[l][c]+" ");
}
}
System.out.println();
A classe Math prove métodos de classe que executam
várias funções matemáticas, como funções
trigonométricas e logaritmos. Essa biblioteca tem
dezenas de operações específicas.
Para utilizá-la não é necessário dar a instrução de
import, pois ela também faz parte do pacote java.lang, o
qual é automaticamente importado em todas as classes
java.
Exemplos:
Math.sqrt(); // retorna a raiz quadrada do numero
passado.
Math.pow (x, b); // retorna a potência de Xb
Math.PI (); // retorna o valor constante do número Pi.
Math.max(a,b); // retorna o maior valor entre a e b
Math.random(); // retorna um numero aleatório que vai
de 0 até 1 (0 incluído, 1 nunca será gerado)

1-Crie um vetor capaz de armazenar 50
números inteiros. Em seguida faça o seu
preenchimento automático com os números
de 101 a 150, ou seja, na posição número 0
ponha 101, na posição 1 ponha o número
102, e assim sucessivamente.
Em seguida exiba os valores deste vetor.
O Java contém 8 tipos de dados primitivos e um
tipo referência. No entanto, poucos livros dedicam
exemplos a este último tipo. Vamos começar
analisando o trecho de código abaixo:
public class Estudos{
public static void main(String args[]){
String nome = "Osmar J. Silva";
System.out.println(nome); System.exit(0); }
}


Se observarmos este código, veremos que a
variável nome não é um tipo primitivo e sim uma
referência.
Desta forma, qualquer variável ou constante que
não seja do tipo primitivo é uma referência a um
objeto de uma classe, interface, etc. Arrays não
são tipos primitivos também. Assim, variáveis ou
constantes que apontam para arrays também são
referências.
É importante entender bem a noção de
referências, visto que é por meio delas que
acessamos um determinado objeto na memória.


Uma lista pode ser passada como argumento a
um método.
Deve-se notar que listas são objetos e, na
linguagem Java, objetos são sempre passados
aos métodos por referência, ao passo que tipos
primitivos são sempre passados por valor. Isto
quer dizer que uma modificação à lista
realizada no método chamado implicará na
mesma modificação à lista definida no
programa que chamou o método em questão.


Em contraste com a estática dos dados,
os métodos definem as ações a serem tomadas em
diversos momentos da execução de um programa.
Como em outras linguagens, como C, C++, Pascal,
Fortran, etc, os métodos correspondem aos
conceitos comuns de funções, procedimentos ou
sub-rotinas.
Estes são apenas conjuntos ordenados de
declarações de dados, comandos e expressões. Em
termos simples, são os métodos que realizam
todas as tarefas para as quais o programa foi
escrito, por exemplo, realizar cálculos, resumir
informações de um arquivo, produzir um relatório,
criar um gráfico, gerar um filme de animação, etc.

A declaração mais simples que podemos fazer
de um método (lembrando que isso deve ser
feito dentro de uma classe) é a seguinte:
void [nome do método] () {
[corpo do método]
}
 Onde o [nome do método] é um identificador
que define o nome pelo qual o método é
conhecido, e [corpo do método] consiste de
uma lista ordenada de declaração de variáveis,
de expressões e de comandos.

A primeira palavra-chave, void, define o valor
retornado pelo método, neste caso, nenhum.
Podemos usar qualquer tipo de dado válido
como valor de retorno de um método. Nesse
caso, ao terminar, o método seria obrigado a
devolver um dado do tipo especificado. Por
exemplo,
class Numero {
double x = 1;
void print() {
System.out.println("O valor e " + x);
}


Define uma classe chamada Numero, a qual
contém uma variável x, inicializada com 1, e
um método sem valor de retorno, print, que
apenas escreve um texto e o valor de x, através
da chamada do método System.out.println.
O par de parênteses adiante do nome do
método introduz uma lista (vazia, neste caso)
de argumentos. A chamada de um método
pode ser acrescida de parâmetros, os quais são
associados aos seus respectivos argumentos



A Unified Modeling Language (UML) é uma
linguagem de modelagem não proprietária de
terceira geração.
A UML não é uma metodologia de
desenvolvimento, o que significa que ela não
diz para você o que fazer primeiro e em seguida
ou como projetar seu sistema, mas ela lhe
auxilia a visualizar seu desenho e a
comunicação entre objetos.
Aonde Baixar: http://jude.change-vision.com/judeweb/index.html
public class Biometrica{
public int altura,peso,idade;
public Biometrica(int altura,int peso,int idade){
this.altura=altura;
this.peso=peso;
this.idade=idade;
}
}

Ex: public class media { //Declaração da classe
Media.


Declaração do Objeto nada mais e do que
declarar as variáveis que apontarão para as
instâncias .Na declaração os objetos ainda
não estão instanciados,mas apenas
nomeados.
Biometrica entrada, saida;


Objetos são estruturas de dados definidas e
agrupas dentro de uma classe. Sempre que
utilizamos um objeto ou classe devemos reservar
espaço em memória para que aquele objeto seja
manipulado sem maiores problemas.
Além do mais, também podemos utilizar a mesma
classe (com todos os seus métodos e atributos)
para manipular outros objetos que serão tratados
de forma diferente (mesmo se tiverem as mesmas
características do objeto anterior), pois serão dois
endereços de memória diferentes.
Sem
contar que, se um objeto não é mais
referenciado dentro do programa, o próprio Java
trata de liberar os recursos de memória
consumidos pelo objeto usando o Garbage
Colletor - Coletor de Lixo.
Quem
faz o papel de instanciador em Java é
o new. New trata de reservar memória o suficiente
para o objeto e criar automaticamente uma
referência a ele. Para new conseguir determinar o
objeto, precisamos usar o método construtor que
será usado como base para instanciar a classe e
gerar o objeto.


Tecnicamente, declaramos uma variável qualquer
como sendo do tipo da classe (ex.: TV minhaTV; ),
depois instanciamos o objeto atribuindo a variável
o resultado obtido por new mais o método
construtor (ex.: minhaTV = new TV(); ).
Apesar de parecer muitos detalhes, isso fica mais
facilmente visualizado no código abaixo.
public class TV {
int tamanho;
int canal;
boolean ligada;
No código acima,
criamos uma classe
chamada TV
Declaramos duas
TV() {
variáveis chamadas
tamanho = 21;
objeto1 e objeto2
canal = 0;
sendo do tipo TV.
ligada = false;
Depois, instanciamos o
}
objeto usando new e o
public static void main(String[] args) { método construtor.
TV objeto1 = new TV();
TV objeto2;
objeto2 = new TV();
}
}
Ex: Class Biometrica
Entrada=new Biometrica ();
Saida=new Biometrica ();
1-O que e um Array? Para que serve?
2-Circule o erro?
public class ExeProva {
public static void main(String[]
args) {
String aluno = João;
String caracteristica = “estuda”;
}
JOptionPane.showMessageDialog(null, "O
aluno " + aluno + " é um aluno que " +
caracteristica);
}
3-Explique a diferença básica entre um vetor
simples e uma matriz.
4-O que é uma conotação UML?
5-Para que serve a Class Math?
6- Crie um vetor capaz de armazenar 50 números
inteiros. Em seguida faça o seu preenchimento
automático com os números de 101 a 150, ou
seja, na posição número 0 ponha 101, na posição
1 ponha o número 102, e assim sucessivamente.
Em seguida exiba os valores deste vetor.

Classe

Objeto e Instância

Encapsulamento

Tratamento de Exceções

Manipulação de Arquivos
Classe
• Abstração: “Uma classe abstrai um
conjunto de objetos com
características similares.”
• Objeto: “Uma classe define as
características e métodos de um
conjunto de objetos.”
• Código-fonte do Objeto: “Uma
classe é um arquivo texto que define
as características e métodos de um
conjunto de objetos.”
Classe Cachorro:
“Cachorro.txt”
Objetos e Instâncias
• Objeto é uma entidade que
pode ser física, conceitual ou
de software. Ou seja, uma
representação genérica.
• Instância é usada com o
sentido de exemplo. É a
concretização da classe. Ou
seja, são os objetos de fato
criados e ocupando espaço
na memória.
1 Objeto
Cachorro
3 objetos
Cachorro
Instâncias da
classe
Cachorro
Totó
Rex
“Epaminôndas”
Encapsulamento
• É o mecanismo que permite separar detalhes de
funcionamento “Características (variáveis) e funções (métodos)” de sua
interface.
• Exemplo: Para utilizarmos um liquidificador, não
precisamos saber detalhes de seu funcionamento. A única
interface que conhecemos são seus botões.
Classe
Liquidicador“Li
quidificador.txt”
Instância de um
objeto de
liquidificador: Muito
mais fácil de usar.
Encapsulamento - Atributos
• São características (variáveis) da classe e podem ser
divididos em dois tipos básicos:
•
Atributos de Instância: “determinam o estado de cada objeto.”
•
Atributos de Classe: “possue um estado que é compartilhados por todos os
objetos de uma classe.”
Encapsulamento - Método
• É uma rotina que é executada
por um objeto ao receber uma
mensagem: “É a descrição da forma como
o objeto realiza uma tarefa.”
• Os métodos determinam o
comportamento dos objetos de
uma classe e são análogos à
funções ou procedimentos da
programação estruturada.
Encapsulamento – Construtor e Destrutor
• Métodos especiais que ocorrem
automaticamente.
• O construtor pode ser
sobrecarregado e é executado
sempre que um objeto é instanciado.
• O Destrutor não pode ser
sobrecarregado porque não aceita
parâmetros e é executado quando o
objeto é excluído.
Tratamento de Exceções
Definição
• Evento que ocorre durante a execução de um
programa, que interrompe o fluxo normal de
instruções
Funcionamento
• Quando uma exceção ocorre em um método, o método cria
um objeto que contém informações para manipular a
exceção
•
•
•
•
Tipo de Exceção
Estado do programa
Mensagem
Exceção Ligada
• Ao disparar uma exceção, o sistema procura na pilha de
chamada de métodos o primeiro método que previu e
capturou essa exceção
Manipulador de Exceções
• Para capturar uma exceção, utilizamos um
manipulador de exceção
• Ao encontrar na pilha de chamadas um método
com um manipulador de exceção, o sistema passa
ao manipulador o objeto criado na exceção
• Se nenhum manipulador de exceção for
encontrado na pilha de chamadas de métodos, a
aplicação é encerrada
A instrução try-catch
• A instrução permite capturar uma exceção e
executar um bloco de instruções caso ela aconteça
Tarefa
• Implemente as alterações abaixo, observando as
implicações durante a execução do programa:
•
•
•
1) Inclua um comando para mostrar o valor de ‘x’ após a
linha 6;
2) Altere a linha 6 para: int x = 10 / 2;
3) Altere o programa para que o divisor seja solicitado ao
usuário. Tente entrar com um número inválido.
Sintaxe do try-catch
Try{
//instruções que podem disparar uma exceção
}catch(Exception e){
//instruções que devem ser executadas
//se ocorrer uma exceção
}finally{
//instruções que devem ser executadas sempre
}
O bloco catch
• Podemos utilizar vários blocos catch para o mesmo
try
O bloco finally
• O bloco finally é utilizado para que tenhamos instruções
que sempre devem ser executadas, ocorrendo exceção ou
não
Checked e Unchecked
• Checked exceptions são exceções que OBRIGATORIAMENTE
precisam ser tratadas
• Uma exceção é CHECKED se o método que a disparou foi
declarado com a cláusula throws
• Unchecked exceptions são exceções que não precisam ser
tratadas obrigatoriamente
•
•
Com isso, o programador pode simplesmente ignorar a manipulação de
uma possível exceção
Obviamente que é desaconselhável
O comando throws
• Quando uma exceção checked é necessária,
podemos utilizar o comando throw para “passar
a bola”, dando a responsabilidade do tratamento
da exceção ao próximo método na pilha
Disparando exceções
• Se quisermos “forçar a barra” e disparar uma exceção
propositalmente no software, podemos utilizar o comando
throws como uma instrução
Exercício
• Altere o programa a seguir para avisar o usuário
que uma das variáveis foi digitada incorretamente,
informando qual foi
Threads
O que é uma Thread
• Uma unidade básica de utilização de CPU
•
Mais “leve” que um processo;
• Procedimento executado dentro de um processo de forma
independente
• Encontra-se dentro de um processo, utilizando seus recursos
•
Um processo pode ter um ou vários threads;
O que é uma Thread
• (a) Três processos, cada um com um thread;
• (b) Um processo com três threads;
Estados de umaThread
•
•
•
•
•
•
Executando
• Está em execução;
Pronto
• A thread está pronta para ser executada;
Suspenso
• A atividade da thread está parada temporariamente;
Continue
• Permite que a thread suspensa volte a executar;
Bloqueado
• A execução da thread está bloqueada à espera de um recurso;
Terminado
• A execução da thread foi encerrada, não podendo ser retomada;
Processos vs Threads
• Os processos estão isolados entre si
• Os threads partilham os recursos entre si
• A criação de threads resulta em menos sobrecarga para o
sistema operacional do que a criação de processos
• A gestão de threads necessita de menos recursos que a
gestão de processos
Exemplo
Manipulação de Arquivos
I/O
• A API Java oferece uma série de classes para
realizar (IN/OUT) Entrada e Saída de arquivos
• Classes para manipular cadeias de dados e
caracteres podem ser encontradas no pacote
java.io
• Classes para manipulação de arquivos podem ser
encontradas no pacote java.nio
I/O Stream
•
Um Stream (cadeia ou corrente) representa a origem da entrada ou o
destino da saída
• Podem representar vários tipos de entradas e a saídas como:
• Arquivos
• Dispositivos
• Outros programas
• Arranjos de memória
• Suporta diferentes tipos de dados
• Bytes
• Tipos primitivos
• Caracteres
• Objetos
Input Stream
• Um programa utiliza um InputStream para ler
dados de uma fonte de origem, um por vez
Output Stream
• Um programa utiliza um OutputStream para gravar
dados em uma fonte de destino, um por vez
ByteFileStreams – Copiando um arquivo
Considerações
•
•
•
•
•
•
Evidente que a pasta e o arquivo original devem existir
A pasta e o arquivo podem ser criados manualmente
Java considera o caracter ‘/’ como sendo o ‘\’ quando utilizados em camihos de
arquivos
Por quê o método read() retorna int e não byte?
• Retornando um int ele permite que utilizemos o -1 para sinalizar que não há
mais bytes para serem lidos e finalizar o loop
Sempre fechar o stream
• Garantir que será executado o método close() do stream, mesmo se acontecer
uma exceção evita vazamento de recursos
O ByteStream deve ser utilizado para ler e gravar arquivos binários, não arquivos
texto
CharacterStream
• A plataforma JAVA utiliza as
convenções Unicode, ASCII
• Todas as classes são descendentes
de Reader e Writer
• No slide a seguir, um exemplo
utilizando as classes FileReader e
FileWriter
FileCharacterStreams
Considerações
• A diferença, além do uso de classes diferentes, fica
por conta do método read()
• Num ByteStrem, o read() retorna um byte de 8 bits
• Num CharacterStream, o read() retorna um
character de 16 bits
I/O linha-a-linha
• É mais fácil manipular linhas inteiras do que carcateres
• Um terminador de linha pode ser:
•
•
•
Carriage-return + Line Feed: “\r\n”
Carriage-return: “\r”
Line Feed: “\n”
• No exemplo à seguir, utilizamos as classes BufferedReader e
PrintWriter para copiar um arquivo texto linha-a-linha e não
character-a-caracter
BufferedReader & PrintWriter
Criando Diretórios (Pastas)
Listando arquivos de um diretório
Excluindo arquivo ou diretório
JFileChooser
• Classe que permite abrir uma caixa de dialogo
onde o usuário pode indicar um diretório ou
arquivo
• Faz parte da biblioteca javax.swing, que é utilizada
para desenvolvimento de aplicativos desktop
JFileChooser
JFileChooser – Selecionando um Diretório
Exercícios
• 1) Faça um programa que grave no HD um arquivo texto
com seu nome completo como conteúdo
• 2) Faça um programa que crie no HD 10 arquivos (01.txt,
02.txt, 03.txt.,.., 10.txt)contendo cada um deles a tabuada
correspondente ao seu nome
• 3) Faça um programa que solicite ao usuário um arquivo e
uma pasta destino. O programa deve fazer uma cópia do
arquivo selecionado pelo usuário na pasta destino

Polimorfismo

Herança

API Java

Construtores

Destrutores

Garbage Colector

Ocorre quando uma classe passa a herdar
características (atributos e métodos)
definidas em outra classe, especificada como
ancestral ou superclasse. A classe receptora
de recursos é denominada subclasse.
Animal
Ave
Mamífero
Cão
Gato
Pássaro
Em Java: Class gato extends mamífero
Class mamífero extends animal
class Produto //ancestral ou superclasse
{
//variáveis de instância
int codigo;
String nome;
int quantidade;
double preco;
public void mostraPreco ()
{
System.out.println(preco);
}
public void atualizaPreco(double porc)
}
{
preco = preco + preco * porc / 100;
}
class Usaproduto extends Produto
{
public static void main (String args[])
{
Produto A;
//instanciando as variáveis
A = new Produto();
A.codigo = 10;
A.nome = "Sabonete";
A.quantidade = 5;
A.preco = 0.54;
System.out.print(A.codigo + " " + A.nome + " ");
System.out.println(A.quantidade + " " + A.preco + " ");
A.mostraPreco();
A.atualizaPreco(12);
}
}
A.mostraPreco();
Polimorfismo, significa 'muitas formas‘


Ex: Seu irmao gêmeo é = a vc? não parece ser =
mais tem assinaturas diferentes!!
(caracteristicas).
O conceito de Hernaça e Polimorfismo andam
juntos. Vou te dar um exemplo, e vai ficar mais
fácil sua compreensão:




Imagine uma classe que tenha uma Conta Bancária
Simples, chamada ContaSimples e que tenha os
métodos depositar(), donodaconta(), versaldo(),
retirar().
Agora vamos usar uma herança, e uma classe
poupança vai herdar todos os métodos da classe
Conta Simples acima, e vamos ainda adicionar um
método Juros() na classe Poupança.
Acabamos de usar herança.
Agora vc pode usar o polifmorfismo, ou seja, vc vai
poder usar o depositar(), tanto para a Classe
Simples, quanto a para Poupança, resumindo, vc
usou de 2 formas diferentes o mesmo método.

Polimorfismo é um recurso usado através da
herança, é a capacidade que um método tem
de responder de várias formas. Três classes,
Animal, Cachorro, Cobra, analisando
podemos perceber que Cachorro e Cobra são
animais, más com características diferentes
ex: locomover O cachorro anda com suas
quatro patas e a cobra se rastejando.
package Anim;
public abstract class Animal {
public abstract String andar();
}
package Anim;
public class Cachorro extends Animal {
public String andar(){
return ("Cachorro: se locomove com quatro
patas");
}
}
package Anim;
public class Cobra extends Animal {
public String andar(){
return ("Cobra: se locomove rastejando");
}
}


Um Outro exemplo:
Um dono de uma fábrica de brinquedos
solicitou que seus engenheiros criassem um
mesmo controle remoto para todos os
brinquedos de sua fábrica. A única restrição
era que cada brinquedo atendesse aos
comandos específicos definidos pelo controle
O controle remoto teria vários botões, sendo
que todos eles seriam úteis para todos os
brinquedos. Assim, quando o usuário clicasse
no botão mover,o controle enviaria o sinal
MOVER para todos os brinquedos que
estivessem no raio de dois metros.
A Figura 2 ilustra tal situação.


Assim quando o brinquedo recebe o sinal
MOVER, ele se move de acordo com a sua
função. Para o avião, mover significa VOAR,
para o barco significa NAVEGAR, e para o
automóvel CORRER. Observe que os
brinquedos respondem ao mesmo sinal de
formas diferentes. Temos aqui então um caso
de polimorfismo.
O Polimorfismo permite que diferentes
objetos (avião, barco, automóvel) respondam
uma mesma mensagem (mover) de formas
diferentes (voar, navegar e correr).

São documentações da Linguagem;
Site para baixar:
http://docs.oracle.com/javase/6/docs/


Construtores: Todo objeto tem seu tempo de
vida que engloba desde o momento que ele é
declarado até a sua "eliminação". No instante
que o objeto é declarado, é alocado um espaço
na memória pra ele. A partir desse momento, o
objeto está pronto pra ser usado.
Em Java, é necessário um mecanismo que
"construa" objetos a partir de uma classe, o
construtor.Os construtores servem pra criar
objetos de uma classe. Para usar o construtor
deve-se usa a palavra new.
Construtores são métodos que possuem o
mesmo nome da classe.
A.
B.
C.
O construtor inicializa o objeto.
Construtores chamados pelo sistema no
momento da criação de um objeto.
Eles não possuem valor de retorno, porque
você não pode chamar um construtor para
um objeto, você só usa o construtor no
momento da inicialização do objeto.
public class Pessoa
{
private String nome;
// Construtor
public Pessoa(String novoNome)
{
this.setNome(novoNome); // Assim é mais correto
}
public void setNome(String nome)
{
this.nome = nome;
}
public String getNome()
{
return nome;
}
}
Class teste{
String nome, telefone;
int idade;
void aniversario(){
idade = idade+1;
}
}
Para criar construtores e criar objetos
pertencentes à classe teste, faz o seguinte:
Exemplo de construtor sem parâmetros:
teste(){
}
Exemplo de construtor com parâmetros:
teste(String nome1, int idade1, String telefone1){
nome = nome1;
idade = idade1;
telefone = telefone1;
}
Na classe principal para criar objetos da classe
teste:
teste amigo1 = new teste();
teste amigo2 = new teste("João");
teste amigo3 = new teste("João",32,"33223311");
class curso{
String nome;
int creditos;
public curso(String nomeCurso,int qntCreditos){
nome = nomeCurso;
creditos = qntCreditos;
}
}
public class principal{
public static void main(String args[]){
curso c1 = new curso("Informática Básica",30);
curso c2 = new curso("Estrutura de Dados",45);
System.out.println(c1.nome);
System.out.println(c2.nome);
System.out.println(c2.creditos);


Destrutores: Algumas Linguagens de
programação precisam "eliminar"o objeto
criado.
Java usa o Garbage Colector(coletor de lixo),
que elimina os objetos não utilizados na
memória.
Quando o objeto é eliminado, ele
automaticamente executa seu destrutor.
Encapsulamento – Construtor e Destrutor
• Métodos especiais que ocorrem
automaticamente.
• O construtor pode ser
sobrecarregado e é executado
sempre que um objeto é instanciado.
• O Destrutor não pode ser
sobrecarregado porque não aceita
parâmetros e é executado quando o
objeto é excluído.
1-Explique encapsulamento e dê um exemplo;
2-O que é polimorfismo?Dê um exemplo.
3-Explique construtores e de um exemplo.
4- Explique destrutor.
5-Explique herança e de exemplos.
Swing
Formulários, controles e gerenciamento
29
5

http://docs.oracle.com/javase/tutorial/uiswi
ng/
29
6


São controles
gráficos
independentes
e que podem
ser invocados
diretamente
pelo sistema
operacional
O JFrame é um
contêiner
caracterizado
por ser um
formulário
completo
29
7

Em geral, os formulários possuem um
contênier raiz onde são organizados
visualmente todos os outros controles visuais
29
8

O programa abaixo declara e instancia um objeto
do tipo JFrame, define alguns atributos por meio
de seus métodos e invoca o método que o torna
visível
29
9

No programa abaixo, estamos criando duas instâncias
30
0

Ao instanciar um objeto, podemos escolher qual
construtor queremos utilizar na inicialização
30
1

A herança nos permite criar uma classe
estendendo todas as funcionalidades de outra
classe já existente
30
2

Uma vez que estamos criando uma classe,
podemos escrever nosso próprio construtor
30
3

Nossa classe estendida pode também ter atributos
específicos, como um rótulo.
prof. Ricardo Pupo Larguesa
30
4
30
5
30
6
30
7

...que pode ser acessada no menu
“Janela”/”Paleta”
30
8

...que pode ser acessada no menu
“Janela”/”Propriedades”
30
9



Arraste dois campos de texto, dois rótulos e um button para
o formulário
Altere as propriedades dos controles acionando a janela de
propriedades pelo menu “Janela” ou acionando o menu de
contexto do próprio controle
Altere o posicionamento dos controles e as propriedades
conforme imagem abaixo
31
0

Vamos criar um evento para ler os valores
dos campos texto e mostrar em um
JOptionPane
31
1

Altere o código do formulário anterior para
tratar a exceção de número inválido,
informando o usuário caso haja algum
problema
31
2

Crie três formulários semelhantes, um para
calcular subtração, outro para divisão e outro
para multiplicação
31
3


Para garantir que um aplicativo Java rode com o leiaute
correto em qualquer plataforma, foram criadas algumas
classes para permitir gerenciar posicionamento e dimensões
dos controles de forma proporcional e relativa
São os LayoutManagers
◦ GroupLayout

Gerencia agrupamentos verticais e horizontais de controles. É o padrão do NetBeans
◦ BorderLayout
 Gerencia cinco áreas (top, bottom, left, right, and center) com posição pré-definida e
ancorada
◦ BoxLayout
 Organiza os componentes em uma única linha ou coluna
◦ CardLayout
 Permite sobrepor componentes no container e definir qual irá aparecer para o usuário
em tempo de execução
◦ FlowLayout
 Organiza os componentes em uma única linha, dividindo-os em colunas diferentes
caso exceda o tamanho
◦ GridBagLayout
 Permite gerenciar os componentes em um grid com muita flexibilidade, permitindo
que os componentes compatilhes mais de uma célula
◦ GridLayout
 Permite gerenciar os componentes em um grid simples
31
4
31
5


É o gerenciador padrão do NetBeans
A IDE nos fornece régua, alinhadores e
ancoradores automáticos o trato visual dos
componentes
31
6

Nos permite gerenciar os atributos de posicionamento
em uma janela no estilo de uma grade
prof. Ricardo Pupo Larguesa
31
7

Define cinco áreas para posicionamento de
painéis com funções específicas
prof. Ricardo Pupo Larguesa
31
8


Crie um formulário para experimentar cada
um dos gerenciadores de leiaute
Faça uma tabela comparativa de cada um dos
gerenciadores de leiaute disponíveis no
NetBeans IDE
31
9

Crie um projeto e adicione formulários com o
seguinte aparência.
Calculadora simples
Bloco de Notas
Formulário de envio de Email
Formulário de Autenticação (Login), com lembrete
de senha
◦ Gerenciador de Arquivos (Windows Explorer)
◦ Navegador de Internet com Controle de Abas
◦
◦
◦
◦
32
0


Neste Link há alguns projetos em Java para
treinar e obter mais conhecimento,agradeço a
você por escolher o curso,Obrigada.
https://sites.google.com/site/aulasbuzzero/
Download