JAVA Professora Flabiana Felipe. Apresentação do Curso. Mercado de Trabalho. Java no Mercado de...

Post on 18-Apr-2015

112 views 0 download

Transcript of JAVA Professora Flabiana Felipe. Apresentação do Curso. Mercado de Trabalho. Java no Mercado de...

Desenvolvimento de SistemaJAVA

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?

Aula 01

Introdução á Linguagem Java,seus principais conceitos,estruturas,aplicações utilizando o programa NetBeans;

Capacitação para o Mercado;

O Curso

O Mercado de trabalho x Capacitação;

Mercado de trabalho x Postura;

Mercado de Trabalho

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

Introdução

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.

Introdução

As pastas são locais no computador aonde colocamos nossos trabalhos,textos,músicas,fotos a serem guardadas no computador.Ex;

Pastas

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:

Diretórios

Diretórios-Exemplo

Java no Mercado de Trabalho

Java no Mercado de Trabalho

Java no Mercado de Trabalho

Faixa Salarial:2.000,00 até 6.000,00.

Níveis de Conhecimento e experiências: Junior, Pleno e Sênior.

Java no Mercado de Trabalho

Linguagem de Programação

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.

O que é Linguagem de Programação?

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

Exemplo:

Exemplo

def somar(num1, num2):return num1 + num2

Somar (5,6):Resultado 11

– 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

Calculo da Média

– 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

Troca de Pneu

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 Média

Algoritmo soma; Declare X:Inteiro; Y:Inteiro; SOMA:Inteiro; Inicio Leia X; Leia y; Y := X + Y; Escreva Y; Fim

Algoritmo Soma

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 Preço Total

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

Algoritmo Ordenação

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++,

O que é Java?

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.

Características da Linguagem

Jogos para Celulares;

Web;

Cartões;

Smartphones;

Onde o Java pode ser utilizado.

Java

C ++

VB.NET

Cobol

Delphi

Exemplos de Linguagem de Programação

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.,

Java-Uma Linguagem Orientada a Objetos

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.

E como funciona?

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”.

Questões

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.

Questões

Java Virtual Machine;

Compiladores e Interpretadores;

Vantagens e Desvantagem do Interpretador;

Java e suas Edições.

Aula 2

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.

Java Virtual Machine

Java Virtual Machine como ela funciona.

O computador tem sua própria linguagem que e o código binário.

Binário por que ele trabalha com 0 e 1.

Linguagem da Máquina;Código Binário

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.

Compiladores e Interpretadores

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.

Compiladores

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

Compiladores

Compiladores

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.

Vantagens do Compilador

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.

Desvantagens do Compilador

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.

Interpretadores

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.

Vantagens do Interpretador

Queda de Desempenho;

Duas ferramentas;Compilador e Interpretador;

Código Nativo-Plataforma Específica;

Execução é mais lenta do programa.

Desvantagens do Interpretador

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.

Java e suas Edições

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.

Questões

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”?

Questões

Prompt do Dos;

Ambiente de Desenvolvimento;

Configurando Variáveis;

Java developement Kit;

Eclipse;

Criando Projetos;

Executando Programa.

Aula 3

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.

Ambiente de Desenvolvimento

Compilador -javac MinhaClasse.java

O que é? Interpretador-java MinhaClasse O que é?

Visualizador-appletviewer meuapplet.html O que é? Debugger-jdb

Java developement Kit

Site para Baixar Gratuitamente o Kit:

http://www.baixaki.com.br/site/dwnld46857.htm

Java developement Kit

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 jdk-6u17-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.

Java developement Kit

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.

Prompt do Dos

Prompt do Dos

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”.

Prompt do Dos

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

Prompt do Dos

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;%JAVA_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

Prompt do Dos

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.

Prompt do Dos

No prompt do MS-DOS vamos testar o interpretador, digite java -version, deverá aparecer algo parecido com isto:

Prompt do Dos

Agora você vai testar o compilador, digite javac -version, deverá aparecer algo parecido com isto:

Prompt do Dos

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

Eclipse

Eclipse

Instalação

Faça o Download no site http://java.sun.com

Eclipse

Execução

1-Para rodar o Eclipse basta apenas executar o arquivo C:\pasta\eclipse-SDK-3.1.1-win32\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.....

Eclipse

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.

Criando Projetos

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)

Perspectivas

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.

O que é uma Classe?

O que é uma Classe?

O que é uma Classe? Exemplos

O que é uma Classe? Exemplos

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

Acrescentando uma Classe

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”)

Acrescentando uma Classe

//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

Outros Exemplos

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

Executando ou Rodando o Programa

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?

Questões

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.

Questões

Depurando o programa;

Estrutura de Programa em Java;

Tipos e Classes básicos.

Aula 4

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.

Depurando o programa

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())

Estrutura de Programa em Java- Requisitos Básicos.

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

Requisitos Básicos-Exemplos

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).

Entendendo o Método Main

mainTodo programa Java deverá conter métodos. Um programa executável é aquele que contém omé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 Stringsque é 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

Entendendo o Método Main

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” delimitamum bloco de código.

Entendendo o Método Main

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.

Entendendo o Método Main

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

Bits

Programa Conta { int numero; char *nome; char *sobrenome;float balanco; };

Tipos de Dados

Inteiro:Apenas números inteiros, positivos ou negativos(O mais comum).

◦ Byte 8 bits◦ Short 16 bits◦ Int 32 bits◦ Long 64 bits

Tipos

Ponto-flutuante; Números inteiros e fracionários, positivos ou negativos.

Float 32 bitsDouble 64 bits

Tipos

Caracter: Representação de caracteres individuais

Char 16 bits.

Boleano:Tipo que só tem 2 estados: verdadeiro ou falso.

Boolean true ou false.

Tipos

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

Faixa de valores dos tipos primitivos

Classes Especiais

String-São tipos de dados não numéricos.também chamados de string.

System-Realiza parte d....Ex:

Classes Básicas

Exemplos

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?

Questões

Variáveis;

Operadores e expressões;

Comandos Básicos;

Parâmetros de Entrada;

Pacotes.

Aula 5

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.

Variáveis

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çosna memória de um computador onde seguardam dados.

A declaração de uma variável consiste em dar um nome para a variável; especificar qual

tipo de dado será guardado.

Variáveis

Podemos também declarar e ao mesmotempo atribuir um valor a uma variável.

Exemplo:

int Idade=29;

Declarando uma variável

Inteiro: ex: 1, 2, 67, 999).

String: ex: isso é legal, palavra.

Caracter: ex: A, B, 7, J.

Tipos de variáveis Variáveis

Exemplo prático usando 3 variáveis

1 - Declaração de variáveis2 - a: inteiro3 - b: inteiro4 - c: real5 - Início do programa6 - a <- 137 - b <- 28 - c <- a / b9 - mostra ( c )10 - Fim do programa

Variáveis

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

Variáveis

- 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

Variáveis

Operadores aritméticos

◦ Básicos +,-,*,/ e %(resto da divisão inteira)

Operadores Conjugados com atribuição de valores

a+=b <=> a=a+ba-b<=> a=a-b

Operadores

public class Aritmetica {static public void main (String args[]) {// Declaracao e inicializacao de duas variaveisint a = 5;int b = 2;// Varios exemplos de operacoes sobre variaveisSystem.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);}}

Operadores Aritméticos Básico Exemplo

== igual != diferente < menor > maior <= menor ou igual >= maior ou igual

Operadores de Comparação

// 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)); } }

Operadores de Comparação Exemplo

& ou && <=> and | ou || <=> or ! <=> not

Operadores Lógicos

Comentários:

◦Comentários de uma linha

//linha comentada/* linhas comentadas*/

Comandos Básicos

• 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.

Comandos Básicos-While

while (<condição>) { <comandos>}

Comando While-Sintaxe:

class Main{public static void main(String[] args) {

int i = 0;while(i<10) {

System.out.println("Contador é " + i); i = i + 1;

}}

}

Exemplos – While 1

Operadores de Incremento e decremento

x = 10++x => neste exato momento a variável a vale 11

x =10x++ => neste exato momento a variável x vale 10 e em seguida valerá 11

Pré-incremento x = 10; x = x + 1; O valor da variável x é

11 x = 10; ++x; O valor da variável x é

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.

public class incremento { public static void main(String[] args) { int cont = 1; while(cont<=100){ System.out.println(cont); cont++; } }}

Exemplos – While 2

public class Exemplo { public static void main(String[] args) { int cont =15;while (cont>=10){System.out.println(cont);cont--; }

}}

Exemplos – While 3

• 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.

Comandos Básicos- IF-Else

• Sintaxe:

If ( [condição] ) [comando 1] // se trueelse [comando 2] // se false

Comandos Básicos- IF

public class Loop{ public static void main(String[] args) { int i = 0; while(true){ if(i == 6) break;

System.out.println(i); i++; } }}

Comandos Básicos- IF(Exemplo) 2

//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.

Comandos Básicos- IF(Exemplo) 3

• 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

Comandos Básicos-Swich-case

CondicionaisSwitch(expressão){Case valor:Break;//outros casesDefault:}

O switch equivale logicamente a um conjunto de diretivas if encadeadas, embora seja usualmente mais eficiente durante a execução.

Comandos Básicos

// 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."); } } }

Comandos Básicos –Switch Exemplo

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;

Comandos Básicos- Laços-While

• 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.

Comandos Básicos - do.. while

• Sintaxe:

do { <comandos>} while (<condição>);

Comandos Básicos - do.. while

• Exemplos:

public static void main(String[] args) { int i=0; do { System.out.println("Contador é " + i); } while(++i<10)}

Comandos Básicos - do.. while

• 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.

Comandos Básicos- For

• Sintaxe:

for (<expr inicial>; <condição>; <incremento>) { <comandos>}

Comandos Básicos- For

• 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."); } }

Comandos Básicos- For -Exemplo

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.

Parâmetros

Um programa de linha de comando pode receber parâmetros pela própria linha de comando.

O parâmetro String[]

Parâmetros de entrada

Um pacote (package) em Java nada mais é do que um diretório onde residem uma oumais classes ou seja, é um conjunto de classes. Existem muitos objetos prontos que alinguagem 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 Javaconhecer o máximo desses objetos que puder; eles facilitam o trabalho na medida queevitam que nos tenhamos o trabalho de inventar algo que já está pronto.

Pacotes

Em Java, quando você quer usar algum de pacotes do Java, você usa a declaração deimportaçã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.

Pacotes

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.

Concatenação de Dados

Concatenação de Dados

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);

} }

Concatenação

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.

Questões 1

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) /

Questões 2

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”); }}

Questões 3

10-Em Java qual o comando que exibi uma mensagem na tela?

a) JOptionPane.showMessageDialog();

b) Echo

c) MessageBox.Show()

d) System.out.println("");

Questões 4

Netbeans

Instalação

Ferramentas

Aula 5

Netbeans

Opções de trabalho

Barra de Menu

Páginade

Entrada

Janela decompilaçã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.

Criando um projeto

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 palavras-chave como XXX e TODO.

Criando um projeto

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.

Adicionando código ao arquivo de origem gerado.

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.

Compilando e executando o programa

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.

Compilando e executando o programa

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.

Construindo e implantando o aplicativo

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.

Construindo e implantando o aplicativo

Java Básico - 2 - Projetos NetBeans e Classes

Projeto em java

Configuração do projeto

Classes;

Objetos;

Atributos,Métodos e Interfaces;

Parâmetros de Entrada;

Metodos e Atributos;

Array-Vetor.

Aula 6

Classes são Definições genéricas de objetos (moldes de objetos).

Podem existir portanto vários objetos de uma única classe.

Classes

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.

Objetos

O conjunto de propriedades da classe!!!

Atributos

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.

Métodos

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.

Parâmetros de entrada

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

ARRAY

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çãocom um mesmo tipo de dados, poderia ser

substituído por um array. O Exemplo acimapoderia ser substituído por:

int [ ] idades;

Definição

O int [ ] é um tipo. Um array é sempre um objeto, portanto, a variável idades é umareferência. Vamos precisar criar um objeto para poder usar o array. Como criamos oobjeto-array?

idades = new int[10];

Definição

Aqui o que fizemos foi criar uma array de int de 10 posições, e atribuir o endereço o qualela 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 an-1, onde n é o tamanho dado no momento que você criou a array. Se você tentaracessar uma posição fora desse alcance, um erro ocorrerá durante a execução.

Definiçã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 seguintescaracterí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

Características de um array

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.

Características de um array

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

• Neste exemplo, um array de Strings armazena alguns nomes e um for os mostra na tela

public class Exemplo1 { 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:

Exemplo 4

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]);

}}

}

Exemplo 5

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 arrayfor (int x : idades) {System.out.println(x);

}}

}

Exemplo 7

Array-Matriz;

Referências a objetos;

Declaração de Métodos;

Declaração de Classe;

Notação UML;

Sobrecarga de Métodos;

Aula 7

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.

Arrays não podem mudar de tamanho

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. 

Matriz

Dia int[31]Mês int[12]

Data [31][12]

Data [0,0]= 1,1 (1 de Janeiro);Data [0,1]= 1,2 (1 de Fevereiro);Data [0,2]= 1,3 (1 de Março);Data [1,0]= 2,1 ( 2 de Janeiro);Data [2,1]=

Matriz-Exemplo

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.

Matriz -Exemplo 2

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(); } }}

Matriz -Exemplo 2- Resolução

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 XbMath.PI (); // retorna o valor constante do número Pi.Math.max(a,b); // retorna o maior valor entre a e bMath.random(); // retorna um numero aleatório que vai de 0 até 1 (0 incluído, 1 nunca será gerado)

Class Math

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.

Exercícios

Resolução-aqui parei

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); } }

Referências a objetos

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.

Referências a objetos

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.

Referências a objetos

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.

Métodos

Métodos

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.

Declaração de Métodos

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);

Declaração de Métodos

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

Declaração de Métodos

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/jude-web/index.html

Notação UML

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;

}}

Declaração da Classe

Ex: public class media { //Declaração da classe Media.

Declaração da Classe

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;

Declaração do objeto

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.

Instanciação do Objeto

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.

Instanciação do 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.

Instanciação do Objeto

public class TV {int tamanho;int canal;boolean ligada;

TV() {tamanho = 21;canal = 0;ligada = false; } public static void main(String[] args) {TV objeto1 = new TV();TV objeto2;objeto2 = new TV(); }}

Exemplo 1No código acima, criamos uma classe chamada TV

Declaramos duas variáveis chamadas objeto1 e objeto2 sendo do tipo TV. Depois, instanciamos o objeto usando new e o método construtor.

Ex: Class Biometrica

Entrada=new Biometrica ();Saida=new Biometrica ();

Exemplo 2

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);

}}

Questões

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.

Questões

Classe

Objeto e Instância

Encapsulamento

Tratamento de Exceções

Manipulação de Arquivos

Aula 8

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.”

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.

Totó

Rex“Epaminôndas”

Instâncias da classe

Cachorro

1 Objeto Cachorro

3 objetos Cachorro

Classe Cachorro:“Cachorro.txt”

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“Liquidificador.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

Aula 9

Polimorfismo

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.

Herança

Animal

Mamífero

Gato

Ave

Pássaro

Herança

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; } }

Herança

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(); }  }

Herança

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:

Polimorfismo

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

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.

Polimorfismo

package Anim;

public abstract class Animal {

public abstract String andar();}

Polimorfismo

package Anim;

public class Cachorro extends Animal {

public String andar(){

return ("Cachorro: se locomove com quatro patas");}

}

Polimorfismo

package Anim;

public class Cobra extends Animal {

public String andar(){

return ("Cobra: se locomove rastejando");

}}

Polimorfismo

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

Polimorfismo

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).

Polimorfismo

São documentações da Linguagem; Site para baixar:

http://docs.oracle.com/javase/6/docs/

API Java

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. 

Construtores

A. O construtor inicializa o objeto.

B. Construtores chamados pelo sistema no momento da criação de um objeto.

C. 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.

Construtores

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;

}

}

Construtores Exemplo 1

Class teste{ String nome, telefone; int idade; void aniversario(){ idade = idade+1; 

} }

Construtores Exemplo 2

Para criar construtores e criar objetos pertencentes à classe teste, faz o seguinte: Exemplo de construtor sem parâmetros:

teste(){ }

Construtores Exemplo 2

Exemplo de construtor com parâmetros:

teste(String nome1, int idade1, String telefone1){

 nome = nome1; idade = idade1; telefone = telefone1; }

Construtores Exemplo 2

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,"3322-

3311");

Construtores Exemplo 2

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);

 

}

 

}

Vejamos um exemplo completo:

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.

Destrutores

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.

Questões

295

Programação Orientada a Objetos

Swing

Formulários, controles e gerenciamento

296

http://docs.oracle.com/javase/tutorial/uiswing/

Java Tutorials - GUI With JFC/Swing

297

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

Contêineres do tipo raiz (top-level containers)

298

Em geral, os formulários possuem um contênier raiz onde são organizados visualmente todos os outros controles visuais

Painel Raiz (RootPane)

299

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

Objetos e Instâncias

300

No programa abaixo, estamos criando duas instâncias

Objetos e Instâncias

301

Ao instanciar um objeto, podemos escolher qual construtor queremos utilizar na inicialização

Construtores

302

A herança nos permite criar uma classe estendendo todas as funcionalidades de outra classe já existente

Herança

303

Uma vez que estamos criando uma classe, podemos escrever nosso próprio construtor

Sobrescrevendo o construtor

prof. Ricardo Pupo Larguesa 304

Nossa classe estendida pode também ter atributos específicos, como um rótulo.

Atributos

305

Criando um JFrame no NeBeans

306

Utilizando a área de desenho (projeto)

307

...mas interagindo com a codificação

308

...que pode ser acessada no menu “Janela”/”Paleta”

Utilizando a Paleta de Componentes

309

...que pode ser acessada no menu “Janela”/”Propriedades”

Utilizando a janela de propriedades

310

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

Controles

311

Vamos criar um evento para ler os valores dos campos texto e mostrar em um JOptionPane

Eventos

312

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

Tarefa I

313

Crie três formulários semelhantes, um para calcular subtração, outro para divisão e outro para multiplicação

Tarefa II

314

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

Gerenciadores

315

Alterando o gerenciador

316

É o gerenciador padrão do NetBeans A IDE nos fornece régua, alinhadores e

ancoradores automáticos o trato visual dos componentes

GroupLayout

prof. Ricardo Pupo Larguesa 317

Nos permite gerenciar os atributos de posicionamento em uma janela no estilo de uma grade

Leiaute de Conjunto de Grades (GridBagLayout)

prof. Ricardo Pupo Larguesa 318

Define cinco áreas para posicionamento de painéis com funções específicas

BorderLeyout

319

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

Tarefa

320

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

Exercícios

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/

Projetos Prontos