2 - Java

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 52

JAVA Básico

Sobre o curso
Este curso tem como objetivo preparar o aluno que deseja entrar no
ramo da programação, preparando para que você conheça as
ferramentas básicas deste programa, que hoje é muito solicitada pelo
mercado de trabalho. Sendo assim uma linguagem de programação
orientada a objetos.

O que aprender com este curso?


Você aprenderá a utilizar um aplicativo chamado Netbeans, que
será a nossa plataforma de desenvolvimento. Noções fundamentais
para qualquer linguagem como: Estruturas de controle e tomada de
decisão serão conhecidas e ainda, conceitos fundamentais de  Quantidade de Aulas
16 aulas
orientação a objetos, herança, encapsulamento e interface, sendo
outros assuntos do curso, importantes para o nosso aprendizado.
 Carga horária
24 horas

Cronograma
 Programas Utilizados
Netbeans

AULA 01 Introdução ao Java


AULA 02 Interface, componentes e variáveis.
AULA 03 Operadores matemáticos, relacionais e controle de fluxo
AULA 04 Estrutura de repetição FOR e WHILE
AULA 05 Manipulação de Strings
AULA 06 Variáveis compostas
AULA 07 Orientação a objetos: Introdução.
AULA 08 Sem Orientação a objetos
AULA 09 Orientação a objetos: Classes
AULA 10 Orientação a objetos: Métodos
AULA 11 Orientação a objetos: Métodos II
AULA 12 Encapsulamento
AULA 13 OOP: Vetor, Laço e Lista
AULA 14 Herança
AULA 15 Sobreposição e Interface Gráfica I
AULA 16 Interface Gráfica II

1 de 52
Sumário

1. INTRODUÇÃO AO JAVA 7.2. Exercicios de Fixação


1.1. O que é o Java? 8. SEM ORIENTAÇÃO A OBJETOS
1.2. Tecnologia Java 8.1. Exercicios Passo a Passo
1.3. Plataforma Java 8.2. Exercicios de Fixação
1.4. Java Virtual Machine 9. ORIENTAÇÃO A OBJETOS: CLASSES
1.5. Principais IDEs 9.1. Exercicios Passo a Passo
1.6. Exercicios Passo a Passo 9.2. Exercicios de Fixação
1.7. Exercicios de Fixação 10. ORIENTAÇÃO A OBJETOS: MÉTODOS
2. INTERFACE, COMPONENTES E VARIÁVEIS. 10.1. Métodos:
2.1. O que é o Netbeans? 10.2. Exercicios Passo a Passo
2.2. Programação 10.3. Exercicios de Fixação
2.3. Exercicios Passo a Passo 11. ORIENTAÇÃO A OBJETOS: MÉTODOS II
2.4. Exercicios de Fixação 11.1. Variáveis constantes
3. OPERADORES MATEMÁTICOS, RELACIONAIS 11.2. Exercicios Passo a Passo
E CONTROLE DE FLUXO 11.3. Exercicios de Fixação
3.1. Operadores matemáticos 12. ENCAPSULAMENTO
3.2. Operadores de igualdade 12.1. Private
3.3. Operadores relacionais 12.2. Exercicios Passo a Passo
3.4. Controle de fluxo 12.3. Exercicios de Fixação
3.5. Exercicios Passo a Passo 13. OOP: VETOR, LAÇO E LISTA
3.6. Exercicios de Fixação 13.1. Vetor
4. ESTRUTURA DE REPETIÇÃO FOR E WHILE 13.2. Laço For each.
4.1. Estrutura de repetição: FOR() 13.3. ArrayList
4.2. Estrutura de repetição: WHILE() 13.4. Exercicios Passo a Passo
4.3. Exercicios Passo a Passo 13.5. Exercicios de Fixação
4.4. Exercicios de Fixação 14. HERANÇA
5. MANIPULAÇÃO DE STRINGS 14.1. Exercicios Passo a Passo
5.1. Classe Scanner 14.2. Exercicios de Fixação
5.2. Exercicios Passo a Passo 15. SOBREPOSIÇÃO E INTERFACE GRÁFICA I
5.3. Exercicios de Fixação 15.1. Override
6. VARIÁVEIS COMPOSTAS 15.2. Interface gráfica
6.1. Como criar um vetor: 15.3. Exercicios Passo a Passo
6.2. Procedimentos e funções 15.4. Exercicios de Fixação
6.3. Exercicios Passo a Passo 16. INTERFACE GRÁFICA II
6.4. Exercicios de Fixação 16.1. Exercicios Passo a Passo
7. ORIENTAÇÃO A OBJETOS: INTRODUÇÃO. 16.2. Exercicios de Fixação
7.1. Exercicios Passo a Passo

2 de 52
Aula
JAVA Básico
Introdução ao Java 1

1. INTRODUÇÃO AO JAVA

apostila tem como objetivo, ser fonte de Desta forma a equipe teria mais trabalho
A pesquisa, tanto para as aulas como para os
exercícios complementares do curso.
desenvolvendo programas específicos de acordo com
cada sistema dispositivo. Então surgiu a ideia de criar
1.1. O que é o Java? um sistema operacional que permitisse a utilização
dos programas. A nova linguagem foi batizada de Oak
Java é uma linguagem de programação orientada (carvalho), uma referência ao carvalho que era vista
a objetos, desenvolvida na década de 90 por uma do escritório.
equipe de programadores chefiada por James
Gosling, na empresa Sun Microsystems.

Após ter criado um sistema operacional e uma


Existem muitas aplicações e sites que não interface gráfica, a equipe desenvolveu um aparelho
funcionarão, a menos que você tenha o Java chamado Star7, no entanto o projeto foi apresentado
instalado, e mais desses são criados todos os dias. O para várias empresas e mesmo sendo um produto de
Java é rápido, seguro e confiável. De laptops a alta qualidade o mercado ainda não estava preparado
datacenters, consoles de games a para o Star7. Logo o projeto foi engavetado e a
supercomputadores científicos, telefones celulares à empresa se voltou para a internet que já começava a
Internet, o Java está em todos os lugares! crescer.

A Sun Microsystems iniciou um projeto para O nome da linguagem desenvolvida pelo projeto
pequenos dispositivos eletrônicos, a ideia era Green foi mudada de Oak para Java, que foi uma
possibilitar a criação de programas portáteis que homenagem à uma ilha da Indonésia de onde os
pudessem ser executados em diversos dispositivos. Norte-Americanos importavam o café que era
consumido pela equipe de James Gosling. Até 1994,
não havia uma aplicação definida para o Java. Foi
quando Jonathan Payne e Patrick Naughton criaram
um novo navegador para Web que podia executar
programas escritos em Java (applets), batizado de
Web Runner.

3 de 52
E em 1996, em uma iniciativa inédita, a Sun • 9 Milhões de Desenvolvedores de Java em
Microsystems resolveu disponibilizar gratuitamente Todo o Mundo;
um kit de desenvolvimento de software para a
• A Escolha Nº 1 para os Desenvolvedores;
comunidade, que ficou conhecido como Java
Developer`s Kit (JDK). Desde então a aceitação da
• Plataforma de Desenvolvimento Nº 1;
tecnologia Java cresceu rapidamente entre empresas
e desenvolvedores. A Sun Microsystems lançou o • 3 Bilhões de Telefones Celulares Executam o
JDK 1.1 com melhorias significativas para o Java;
desenvolvimento de aplicações gráficas e
• 100% dos Blu-ray Disc Players Vêm
distribuídas. Depois disso, a empresa continuou
Equipados com o Java;
lançando novas versões gratuitas com novas
melhorias e recursos.
• 5 bilhões de Placas Java em uso;
Em abril de 2009, a Oracle ofereceu US$ 7,4
• 125 milhões de aparelhos de TV executam o
bilhões pela aquisição da Sun Microsystems e a
Java;
proposta foi aceita. Essa aquisição deu à Oracle a
propriedade de vários produtos, incluindo o Java e o • 5 dos 5 Principais Fabricantes de
sistema operacional Solaris. Em comunicado, a Equipamento Original Utilizam o Java ME.
Oracle afirmou que o Java foi o software mais
importante adquirido ao longo de sua história. Muitas
especulações foram feitas a cerca do futuro do Java
1.3. Plataforma Java
depois de passar a ser propriedade da Oracle. Mas
Plataforma Java é o nome dado ao ambiente
com certeza essa aquisição contribuiu muito para que
computacional, ou plataforma, criada pela empresa
o Java tivesse um salto qualitativo.
estadunidense Sun Microsystems, e vendida para a
Oracle depois de alguns anos. A plataforma permite
desenvolver programas utilizando a linguagem de
programação Java. Uma grande vantagem da
plataforma é a de não estar presa a um único sistema
operacional ou hardware, pois seus programas rodam
através de uma máquina virtual que pode ser
emulada em qualquer sistema que suporte a
1.2. Tecnologia Java
linguagem C++.
O Java é a base para praticamente todos os tipos
O universo Java é um vasto conjunto de
de aplicações em rede e é o padrão global para o
tecnologias, composto por três plataformas principais
desenvolvimento e distribuição de aplicações móveis
que foram criadas para segmentos específicos de
e incorporadas, jogos, conteúdo baseado na Web e
aplicações:
softwares corporativos. Com mais de 9 milhões de
desenvolvedores em todo o mundo, de forma Java SE (Java Platform, Standard Edition). É a
eficiente, o Java permite que você desenvolva, base da plataforma. Inclui o ambiente de execução e
implante e use aplicações e serviços estimulantes. as bibliotecas comuns.

De laptops a datacenters, consoles de games a Java EE (Java Platform, Enterprise Edition). A


supercomputadores científicos, telefones celulares à edição voltada para o desenvolvimento de aplicações
Internet, o Java está em todos os lugares! corporativas e para internet.

• 97% dos Desktops Corporativos executam o Java ME (Java Platform, Micro Edition). A edição
Java; para o desenvolvimento de aplicações para
dispositivos móveis e embarcados.
• 89% dos Desktops (ou Computadores) nos
EUA Executam Java;

4 de 52
1.4. Java Virtual Machine

O coração da plataforma Java é o conceito de um


processador "virtual", que executa os programas
formados por bytecodes Java. Este bytecode é o
mesmo independentemente do hardware ou sistema
operacional do sistema em que o programa será
executado. A plataforma Java disponibiliza um
interpretador, a JVM, que traduz, em tempo de
execução, o bytecode para instruções nativas do
processador. Isto permite que uma mesma aplicação
Além disso, pode-se destacar outras duas
seja executada em qualquer plataforma
plataformas Java mais específicas:
computacional que possua uma implementação da
Java Card. Voltada para dispositivos embarcados máquina virtual.
com limitações de processamento e armazenamento,
como smart cards e o Java Ring.

JavaFX. Plataforma para desenvolvimento de


aplicações multimídia em desktop/web (JavaFX
Script) e dispositivos móveis (JavaFX Mobile).

Tecnologias Java

A plataforma Java é constituída de um grande


número de tecnologias, cada uma provê uma porção
distinta de todo o ambiente de desenvolvimento e
execução de software. Os usuários finais,
tipicamente, interagem com a máquina virtual Java
(Java Virtual Machine, ou JVM) e um conjunto padrão
de bibliotecas de classe.
Desde a versão 1.2 da JRE, a implementação da
Existe um grande número de maneiras de se
Sun da JVM inclui um compilador just-in-time (JIT).
utilizar uma aplicação Java, incluindo applets
Com este compilador todo o bytecode de um
embutidas em páginas web, aplicativos de uso geral
programa é transformado em instruções nativas e
em desktops, aplicativos em aparelhos celulares e em
carregado na máquina virtual em uma só operação,
servidores de aplicações para Internet(Apache
permitindo um ganho de desempenho muito grande
Tomcat, Glassfish, JBoss etc).
em comparação com a implementação anterior, onde
Os desenvolvedores de aplicações em Java as instruções em bytecode eram interpretadas uma
utilizam um conjunto de ferramentas de por vez. O compilador JIT pode ser projetado de
desenvolvimento, o JDK. acordo com a plataforma ou hardware de destino, e o
código que ele gera pode ser otimizado com base na
Ambiente de execução Java observação de padrões de comportamento dos
programas.
Um programa escrito para a plataforma Java
necessita de dois componentes para ser executado: a Desde a primeira versão, este ambiente de
máquina virtual Java, e um conjunto de bibliotecas de execução vem equipado com gestão automática de
classe que disponibilizam uma série de serviços para memória, realizada por um algoritmo coletor de lixo
esse programa. O pacote de software que contém a que liberta o programador das tarefas de alocação e
máquina virtual e esta biblioteca de classes é libertação de memória, fonte de muitos erros de
conhecido como JRE (Java Runtime Environment). programação.

5 de 52
A plataforma Java não é a primeira plataforma Notepad++ – se destaca pelo recurso que
baseada em uma máquina virtual, mas é de longe a permite a identificação da linguagem que está sendo
mais conhecida e a que alcançou maior sucesso. usada. Leve, tem como ponto negativo estar
Anteriormente esta tecnologia era utilizada na criação disponível apenas para Windows. Suporta Assembly,
de emuladores para auxílio ao projeto de hardware ou Ruby C, HTML, PHP, JavaScript, ASP, SQL, C++,
de sistemas operacionais. A plataforma Java foi Java, C#, XML, Objective-C, CSS, Pascal, Perl,
desenhada para ser implementada inteiramente em Python e Lua.
software, enquanto permitindo a sua migração de
Sublime Text – um dos mais populares, tem
maneira fácil para plataformas de hardware de todos
como principal recurso a possibilidade de instalar
os tipos.
plugins de acordo com a necessidade do usuário.
O que é uma IDE? Suporta C, C++, C#, CSS, HTML, Haskell, Java,
Latex, PHP, Ruby, SQL, XML, JavaScript e Groovy.
IDE, ou Ambiente Integral de Desenvolvimento
em tradução livre, é um software criado com a
finalidade de facilitar a vida dos programadores. 1.6. Exercicios Passo a Passo
Neste tipo de aplicação estão todas as funções
necessárias para o desenvolvimento desde 1. Este exercício tem como objetivo configurar o
programas de computador a aplicativos mobile, assim ambiente de sistema. Clique no menu Iniciar e
como alguns recursos que diminuem a ocorrência de selecione a opção Configurações;
erros nas linhas de código.
2. Clique na opção Sistema;
Se no passado os desenvolvedores precisavam
3. Clique na categoria Sobre;
apenas de um editor de texto e de um navegador para
criar um software, agora, com os IDEs, eles possuem 4. Clique em Informações do sistema;
mais opções para otimizar o tempo gasto com os
códigos. Imagine os IDEs como as calculadoras. 5. Clique na categoria "Configurações avançadas
Logicamente você aprende a fazer as operações do sistema";
matemáticas na escola, mas raramente as faz
6. Caso necessário, clique na aba "Avançado" e,
manualmente quando precisa.
em seguida, clique na opção "Variáveis de Ambiente";
Uma das principais vantagens dos IDEs está na
7. Crie uma nova variável de sistema, com o
capacidade de compilar bibliotecas completas de
nome JAVA_HOME.
linguagem. Outra função bastante comum neste tipo
de programa são os debuggers, que apontam os
erros que ocasionalmente podem ocorrer ao escrever 1.7. Exercicios de Fixação
o código. Alguns IDEs também possuem o
autocompletar. 1. Crie um novo projeto chamado "Projeto01".
Acesse o menu File, New Project, mantenha
selecionado a opção "Java with Ant", avance a
1.5. Principais IDEs próxima etapa para preencher o nome do projeto e
finalize a etapa.
NetBeans – ambiente multiplataforma, tem como
principal característica o layout simples e intuitivo.
Suporta XML, C, PHP, C++, Ruby e HTML.

6 de 52
Aula
JAVA Básico
Interface, componentes e variáveis. 2
2. INTERFACE, COMPONENTES E VARIÁVEIS.

NetBeans foi iniciado em 1996 por dois aberto, além de uma grande comunidade de usuários
O estudantes tchecos na Universidade
Charles, em Praga, quando a linguagem de
de e desenvolvedores em todo o mundo.

Instalação
programação Java ainda não era tão popular como
atualmente. Primeiramente o nome do projeto era Para instalar o Netbeans, acesse o site
Xelfi, em alusão ao Delphi, pois a pretensão deste https://netbeans.org.
projeto era ter funcionalidades semelhantes aos IDEs
então populares do Delphi que eram mais atrativas Componentes do Netbeans
por serem ferramentas visuais e mais fáceis de usar,
Na parte superior da janela aparece a barra de
porém com o intuito de ser totalmente desenvolvido
menu, logo abaixo aparece alguns atalhos para
em Java.
facilitar alguns comandos.
Em 1999 o projeto já havia evoluído para uma
No lado esquerdo é onde iremos organizar os
IDE proprietário, com o nome de NetBeans
nossos projetos, na parte superior desta área
DeveloperX2, nome que veio da ideia de reutilização
aparecem três abas, Projects, Files e Services.
de componentes que era a base do Java. Nessa
época a empresa Sun Microsystems havia desistido
A aba Projects exibe toda a estrutura do projeto
de sua IDE Java Workshop e, procurando por novas
como pastas e classes. Manter uma ampla visão geral
iniciativas, adquiriu o projeto NetBeans DeveloperX2
de aplicações grandes, com várias pastas e arquivos
incorporando-o a sua linha de softwares.
é uma tarefa árdua. O NetBeans IDE oferece
Por alguns meses a Sun mudou o nome do diferentes views de dados, de várias janelas do
projeto para Forte for Java e o manteve por um bom projeto a ferramentas úteis para configurar suas
tempo como software proprietário, porém, em junho aplicações e gerenciá-las.
de 2000 a Sun disponibilizou o código fonte do IDE
A janela Projetos é o ponto de entrada principal
NetBeans tornando-o uma plataforma OpenSource.
para os códigos-fonte do projeto. Ela mostra uma
Mais tarde, com a aquisição da Sun Microsystems
view lógica do conteúdo importante do projeto.
pela Oracle em 2010, tornou-se parte da Oracle. Ao
longo de sua história na Sun Microsystems e Oracle, Além da janela Projetos, o IDE oferece a janela
o NetBeans foi gratuito e de código aberto e foi Arquivos, em que você pode ver todos os arquivos
alavancado pelo seu patrocinador como um pertencentes a um projeto, e a janela Favoritos, onde
mecanismo para impulsionar o ecossistema Java para é possível adicionar pastas e arquivos para busca no
a frente. IDE.
2.1. O que é o Netbeans?
A aba Files exibe todos os arquivos do projeto e
O NetBeans IDE permite o desenvolvimento na aba Services temos acesso a serviços como banco
rápido e fácil de aplicações desktop Java, móveis e de dados, servidores, entre outras aplicações que
Web e também aplicações HTML5 com HTML, podemos utilizar no projeto.
JavaScript e CSS. O IDE também fornece um grande
No lado direito é onde digitaremos os códigos do
conjunto de ferramentas para desenvolvedores de
projeto.
PHP e C/C++. Ela é gratuita e tem código-fonte

7 de 52
Deixar um breve resumo para que serve aquela
parte do código ou onde começa porque se alguém
for modificar ou editar seu código acha mais fácil o
caminho.

Como usar?

A barra dupla “//” define o comentário de uma


linha.

Abaixo da área de digitação encontramos um


espaço para exibição dos resultados chamado de
Output.

A barra seguida de asterisco “/* */” define um


bloco de comentários.

2.2. Programação

Ao estudar um assunto, é essencial entender o


significado dos termos, e com a programação não é Regras para a definição de palavras.
diferente, e saber o que cada palavra quer dizer é
O Java é totalmente case sensitive, que é uma
fundamental para aprender a programar.
análise tipográfica da informática.
Mas antes de iniciarmos é muito importante saber
Observe as palavras "MinhaClasse". Sempre que
que dentro de um ambiente de programação existem
a primeira letra for maiúscula é uma classe.
os famosos comentários de código, quando entramos
neste mundo da programação é muito ocorrente ouvir Se a primeira letra for minúscula a as outras
“Vou comentar meu código”. palavras maiúsculas, ela pode ser um Atributo, uma
variável ou um método. Não se preocupe com esta
Se você não é programador, ou é novo nesta
teoria agora, é mais para sabermos como funciona a
área, fique tranquilo que vou explicar. Se você já sabe
tipografia.
o que é, te convido a ler sobre esse tema mesmo
assim. Se uma palavra estiver em minúscula, pode ter
certeza que é o nome de um pacote. Exemplo: aulas
O que são comentários nos códigos?
ou aulasdeinformatica.
Comentários são textos que você pode inserir no
Outra observação é adotar o nome de variáveis
código que não são reconhecidos nem como
sem qualquer caracter especial, ou seja, não usar
comandos nem como objetos e, como o próprio nome
acentuação, cedilha, espaço em branco, etc. Assim
já diz, não passam de comentários.
adotamos um padrão e facilitamos na hora de corrigir
Para que servem? ou atualizar os códigos em todo o projeto. O único
caractere especial e que pode ser utilizado é o
underline _. Variáveis não devem começar ou terem

8 de 52
apenas números, exemplo: int 3num=23 ou int Saída de dados
100="parcela".
Neste momento vamos realizar alguns testes de
Se você quer decorar o que pode e o que não saída de dados, que nada mais é que pegar algum
pode, pense da seguinte maneira: dados da memória do computador e mostrar em
algum lugar para o usuário.
1-Números só se for o segundo caractere;
Vamos aprender o primeiro comando de saída de
2-Há 50 palavras reservadas, porém, todas são
dados, o comando System.out.print("Olá, Mundo!");
em Inglês, logo, evite termos em Inglês num primeiro
momento. System

O que são variáveis? O Java é compatível com diversos sistemas,


exemplo, celular, relógio, computador, entre outros,
Uma variável é um objeto capaz de reter e por isso foi o comando System que indica sistema,
representar um valor ou expressão. Para funcionar qualquer um destes e de tantos outros que são
corretamente, as variáveis precisam ser definidas por lançados de tempo em tempo.
nomes e tipos. Veja os diferentes tipos de dados:
Out

O próximo comando é "out", que indica saída, da


mesma forma não podemos pensar em somente um
tipo de sistema, pode ser saída em um pequeno
display como o de um relógio de pulso.

Print
O motivo de existir uma variedade de tipos no
Java, é que ele foi criado para desenvolver para O comando "print" indica imprima, mostre, ou
qualquer dispositivo, como um simples relógio, neste seja, cada sistema possui o seu conjunto de saídas e
caso, de repente não será necessário usar tanta tem uma forma de imprimir.
memória para desenvolver uma pequena aplicação.
Criando um exemplo completo:
Como declarar variáveis:
String cliente = “João”;
int idade = 20;
Int idade = 18;
float preco = 420.35f;
String cidade = “São Paulo”;
char texto = “B”;
System.out.print(“Cliente:” + cliente);
boolean casado = false;
System.out.println(“Idade:” + idade);
Há casos, também, em que até mesmo o
System.out.print(“Cidade:” + cidade);
compilador não compreende que tipo de dado
estamos atribuindo a uma variável. O método print

Em Java, nós podemos fazer uso do que Imprime na tela e o cursor permanece
chamamos de indução de tipo ou typecast. exatamente após o último caractere impresso, ou
seja, qualquer outra coisa que for impressa ou
O typecast dita ao compilador como tal dado
digitada virá imediatamente após (colada) ao text
deve ser interpretado e manipulado.
impresso pelo print.
int idade = (int) 15;
O println
float preco = (float) 350.45;

9 de 52
Imprime e dá uma quebra de linha (enter), o 3. Crie um novo projeto chamado “Aula02”.
cursor ficará posicionado na próxima linha, tudo q for
impresso ou digitado após o println virá na linha
imediatamente abaixo do q foi impresso pelo println.
2.4. Exercicios de Fixação

Para executar qualquer linha de código dento do 1. Este exercício tem como objetivo criar três
Netbeans basta clicar no botão Run Project. variáveis e seus respectivos valores, e exibir o
resultado, as variáveis e valores devem ser seguidas
conforme o indicado.
2.3. Exercicios Passo a Passo

1. Este exercício tem como objetivo criar um


projeto chamado “Aula02”. Acesse o disco local;

2. No disco local, abra a pasta "netbeans" e


acesse a pasta "bin" para executar o "netbeans64";

10 de 52
JAVA Básico Aula
Operadores matemáticos, relacionais e controle de
fluxo 3
3. OPERADORES MATEMÁTICOS, RELACIONAIS E CONTROLE DE
FLUXO

3.1. Operadores matemáticos Exemplos utilizando o símbolo de adição “+”:

s operadores aritméticos funcionam com dois System.out.println(10 + 5);

O operandos. Por exemplo, a expressão “5 + 1”


contém o operador “+” (mais) e os dois
Ou

operandos “5” e “1”. Int a = 10;

Int b = 5;

System.out.println(a + b);

Neste caso será impresso o valor 15 que é o


resultado da soma de 10 + 5, ou da soma da variável
a + variável b.

Os operadores possuem regras que são Exemplos utilizando o símbolo de subtração


aplicadas nas expressões aritméticas do Java, que “-”:
são as mesmas seguidas em álgebra. Quando
System.out.println(12 - 7);
dizemos que os operadores são aplicados da
esquerda para a direita, estamos nos referindo à sua
Ou
associatividade.
Int a = 12;
Operadores de multiplicação, divisão e módulo
são aplicadas primeiro. Por exemplo, quando Int b = 7;
aparecer uma expressão com várias dessas
operações, elas serão aplicadas da esquerda para a System.out.println(a - b);
direita.
Neste caso será impresso o valor 5 que é o
As operações de adição e subtração são resultado da subtração de 12 - 7, ou da subtração da
aplicadas em seguida. variável a - variável b.

Exemplos utilizando o símbolo de


Confira a ordem de avaliação:
multiplicação *:

System.out.println(3 * 5);

Ou

Int a = 3;

Int b = 5;

System.out.println(a * b);

11 de 52
Neste caso será impresso o valor 15 que é o 3.3. Operadores relacionais
resultado da multiplicação de 3 * 5, ou da
multiplicação da variável a * variável b. Os operadores relacionais, assim como os de
igualdade, avaliam dois operandos. Neste caso, mais
Exemplos utilizando o símbolo de divisão “/”: precisamente, definem se o operando à esquerda é
menor, menor ou igual, maior ou maior ou igual ao da
System.out.println(36 / 4);
direita, retornando um valor booleano.
Ou
Exemplo:
Int a = 36;
Int a = 1;
Int b = 4;
Int b = 2;
System.out.println(a / b);
Se a == b
Neste caso será impresso o valor 9 que é o
Imprimir “Valores iguais”
resultado da divisão de 36 / 4, ou da divisão da
variável a / variável b. Senão

Imprimir “Valores diferentes”


3.2. Operadores de igualdade
Opções de operadores relacionais
Os operadores de igualdade verificam se o valor
ou o resultado da expressão lógica à esquerda é igual
(“==”) ou diferente (“!=”) ao da direita, retornando um
valor booleano.

Exemplo:

Int a = 1;

Int b = 2;

Se a == b
Int a = 1;
Imprimir “Valores iguais”
Int b = 2;
Senão
Se a > b
Imprimir “Valores diferente”
Imprimir “Valor em A é maior”
Esse código verifica se duas variáveis contêm o
Se a >= b
mesmo valor e imprime o resultado. Uma vez que as
variáveis A e B possuem valores diferentes, o trecho Imprimir “Valor em A é maior ou igual a B”
de código presente no “Senão” será executado.
Se a < b
Opções de operadores de igualdade:
Imprimir “Valor em A é menor”

Se a <= b

Imprimir “Valor em A é menor ou igual a B”

São inúmeras comparações entre duas variáveis


para determinar o que será impresso.

12 de 52
Operadores lógicos repetidamente ou excepcionalmente. Não fosse o
controle de fluxo, um programa poderia executar
Os operadores lógicos representam o recurso
apenas uma única sequência de tarefas, perdendo
que nos permite criar expressões lógicas maiores a
completamente uma das características mais
partir da junção de duas ou mais expressões. Para
interessantes da programação: a dinâmica.
isso, aplicamos as operações lógicas E (representado
por “&&”) e OU (representado por “||”). O comando IF é comum em muitas linguagens de
programação, sua função é verificar se uma condição
Opções de operadores lógicos é verdade ou falsa.

A forma mais simples de controle de fluxo é o


comando if-else. Ele é empregado para executar
seletivamente ou condicionalmente um outro
comando mediante um critério de seleção. Esse
critério é dado por uma expressão, cujo valor
resultante deve ser um dado do tipo booleano, isto é,
Exemplo com “OU”: true ou false. Se esse valor for true, então o outro
comando é executado; se for false, a execução do
String filme;
programa segue adiante. A sintaxe para esse
filme = “Terror”; comando é:

Se filme == “Terror” ou filme == “Suspense” if ([condição])

Imprimir “Sessão das 22horas”; [comando] // Executado se a condição for


true
Neste caso a variável filme precisa armazenar a
categoria Terror ou Suspense para exibir a Uma variação do comando if-else permite
mensagem. escolher alternadamente entre dois outros comandos
a executar. Nesse caso, se o valor da expressão
Caso nenhuma das categorias seja verdadeira, condicional que define o critério de seleção for true,
nenhuma mensagem será exibida. então o primeiro dos outros dois comandos é
executado, do contrário, o segundo.
Exemplo com “E”:
if([condição])
Int idade;
[comando 1] // Executado se a condição for
Idade = 18;
true
Se idade>16 E idade<22
else
Imprimir “Vaga para montador”
[comando 2] // Executado se a condição for
Neste caso, a variável idade é testada, de acordo false
com uma faixa de valores: deve ser maior que 16 e
Exemplo 1:
menor que 22 anos para preencher a vaga de
montador na empresa. Vamos classificar uma pessoa como sendo
criança.

3.4. Controle de fluxo Int idade;

Controle de fluxo é a habilidade de ajustar a idade = 10;


maneira como um programa realiza suas tarefas. Por
meio de instruções especiais, chamadas comandos, If(idade<=12){
essas tarefas podem ser executadas seletivamente,
System.out.println(“Criança”);
13 de 52
} String sexo;

No exemplo acima, se a idade for maior que 12 idade = 20;


nenhuma mensagem será exibida.
sexo = "Masculino";
Exemplo 2:
if(idade > 18 && sexo == "Masculino"){
Vamos classificar uma pessoa como adolescente
System.out.println("Próxima etapa");
ou adulta.

Int idade; }else{

System.out.println("Etapa encerrada");
idade = 16;
}
If(idade<18){

System.out.println(“Adolescente”); Exemplo 5:

Vamos verificar se uma pessoa é maior de idade


}else{
ou do sexo feminino, para preencher a vaga de
System.out.println(“Adulto”); emprego, com qualquer um destes critérios ela segue
adiante na seleção.
}
int idade;
No exemplo acima, verificamos se a pessoa é
adolescente ou adulta. String sexo;

Exemplo 3: idade = 15;

Vamos classificar uma pessoa como criança, sexo = "Feminino";


adolescente ou adulta.
if(idade > 18 || sexo == "Feminino"){
Int idade;
System.out.println("Próxima etapa");
idade = 16;
}else{
If(idade<12){
System.out.println("Etapa encerrada");
System.out.println(“Criança”);
}
}else if(idade<18){
Exemplo 6:
System.out.println(“Adolescente”);
Vamos verificar se o um determinado usuário
} preencheu corretamente seus dados de acesso, login
e senha para prosseguir a etapa.
System.out.println(“Adulto”);
String login, senha;
}
login = "adm";
Exemplo 4:
senha = "a123m";
Vamos verificar se uma pessoa é maior de idade
e do sexo masculino, para preencher a vaga de if(login == "adm" && senha == "a123m"){
emprego, somente com esses dois critérios ela segue
System.out.println("Próxima etapa");
adiante na seleção.

int idade; }else{

14 de 52
System.out.println("Confira os dados"); 5. Para executar, clique no botão Run Project.

} 6. Informação: A quantidade inicial é 9, por isso


deixamos o resultado aparecendo com o valor de R$
99,00. Alterando para 14 unidades, o total vai ser de
3.5. Exercicios Passo a Passo R$ 129,00, por causa do desconto, caso contrário o
total seria de R$ 154,00.
1. Este exercício tem como objetivo criar um
projeto chamado “Aula03”. Criaremos uma condição
para dar R$ 25,00 de desconto para compras acima 3.6. Exercicios de Fixação
de 10 unidades, sendo o preço unitário de R$ 11,00.
Se a quantidade de unidades for abaixo de 10 1. Este exercício tem como objetivo verificar se o
unidades, o preço total será calculado sem desconto. usuário é maior de idade, e reside na cidade de
Acesse o disco local; Montenegro. Se as informações estiverem corretas,
devemos exibir a mensagem “Etapa concluída”, se
2. Abra a pasta "netbeans" e acesse a pasta "bin" não, devemos exibir a mensagem, “Tente
para executar o programa "netbeans64"; novamente”.

3. Crie um novo projeto chamado “Aula03”;


Crie as variáveis cidade e idade, e para fazer o
4. Digite o código conforme o indicado. teste condicional utilize o controle de fluxo if(), para
auxiliar faça uso dos operadores relacionais e lógicos.

15 de 52
Aula
JAVA Básico
Estrutura de repetição FOR e WHILE 4
4. ESTRUTURA DE REPETIÇÃO FOR E WHILE

studaremos a estrutura de repetição for, a Ao término de execução do código, ocorre o fator


E estrutura mais utilizada pelos desenvolveres
na construção de laços de repetição que
de mudança, que geralmente é um incremento ou
decremento, sempre após cada iteração do looping.
possuem uma quantidade de ciclos pré-definidos.
Depois a condição é testada novamente. Caso
Os "Loops", conhecidos como laços, são retorne 'true', o código é executado.
estruturas de repetição, utilizados para executar,
Ao término de execução do código, sempre
repetidamente, uma instrução ou bloco de instrução
ocorre o fator de mudança... e assim sucessivamente.
enquanto determinada condição for satisfatória.

As estrutura de repetição, possuem quatro Veja o exemplo prático:


elementos fundamentais: inicialização, condição,
int i;
corpo e iteração. A inicialização compõe-se de todo
código que determina a condição inicial da repetição. for(i=1;i<=5;i++){
A condição é uma expressão booleana avaliada após
cada leitura do corpo e determina se uma nova leitura System.out.println("Número: "+i);
deve ser feita ou se a estrutura de repetição deve ser
}
encerrada. O corpo compõe-se de todas as instruções
que são executadas repetidamente. A iteração é a O exemplo acima tem como propósito criar uma
instrução que deve ser executada depois do corpo e lista numerada de 1 a 5, para isso a variável “i” inicia
antes de uma nova repetição. com o valor 1, em segundo lugar, a condição avalia
4.1. Estrutura de repetição: FOR() que o contador deve chegar em 5, em seguida, os
valores são incrementados, entenda:
Veremos agora o tipo de laço mais importante e
usado em Java, o laço for. i=1

A sintaxe do laço for é a seguinte: 1=1+1

for(cond. Inicial; teste condicional; após iteração){ 2=2+1

//código 3=3+1

} 4 = 4+ 1

O laço funciona da seguinte maneira: 5

O laço se inicia pela condição inicial, geralmente Quando a condição for satisfatória, conforme a
se inicia o contador. Esse primeiro estágio SEMPRE condição exige, o programa lista dos e encerra, sai for
acontece. do laço.

O segundo estágio é o teste da condição do laço, Nota: O FOR() é usado em outras situações que
um simples teste condicional. Caso seja verdade, o certamente utilizaremos mais tarde.
código é executado.

16 de 52
4.2. Estrutura de repetição: WHILE() while(salario<=1400){

O while é um comando que manda um bloco de salario +=10;


código ser executado enquanto uma condição não for
System.out.println("Número: "+salario);
satisfeita. Assim, permite que sejam criados loops de
execução. O while é um comando muito útil, mas }
pode ser perigoso, pois, se não tratarmos
corretamente o critério de parada, o laço pode não ter No exemplo acima, o salário é iniciado com o
fim, e o programa não faz o que deveria e pode entrar valor de R$ 1100, quando entra no laço a condição é
em loop infinito, como é chamado. avaliada, e enquanto for menor ou igual a R$ 1400,
será atribuído R$ 10,00 sobre o valor, quando chegar
Frequentemente em nossas aplicações em R$ 1400, será atribuído o valor de R$ 10,00 e o
precisamos repetir a execução de um bloco de laço é encerrado.
códigos do programa até que determinada condição
seja verdadeira, ou senão até uma quantidade de
vezes seja satisfeita. Para que essas repetições 4.3. Exercicios Passo a Passo
sejam possíveis, usamos os laços de repetições do
1. Este exercício tem como objetivo criar um
C#.
projeto chamado “aula04”. Criaremos uma estrutura
While – Esta instrução é usada quando não de repetição, onde iremos listar oito números em
sabemos quantas vezes um determinado bloco de ordem decrescente, começando com o número oito e
instruções precisa ser repetido. Com ele, a execução terminando no número um. Acesse o disco local;
das instruções vai continuar até que uma condição
2. No disco local, abra a pasta "netbeans" e
seja verdadeira. A condição a ser analisada para a
acesse a pasta "bin" para executar o programa
execução do laço de repetição deverá retornar um
"netbeans64";
valor booleano.
3. Crie um novo projeto chamado “Aula04”;
Veja a sintaxe:
4. Digite o código conforme o indicado.
While(teste condicional){

//comandos;

serão executados enquanto o teste condicional


for

igual a verdadeiro (true)

}
5. Para executar, clique no botão Run Project.
Perceba que, somente se a condição for
verdadeira o corpo do laço de repetição, com seus
respectivos comandos, serão executados. Portanto, o 4.4. Exercicios de Fixação
conteúdo será repetido até que esta condição não
1. Este exercício tem como objetivo criar uma
seja mais verdadeira.
estrutura de repetição que aumente o bônus em R$
Veja o exemplo: 20,00 para clientes entre 18 a 26 anos.

Será calculado R$ 10,00 sobre o valor do salário Crie a variável bônus, do tipo double, com o valor
enquanto ele for menor que R$ 1400,00. de R$ 20,00

double salario; Crie a variável idade, do tipo int, com a idade


inicial de 18 anos.
salario = 1100;

17 de 52
Dentro da estrutura while deve ser realizado a a mensagem:
condição onde a listagem deve ser até 26 anos. Exibir
Você tem... anos e ganhou bônus de...

18 de 52
Aula
JAVA Básico
Manipulação de Strings 5
5. MANIPULAÇÃO DE STRINGS

5.1. Classe Scanner Scanner sc = new Scanner(System.in);

rincipalmente quando damos início no mundo float numF = sc.nextFloat();

P da programação, com o tempo surge a


vontade do desenvolvedor iniciante trabalhar
int num1 = sc.nextInt();

com programas no modo texto (console). Com esse byte byte1 = sc.nextByte();
princípio, muitos começam a usar a classe Scanner,
pois tem justamente a finalidade de facilitar a entrada long lg1 = sc.nextLong();
de dados no modo Console.
boolean b1 = sc.nextBoolean();
Antes de tudo é necessário saber alguns
double num2 = sc.nextDouble();
funcionamentos desta classe.
String nome = sc.nextLine();
Primeiramente devemos realizar a seguinte
importação: Veja alguns métodos que acompanham a
classe:
import java.util.Scanner;
close()
O próximo a ser usado é o seguinte objeto:
Fecha o escaneamento de leitura.
System.in
next()
Que tem como finalidade ler os dados de entrada
padrão. Procura e retorna a próxima informação do objeto
Scanner que satisfazer uma condição.
import java.util.Scanner;
nextLine()
public class TestaDeclaracaoScanner {
Mostra a linha atual do objeto Scanner e avança
public static void main(String[] args) {
para a próxima linha.
//Lê a partir da linha de comando
Veja o exemplo abaixo que permite entrada de
Scanner sc1 = new Scanner(System.in); dados, o nome:

String textoString = "João Silva"; Scanner inserir=new Scanner(System.in);

//Lê a partir de uma String System.out.println("Informe o seu nome: ");

Scanner sc2 = new Scanner(textoString); String nome=inserir.next();

} System.out.println("O nome preenchido foi


"+nome);
}
Neste momento estudaremos sobre o
Confira alguns métodos utilizados: tratamento de Strings.

19 de 52
Os métodos da classe String são acionados String maiuscula = texto.toUpperCase();
adicionando-se um ponto ao final do nome da String,
System.out.println(maiuscula);
o da própria string, seguidos pelo nome do método
(incluindo os parênteses).
Resultado:
A maioria dos métodos é de RETORNO, ou seja,
toLowerCase()
será necessário declarar uma variável para receber o
resultado. O método toLowerCase converte toda a String
para minúsculas.
length()
Veja o exemplo:
O método retorna o tamanho da String numa
variável tipo int. Por exemplo a String “AULAS”, o String texto = "EXECUTAR ROTINA";
length dela será 5, que é o número de
String minuscula = texto.toLowerCase();
caracteres(letras) dentro da String. Pense que a
String é uma coleção de letras.
System.out.println(minuscula);
Veja o exemplo:
Resultado:

String texto = "Programação"; IndexOf()

int tamanho = texto.length();


Esse método é simples: serve para sabermos
System.out.println("Total de: "+tamanho); qual índice determinado pedaço da string
corresponde. Ele retorna um valor do tipo int.
Resultado:
String site = "www.meusite.com.br";
Podemos usar o método diretamente dentro de
int indice = site.indexOf(".");
um comando de impressão, sem precisar antes
guardar em um inteiro, como no exemplo abaixo:
System.out.println("Total de: "+indice+"
System.out.println("Total de: "+texto.length()); pontos no endereço");

Resultado:
trim()
substring()
O método serve para retirar espaços em branco
no início e fim de uma String.
O método usado para retornar uma String, com
Veja o exemplo: as letras indicadas pelos parâmetros início e fim.

Veja o exemplo:
String texto = " Texto Java ";
String texto = "Estudo Java";
String remove = texto.trim();

System.out.println("Total de:"+remove+ String res = texto.substring(0,6);


":espaços");
System.out.println("Foi extraído: "+res);

Resultado: Resultado:

toUpperCase()

O método toUpperCase transforma todas as


5.2. Exercicios Passo a Passo
letras em maiúsculas.
1. Este exercício tem como objetivo criar um
Veja o exemplo: projeto chamado “Aula05”. Utilizaremos a classe
Scanner para preencher o nome do aluno e para
String texto = "Código Java";
20 de 52
exibir, converteremos as letras em minúsculas, 5. Para executar, clique no botão Run Project.
mantendo um padrão de saída. Acesse o disco local;

2. Abra a pasta "netbeans" e acesse a pasta "bin" 5.3. Exercicios de Fixação


para executar o programa "netbeans64";
1. Este exercício tem como objetivo contabilizar o
3. Crie um novo projeto chamado “Aula05”; total de caracteres na primeira ocorrência do ponto “.”
neste exemplo digitaremos o seguinte e-mail:
4. Digite o código conforme o indicado.
[email protected]. Lembre-se: Abra o netbeans que
está no disco local. Crie um novo projeto chamado
“Fixacao05”. Utilize o método indexOf().

21 de 52
Aula
JAVA Básico
Variáveis compostas 6
6. VARIÁVEIS COMPOSTAS

m Array é uma Estrutura de Dados, isto fizermos, ela é somada de um, para podermos
U significa que é uma forma de representar,
manipular e armazenar dados em um
caminhar no array.
6.1. Como criar um vetor:
computador. Um Array também é chamado de
Variável Composta Homogênea, isto significa que um O exemplo abaixo mostra 5 variáveis sendo
Array é um tipo de variável que consegue armazenar criadas, do tipo inteiro, que é a forma que vimos até
mais de um dado de um único tipo. Composta: mais agora:
de um dado; Homogêna: um único tipo. Exemplos:
armazenar 10 salários, armazenar 15 nomes,
armazenar 20 notas, etc. Existem vários "tipos" de
Arrays, hoje veremos o Array denominado de
"Variáveis Compostas Homogêneas Unidimensionais"
Variáveis compostas:
Variáveis Compostas Homogêneas
Unidimensionais (Array de uma dimensão).

São variáveis compostas que necessitam de


apenas um índice para individualizar um elemento do
Vamos conferir alguns detalhes sobre um vetor.
conjunto. Essas variáveis também são chamadas de
Os colchetes "[]", tem como finalidade definir o
Vetores.
número que corresponde à posição do elemento
desejado, ou seja, o índice do elemento. O nome com
esse índice, pode ser utilizado em seu programa,
como se fosse uma variável qualquer.

A Figura acima ilustra um Array de uma


dimensão com seis posições. Cada quadrado desse
Array é correspondente a um espaço de memória que O new int[5] estamos criando um objeto com 5
armazena um dado. Como o Array tem seis posições, elementos, ele possui métodos e atributos.
então, são seis espaços de memória que serão
No Java a primeira posição de um vetor é zero.
utilizados para armazenar esses dados.
Sendo assim para declarar uma variável com 5
O índice nos ajuda a percorrer o Array, elementos utilizaremos a estrutura conforme
permitindo que o elemento daquela determinada mostrado na imagem.
posição possa ser armazenado, acessado, atualizado,
Outra forma de declarar uma variável do tipo
excluído, enfim, manipulado. O índice pode "andar"
vetor é seguindo este segundo formato, definindo o
da esquerda pra direita, por isso vocês veem escrito
tipo e dentro do bloco o número de elementos. int n[]=
"i", "i + 1", e assim por diante. O índice "i" é a variável
{7,6,4,2,9}
de incremento (contador) e a cada iteração que

22 de 52
Exemplo: ao fim, todos os elementos de um Array.

String frutas[] = {"Laranja","Mamão", É bem útil, também, em termos de precaução e


"Manga","Morango"}; organização, pois alguns programadores não gostam
de usar o índice 0, usam direto o índice 1 do array, ou
for(int i=0;i<=3;i++){ as vezes nos confundimos e passamos (durante as
iterações) do limite do array. Isso pode ser facilmente
System.out.println("total: "+frutas[i]);
evitado usando o laço for modificado para percorrer
} os elementos de um array.

No exemplo acima criamos uma variável A sintaxe do for each é a seguinte:


armazenando 4 elementos, lembrando que inicia em
for ( tipo variavel_do_tipo_do_seuArray :
zero.
seuArray){
Isso significa que frutas[0] terá o valor Laranja,
//seu código
frutas[1] terá o valor Mamão, frutas[2] terá o valor
Manga, frutas[3] terá o valor Morango.
}
Utilizando o laço de repetição for() foi possível
Se o 'seuArray' for de inteiro, ficaria:
criar um contador de elementos e listando as
posições dentro da variável composta. for (int count : seuArray){

Length ...

A length é um atributo de um array e representa o }


comprimento de uma string.
Como podemos interpretar esse laço foreach?
Sintaxe:
Muito simples, o inteiro 'count' vai receber, a cada
array.length iteração, todos os valores de 'seuArray'.

Veja o exemplo: Ou seja, ele vai percorrer todo o seu Array e


receber seus valores, na ordem (do começo para o
Usando o mesmo recurso anterior, veja como é
fim), um por vez. E com esses valores você vai fazer
criado a condição.
o que desejar.

String frutas[] = {"Laranja","Mamão","Manga", Veja o exemplo:


"Morango","Cereja","Caqui"};
String estados[]={"rs","sc","sp","rj","mg",
for(int i=0; i
"mt","ms"};
System.out.println("total: "+frutas[i]);
for(String itens: estados){

} System.out.println(itens);

A finalidade do length é substituir o uso da


}
numeração, imagine que em um momento o vetor
possui 6 elementos, em outro possui 70, então para Ordenando Arrays em Java.
ser algo dinâmico utilizamos o length, que vai retornar
Pode haver uma situação em que seja
o comprimento do vetor.
necessário que o desenvolvedor organize um Array
foreach em Java. Nesse caso podemos utilizar a classe
java.util.Arrays que é capaz de fornecer vários
A utilização é bem simples e direta. Vamos usar métodos utilitários, a fim de classificar Arrays de
essa variante do for que percorre sempre, do começo qualquer tipo.

23 de 52
Poderíamos incluir tipos primitivos, na medida em resultado.
que os objetos estão em arrays, eles estarão no
– Pode, ou não, receber parâmetros;
pacote java.util que é capaz de expor todos os
métodos de classificação relacionados como funções
– Sempre retorna um resultado;
de utilitário estático.
– Exemplos:
Facilmente pode-se ir em frente e acessar sort()
como Arrays.sort() e só passar o Array e isso · Mostrar um menu e retornar a opção;
resultará em um objeto Array.
· Solicitar uma entrada ao usuário;
Pode ser classificado em ordem crescente,
Como declarar uma função:
decrescente ou qualquer ordem personalizada
definida pelo comparador personalizado em Java. Toda função deve ter um tipo (String, int, float), o
qual indicara o tipo de seu valor de retorno (saída).
import java.util.Arrays;

public class Fixacao06 {

public static void main(String[] args) {

// TODO code application logic here

String cores[] = {"Vermelho","Amarelo",


"Laranja","Azul","Verde","Branco","Violeta"};

Arrays.sort(cores); Os argumentos (ou parâmetros) indicam o tipo e


quais valores são esperados para serem manipulados
for(int i = 0; i<7; i++){ pela função (entrada).

System.out.println(cores[i]);

6.2. Procedimentos e funções

Procedimento: é algo que deve ser feito uma ou


várias vezes, sempre que for necessário. Veja o exemplo sem parâmetro:

-Pode, ou não, receber parâmetros. static String mensagem(){

-Não retorna um resultado. String msg="Bom dia";

Exemplos: System.out.println(msg);

· Gravar dados em arquivo no disco; return msg;

· Enviar documento para a impressora; }

· Ordenar que o computador desligue. public static void main(String[] args) {

Função: é algo que deve ser feito uma ou várias // TODO code application logic here
vezes, sempre que for necessário para se obter um

24 de 52
mensagem(); 2. Abra a pasta "netbeans" e acesse a pasta "bin"
para executar o programa "netbeans64";
}
3. Crie um novo projeto chamado “Aula06”;
Veja o exemplo passando parâmetro:
4. Digite o código conforme o indicado e, em
static int quantidade(int qt1, int qt2, int qt3){
seguida, clique no botão Run Project.
int soma=qt1+qt2+qt3;

return soma;

public static void main(String[] args) {

// TODO code application logic here

int total=quantidade(5,8,4);

System.out.println("total de: "+total);


6.4. Exercicios de Fixação
}
1. Este exercício tem como objetivo criar um
projeto chamado “Fixacao06”. Crie uma lista com as
6.3. Exercicios Passo a Passo seguintes cores: Vermelho, Amarelo, Laranja, Azul,
Verde, Branco e Violeta, lembre-se: utilize o comando
1. Este exercício tem como objetivo criar um for().
projeto chamado “Aula06”. Criaremos uma lista de
nomes e classificaremos em ordem alfabética. Acesse
o disco local;

25 de 52
Aula
JAVA Básico
Orientação a objetos: Introdução. 7
7. ORIENTAÇÃO A OBJETOS: INTRODUÇÃO.

ma programação bem conhecida é a classe, chamada “carro”. E que o nosso carro é uma
U estruturada, um programa possui
sequência de comandos a serem executados,
uma instância dessa classe.

uma outra sequência que só deve ser executada se


uma condição for satisfatória, e outra rotina que cria
sequência executadas por repetição até que uma
condição seja satisfeita.

A programação orientada a objetos é uma forma


especial de programar, mais próximo de como
expressaríamos as coisas na vida real.

Um objeto é uma coisa material ou abstrata que


pode ser percebida pelos sentidos e descrita por meio Assim, uma classe é um conjunto de
das suas características, comportamentos e estado características e comportamentos que definem o
atual. conjunto de objetos pertencentes a ela. Podemos nos
referir uma classe a um molde. O molde torna o
Daí o nome objeto, algo genérico, que pode
objeto algo concreto. Quando a partir de um molde
representar qualquer coisa tangível.
surge um objeto, chamamos de instância da classe.
Podemos usar como exemplo um carro,
Instanciar
computador, cliente, conta bancária, etc.
Por exemplo, você cria uma classe Cachorro.
Os elementos básicos da Programação
Você criou apenas a idéia de um cachorro, mas pra
Orientada a Objetos são:
poder usar efetivamente, vai ter que criar uma
Objetos, Classes e Instâncias. instância desse cachorro (um objeto).

Pode parecer algo tão citado, mas vou utilizar o Tipo:


carro como exemplo de um objeto.
Cachorro rex = new Cachorro(azul);
Quando chegamos na loja existem diversos
Atributos
carros, similares, onde podemos observar que
possuem quatro rodas, volante, faróis, entre outras Os objetos possuem atributos, que são as
partes. características de um objeto.

Podemos informar que o nosso carro é único Por exemplo, o carro possui como atributo, cor,
porque ele possui um registro, porém iremos marca, modelo, entre outros.
encontrar outros carros com os mesmos atributos,
outros totalmente diferentes, mas que são Métodos
considerados, carros.
Os métodos definem o comportamento dos
Esse é um motivo onde podemos dizer que seu objetos de uma classe, as ações que um objeto pode
objeto pode ser classificado, ou que pertence à uma realizar.
26 de 52
Exemplo de comportamentos, o carro tem ação 6. Clique na aba Exercicio07.java e digite o
de ligar e acelerar. conforme o indicado. Em seguida, clique no botão
Run Project para executar o exercício.
Abstração

Abstração para a Orientação a Objetos, nada


mais é do que você observar comportamentos e
estruturas do dia a dia, e transformá-los em uma
linguagem computacional.
7.1. Exercicios Passo a Passo

1. Este exercício tem como objetivo criar um


projeto chamado “Exercicio07”. Criaremos um objeto
chamado carro, com os seguintes atributos: marca,
modelo, cor e ano. Acesse o disco local;

2. Abra a pasta "netbeans" e acesse a pasta "bin" 7.2. Exercicios de Fixação


para executar o programa "netbeans64";
1. Este exercício tem como objetivo criar um
3. Crie um novo projeto chamado “Exercicio07”.
projeto chamado “Fixacao07”.
4. A classe principal foi criada. Criaremos uma
Criaremos um objeto chamado "rádio", e os
nova classe chamada Carro. Clique com o botão
seguintes atributos: fabricante, tamanho, ligado.
direito do mouse no pacote exercicio07, escolha New,
Java Class. Digite “Carro” e pressione Finish. O atributo "fabricante" recebe o valor “Philips”.

5. Digite conforme o indicado, não esqueça de O atributo "tamanho" recebe o valor “médio”
clicar na aba Carro;
O atributo "ligado", recebe valor “true”

Não esqueça de criar um método chamado ligar,


onde iremos avaliar, se "ligado", for igual a true, exibir
a mensagem: ligado. Caso contrário, exibir a
mensagem: desligado. Por fim, criar o método status,
responsável por enviar os atributos fabricante e
tamanho.

27 de 52
Aula
JAVA Básico
Sem Orientação a objetos 8
8. SEM ORIENTAÇÃO A OBJETOS

abemos como é importante criar interatividade O método nextInt() permite capturar as entradas
S entre o usuário e o programa, permitindo que
ele possa preencher os dados e ficar mais
de dados do tipo inteiro, como números do tipo: 1, 20,
140...
próximo da realidade. Por esse motivo usamos a
O método nextDouble() captura um valor com
classe Scanner.
casas decimais, e armazena em uma variável do
Quando utilizamos a classe Scanner, o mesmo tipo. Exemplo: 4,50 ou 100,50.
compilador pedirá para fazer a seguinte importação:
Além de permitir que o usuário possa preencher
import java.util.Scanner; os dados, podemos realizar um teste usando
fórmulas, calculando valores dentro de variáveis.
Essa classe ajuda na leitura dos dados
informados. Para fazer essa ação, é necessário criar Os operadores aritméticos funcionam com dois
um objeto do tipo Scanner, que passa como operandos. Por exemplo, a expressão “5 + 1” contém
argumento o objeto System.in. o operador “+” (mais) e os dois operandos “5” e “1”.

O System.in faz a leitura do que se escreve no


teclado.

Vamos relembrar a forma de usar:

Os operadores possuem regras que são


aplicadas nas expressões aritméticas do Java, que
são as mesmas seguidas em álgebra. Quando
dizemos que os operadores são aplicados da
Para obter os dados de um determinado tipo esquerda para a direita, estamos nos referindo à sua
usamos: associatividade.

Operadores de multiplicação, divisão e módulo


são aplicadas primeiro. Por exemplo, quando
aparecer uma expressão com várias dessas
operações, elas serão aplicadas da esquerda para a
direita.

As operações de adição e subtração são


aplicadas em seguida.

Usando next() só retornará o que vem antes de Confira a ordem de avaliação:


um espaço. nextLine() move automaticamente o
scanner depois de retornar a linha atual.

28 de 52
1. Este exercício tem como objetivo criar um
projeto chamado “Exercicio08”. Criaremos um
controle de usuários. Precisaremos dos atributos
usuário e senha. Acesse o disco local;

2. Abra a pasta netbeans e acesse a pasta bin


para executar o programa;

3. Crie um novo projeto chamado “Exercicio08”.


Exemplos utilizando o símbolo de adição “+”:
4. Digite o código conforme o indicado.
System.out.println(10 + 5);

Ou

Int a = 10;

Int b = 5;

System.out.println(a + b);

Como no exemplo da adição, podemos criar


outras operações matemáticas, já vistas na aula 03.

Símbolo + é chamado de adição, utilizado para


somar o valor de dois operandos.

Símbolo - é chamado de subtração, utilizado


8.2. Exercicios de Fixação
para subtrair o valor de dois operandos.
1. Este exercício tem como objetivo criar um
Símbolo * é chamado de multiplicação, utilizado
projeto chamado “Fixacao08”.
para multiplicar o valor de dois operandos.
Criaremos um programa que leia o nome de um
Símbolo / é chamado de divisão, utilizado para
determinado produto, o preço de custo, o preço de
dividir o valor de dois operandos.
venda, e calcule o lucro. Será avaliado se o lucro for
A apostila foi apenas uma revisão de conteúdo, é acima de R$ 100,00 exibir produto com desconto. É
muito importante relembrar o que já foi visto para necessário importar a classe Scanner().
fortalecer o que foi aprendido.
8.1. Exercicios Passo a Passo

29 de 52
Aula
JAVA Básico
Orientação a objetos: Classes 9
9. ORIENTAÇÃO A OBJETOS: CLASSES

odemos dizer que são "receitas" de um objeto, Iniciaremos um exemplo utilizando um carro,
P possui características e comportamentos,
permite armazenar propriedades e métodos.
mostrando apenas o que ele tem.

Geralmente uma classe representa um lugar, pessoa,


algo "abstrato".

Sendo assim, é possível ter vários objetos do


mesmo tipo, que compartilham características em
comum.

Alguns objetos possuem semelhanças, desta Lembre-se: os atributos são as características de


forma temos uma vantagem, criar modelos para um determinado objeto.
esses objetos. Esse modelo é chamado de CLASSE.
As classes são tipos que podem ser criados. Utilizamos o exemplo do “Carro”, onde foi
possível definir os atributos, tais como: marca, placa,
Por definição: Uma classe é um modelo preço, rodas entre outros atributos.
(protótipo) que define as variáveis (estado) e os
métodos (comportamento) comuns a todos os objetos Quando utilizamos o comando "new" estamos
do mesmo tipo. criando uma variável que permite utilizar os atributos
e métodos de uma classe.
Preste atenção:
O New trata de reservar memória o suficiente
-Toda classe deve possuir um nome; para o objeto e criar automaticamente uma referência
a ele. Para new conseguir determinar o objeto,
-Toda classe deve possuir as visibilidades,
precisamos usar o método construtor que será usado
exemplo: public, private, protected;
como base para instanciar a classe e gerar o objeto.
-Toda classe deve possuir características e
Declaramos uma variável qualquer como sendo
ações.
do tipo da classe, depois instanciamos o objeto
Podemos dizer que os atributos são variáveis ou atribuindo a variável o resultado obtido por new mais
campos que armazenam os diferentes valores que as o método construtor.
características dos objetos podem conter.
Exemplo:
A sintaxe básica para declaração de uma
classe:

class nomeDaClasse{

// atributos ou propriedades

// métodos

30 de 52
Essa é a forma de instanciarmos um objeto, Depois de executarmos esse código, veja o
neste caso, do tipo Carro e amarrá-lo a uma resultado.
referência também do mesmo tipo, chamado de objC.

Em primeiro lugar vem o tipo “Carro” da


referência, depois o nome da referência “objC”, logo
em seguida o operador de atribuição “=”, após o
operador “new”, e por último, a chamado do
construtor da classe do objeto, Carro().

Com a referência “objC”, faremos a chamada da


Veja que, quando utilizamos um objeto para
seguinte forma:
guardar informações, todos os atributos ficam
Por exemplo, para informar a marca do carro, agrupados dentro de um único objeto na memória, e
devemos proceder da seguinte forma: não espalhados dentro de diversas variáveis
diferentes.
9.1. Exercicios Passo a Passo

1. Este exercício tem como objetivo criar um


projeto chamado “exercicio09”. Criaremos uma classe
chamada Produto, e os seguintes atributos: descrição,
quantidade, preço e total. Deverá ser exibido o valor
Para definir o valor dos atributos que serão
total. Acesse o disco local;
armazenados em Carro, precisaremos acessar o
objeto que vive na memória. Fazemos isso utilizando 2. Abra a pasta "netbeans" e acesse a pasta "bin"
o operador “.”, informando qual é o atributo que para executar o programa "netbeans64";
queremos acessar. Podemos, por exemplo, guardar o
valor 4 como o número de rodas do carro. Observe o 3. Crie um novo projeto chamado “exercicio09”.
código abaixo: Caso necessário, desmarque a opção “Create Main
Class”;

4. Crie uma classe chamada "Produto" clicando


com o botão direito em “default package” e, em
seguida, escolha New, Java Class;

5. Crie a aplicação com o nome "appProduto", e


clique com o botão direito em “default package”, após
escolha a opção New, Java Main Class;

6. Clique na aba "Produto.java" e digite o código


Com esse código, estamos navegando na conforme o indicado.
referência armazenada no "objC", e acessando o
atributo placa do objeto Carro que vive na memória.
Dentro desse atributo colocamos o valor LSN1233.
Podemos fazer o mesmo para os outros atributos do
Carro:

31 de 52
7. Clique na aba "appProduto" e digite o código 9.2. Exercicios de Fixação
abaixo, conforme o indicado e, em seguida, execute e
faça o teste. 1. Este exercício tem como objetivo criar um
projeto chamado “Fixacao09”.

Criaremos uma classe chamada “Escola”, com os


seguintes atributos: aluno, turma, nota1, nota2, nota3,
nota4 e média. No aplicativo "appEscola", iremos
preencher os dados e calcular a média.

32 de 52
Aula
JAVA Básico
Orientação a objetos: Métodos 10
10. ORIENTAÇÃO A OBJETOS: MÉTODOS

10.1. Métodos: Um exemplo de uso:

ão funções que realizam tarefas específicas e package testemetodo;

S pode ser chamado por qualquer outro método


ou classe, para realizar a referida função num
public class TesteMetodo {

determinado contexto. static void soma(int x, int y){

Os métodos possuem algumas características int total = x+y;


como:
System.out.println("Total da
-Podem ou não retornar um valor; soma:"+total);

-Podem ou não aceitar argumentos; }

-Após encerrar sua execução, o método retorna o public static void main(String[] args) {
fluxo de controle do programa para quem o chamou.
// TODO code application logic here
Como boas práticas, é indicado sempre usar o
nome dos métodos declarados como verbos, para soma(10,30);
que quando for efetuada alguma manutenção seja de
}
fácil entendimento. Veja algumas nomenclaturas de
nomes de métodos: }

· correr, voltar, pagar, somar e calcularMedia; O nosso método, soma, realiza a adição de dois
números inteiros, fornecidos pelos argumentos x e y,
Declaração de um método:
onde calculamos no total.
void [nomeDoMetodo] () {
O método é chamado dentro do método padrão,
[corpo do método] o main().

} Agora vamos ver as funções, que são rotinas que


retornam um valor.
Onde o [nomeDoMetodo] é um identificador que
define o nome pelo qual o método é conhecido. Veja o modelo:

O par de chaves delimita uma região para Funcao Soma(x,y: Inteiro) : Inteiro
declaração de variáveis e métodos.
Var
[corpo do método], consiste de uma lista
Total: Inteiro
ordenada para declaração de variáveis, de
expressões e de comandos. Inicio

Void, define o valor retornado pelo método. Neste Total = x + y


caso, nenhum.

33 de 52
Retorne total 5. Crie uma aplicação com o nome "appEstoque",
clicando com o botão direito em “default package” e,
FimFuncao
em seguida, escolha New, Java Main Class;

Exemplo: 6. Clique na aba "Estoque.java" e digite o código


conforme o indicado.
package testemetodo;

public class TesteMetodo {

static int soma(int y, int x){

int total = x+y;

return total;

//System.out.println("Total da soma:"+total); 7. Clique na aba "appEstoque" e digite o código


conforme o indicado e, em seguida, execute e faça o
}
teste.
public static void main(String[] args) {

// TODO code application logic here

int sm = soma(10,30);

System.out.println("O total de:"+sm);

10.2. Exercicios Passo a Passo


10.3. Exercicios de Fixação
1. Este exercício tem como objetivo criar um
projeto chamado “exercicio10”. Criaremos uma classe
1. Este exercício tem como objetivo criar um
chamada Estoque, e os seguintes atributos: produto,
projeto chamado “Fixacao10”.
quantidade, addProd (adicionar produto), delProd
(remover produto) e totalProd (total produto). Criaremos uma classe chamada “Folha”, com os
Criaremos um método para calcular o total de seguintes atributos: nome, salBruto (Salário bruto),
produtos. Acesse o disco local; Comissão, salLiquido (Salário líquido), descRef
(desconto refeição), descTransp (desconto transporte)
2. Abra a pasta "netbeans" e acesse a pasta "bin"
do tipo double.
para executar o programa "netbeans64";
Já o vRef(valor de desconto vale refeição), e o
3. Crie um novo projeto chamado “Exercicio10”.
vTransp (valor de desconto vale transporte) vai ser do
Caso necessário, desmarque a opção “Create Main
tipo Inteiro. No aplicativo, "appFolha" iremos
Class”.
preencher os dados e calcular o desconto do vale
4. Crie uma classe chamada "Estoque", clicando refeição, sobre o salário bruto, o desconto do vale
com o botão direito em “default package”e, em transporte, sobre o salário bruto e deverá ser
seguida, escolha New, Java Class; calculado o salário líquido.

34 de 52
Aula
JAVA Básico
Orientação a objetos: Métodos II
11

11. ORIENTAÇÃO A OBJETOS: MÉTODOS II

ntes de falarmos sobre método estático, Para acessar um método "static" de outra classe
A vamos relembrar um pouco o conceito de
classes.
basta utilizar o nome da classe.metodo.

Exemplo = NomeDaClasse.Metodo
Classes são sequência a serem seguidas,
contém instruções de todas as ações que eles O “não-static” precisa primeiramente criar uma
poderão executar, e os atributos que o objeto instância da classe para só então chamar algum
possuirá. método também não-static.

Exemplo = NomeDaClasse ndc =new


Desta forma, toda vez que instanciamos uma
NomeDaClasse()…
classe, geramos um novo objeto.
… ndc.Metodo.
A partir deste momento podemos utilizar os
atributos através de métodos.
11.1. Variáveis constantes

Exemplo: Uma constante é declarada quando precisamos


lidar com dados que não devem ser alterados durante
public class Funcionario { a execução do programa. Para isso, utilizamos a
palavra reservada final para que a variável seja
public String nome;
inicializada uma única vez.
public float salario;
Exemplos de declaração de constantes:
}
Final float VT = 35;
Através desta classe, podemos criar várias
Final float VR = 20;
instancias, a cada nova instancia, um novo objeto é
gerado. O VT é a abreviação para “Vale transporte” e VR,
a abreviação para “Vale refeição”.
Exemplo:
Observe a instrução final a frente da declaração.
Funcionario objSetor1 = new Funcionario();
Esta é a responsável por declarar que um
objSetor1.nome = "Paulo"; determinado membro não poderá ter o seu valor
alterado.
Funcionario objSetor2 = new Funcionario();
Em Java, existe uma peculiaridade quando
objSetor2.nome = "Marcia"; trabalhamos com constantes. Nós podemos declarar
uma constante sem inicializá-la. A partir do momento
Os métodos estáticos acessam apenas variáveis
que um valor for atribuído, este não mais poderá ser
e métodos do mesmo tipo.
alterado. Assim, temos a liberdade de definir o valor

35 de 52
da constante de maneira dinâmica, o que facilita a 6. Clique na aba "Cobranca.java" e digite o
programação, porém, pode ocasionar problemas. código conforme o indicado.

Os nomes das constantes sempre devem estar


em letra maiúscula, assim, conseguimos distinguir
facilmente entre uma variável e uma constante. O
Java não nos obriga a definir o nome das constantes
com letra maiúscula, porém, essa é uma convenção
da comunidade e devemos segui-la.
7. Clique na aba "appCobranca" e digite o código
conforme o indicado e, em seguida, execute e faça o
11.2. Exercicios Passo a Passo teste;

1. Este exercício tem como objetivo criar um


projeto chamado “Exercicio11”. Criaremos uma classe
chamada Cobrança, e os seguintes atributos: nome,
parcela1 e parcela2. Utilizaremos um método estático
para somar as parcelas. Acesse o disco local;

2. Abra a pasta "netbeans" e acesse a pasta "bin"


para executar o programa "netbeans64";
11.3. Exercicios de Fixação
3. Crie um novo projeto chamado “Exercicio11”.
Caso necessário, desmarque a opção “Create Main 1. Este exercício tem como objetivo criar um
Class”; projeto chamado “Fixacao11”.

4. Crie a classe "Cobranca", clicando com o Crie um programa para calcular o total à pagar,
botão direito em “default package” e, em seguida, por um determinado produto, e crie os seguintes
escolha New, Java Class; atributos: produto e preço, uma variável constante
chamada "acréscimo", com valor de 10%. Duas
5. Criando a aplicação com o nome fórmulas devem ser criadas, uma para calcular o valor
"appCobranca". Clique com o botão direito em do acréscimo, e outra para calcular o total à pagar. É
“default package” e, em seguida, escolha New, Java necessário criar a classe Cobranca, e uma classe
Main Class; para rodar a aplicação com o nome appCobranca.

36 de 52
Aula
JAVA Básico
Encapsulamento 12
12. ENCAPSULAMENTO

ncapsulamento, é a técnica utilizada para GET


E esconder uma ideia, ou seja, não expor
detalhes internos para o usuário, tornando
É utilizado para recuperar alguma informação,
geralmente utilizado para trazer informação de algum
partes do sistema mais independentes possível. Por
atributo, sem ter que utilizar o atributo explicitamente.
exemplo, quando um celular estraga levamos para o
conserto, aqui podemos ver o encapsulamento, pois Os getters e setters são sempre usados quando
quando o usuário faz uma ligação, por exemplo, não queremos encapsular uma classe, ou seja, os
sabemos que programação acontece entre o botão de atributos (private) dessa classe só poderão ser
ligar e a parte interna para efetuar tal ação. acessados por outras classes através desses
métodos. Isso serve para controlar o acesso aos
Como um exemplo mais técnico podemos
atributos da classe e é uma boa prática.
descrever o que acontece em um sistema de vendas,
aonde temos cadastros de funcionários, usuários,
Sintaxe:
gerentes, clientes, produtos entre outros. Se por
acaso acontecer um problema na parte do usuário é public get( )
somente nesse setor que será realizada a
{
manutenção não afetando os demais.
12.1. Private return ;

O modificador de acesso private é o mais }


restritivo modificador de acesso. Todo membro de
uma classe definido com o modificador private só é SET
acessível para a própria classe. Não importa a
É utilizado para setar um valor dentro de um
localização dentro de pacotes ou se a classe foi
objeto, de uma variável.
herdada ou não, um membro private só é acessível
dentro da mesma classe em que ele foi declarado. Sintaxe:

Vamos então mostrar um exemplo que pega o public void set(tipoVariavel )


nome de um cliente.
{
public class Clientes {
this. = ;
private String nome;
}
}
Por exemplo, a nossa classe Clientes, possui o
Para acessar o atributo nome, já que é do tipo atributo nome, no caso da gente desejar dar acesso a
private, a prática é criar dois métodos, um que leitura e escrita a todos os atributos:
retorna o valor e outro que muda o valor.
public class Clientes {
A convenção para esses métodos é de colocar a
palavra get ou set antes do nome do atributo. private String nome;

37 de 52
private int idade; O encapsulamento permite definir os níveis de
visibilidade dos elementos da classe. Estes níveis de
public String getNome(){
visibilidade definem os direitos de acesso aos dados
conforme acessamos um método da própria classe,
return this.nome;
de uma classe herdada, ou de uma classe qualquer.
} Existem três níveis de visibilidade: pública onde as
funções de todas as classes podem acessar os dados
public void setNome(String nome){
ou os métodos de uma classe definida com o nível
público de visibilidade, tratando-se do nível de
this.nome = nome;
proteção de dados mais baixo de proteção; protegida
} onde o acesso aos dados está reservado às funções
das classes herdadas, ou seja, às funções membros
}
da classe, bem como às classes derivadas; privada
com o acesso aos dados é limitado aos métodos da
public static void main(String[] args) {
própria classe, trata-se do nível de proteção dos
// TODO code application logic here dados mais elevado.

Clientes objC = new Clientes(); De fato, se pensarmos em termos de informática,


é possível para um usuário comum usar uma
objC.setNome("João Paulo"); impressora sem nem mesmo entender seu
funcionamento interno. Imagine o desastre que seria
se todos os usuários resolvessem abrir suas
System.out.println("Nome:"+objC.getNome());
impressoras para investigar o que há dentro delas.
}
Da mesma forma, ao construir uma classe,
Utilizamos o nosso objeto e através do método devemos fazê-lo de forma que o usuário desta classe
“set” adicionamos o nome João Paulo. O método tenha acesso apenas aos métodos que permitem ler
“get”, foi usado para exibir o valor definido em set. informações da classe ou fornecer os dados
necessários para sua correta operação. O
Observação:
funcionamento interno da classe deve permanecer
THIS oculto e acessível somente aos métodos da própria
classe.
A função da palavra chave this é informar que a
O encapsulamento deve ser aplicado de forma a
variável em questão é local. Um bom exemplo seria
permitir que alterações na estrutura interna de uma
ter duas variáveis com nomes iguais, como pode ser
classe não prejudique o funcionamento do código
visto acima.
externo que a usa.
CONCLUSÃO

O utilizador de uma classe não tem 12.2. Exercicios Passo a Passo


necessariamente de saber como estão estruturados
os dados no objeto, isto significa que um utilizador 1. Este exercício tem como objetivo criar um
não tem de conhecer a aplicação. projeto chamado “Exercicio12”. Criaremos um
programa com os dados de um colaborador, segue os
Assim, proibindo o usuário de alterar diretamente seguintes atributos: nome, cargo e salário. Abra o
os atributos, e obrigando-o a utilizar as funções disco local;
definidas para alterá-los (chamadas interfaces),
podemos garantir a integridade dos dados (por 2. Abra a pasta "netbeans" e acesse a pasta "bin"
exemplo garantir que o tipo dos dados fornecido está para executar o programa "netbeans64";
conforme ao desejado, ou ainda que os dados se
3. Crie um novo projeto chamado “Exercicio12”.
encontram no intervalo esperado).
Caso necessário desmarque a opção “Create Main

38 de 52
Class”. Crie uma classe chamada "Funcionario", 6. Clique na aba "appFuncionario.java" e digite o
clicando com o botão direito em “default package” e, código conforme o indicado.
em seguida, escolha New, Java Class;

4. Crie uma aplicação chamada


"appFuncionario", clicando com o botão direito em
“default package” e, em seguida, escolha New, Java
Main Class;

5. Clique na aba "Funcionario.java" e digite o


código conforme o indicado.

12.3. Exercicios de Fixação

1. Este exercício tem como objetivo criar um


projeto chamado “Fixacao12”.

Criaremos os seguintes atributos: "nome" e


"curso", que deve ser do tipo String, o
"numeroTurma", que deve ser do tipo Int, "parcela" e
"media", que deve ser do tipo double. Definir o valor
de cada atributo, com o método "Set", e exibir o valor
com o método "Get". É necessário criar uma classe
chamada Aluno e uma do tipo aplicativo o nome
appAluno.

39 de 52
Aula
JAVA Básico
OOP: Vetor, Laço e Lista 13
13. OOP: VETOR, LAÇO E LISTA

matriz no Java, fornece uma estrutura de Vetor = new int[6];


A dados, de tamanho fixo de elementos do
mesmo tipo.
Definimos o tamanho, e utilizamos o operador
new, uma palavra reservada para definir o espaço.
Internamente um vetor armazena diversos
As duas declarações podem ser combinadas da
valores, cada um associado a um número que se
seguinte forma:
refere à posição de armazenamento, conhecimento
como índice.
Int vetor[] = new int[6];
Os vetores são estruturas indexadas, cada valor
Declarando um vetor para armazenar 6 números
pode ser armazenado em uma determinada posição
inteiros:
(índice) é chamado de elemento do vetor.
Int num = new int[6];
O número de posições de um vetor corresponde
ao tamanho que ele tem. Declarando um vetor do tipo real.

Se um vetor possuir tamanho 8, tem esse Double preco = new double[6];


número de elementos, isto é, pode armazenar até oito
Declarando um vetor para armazenar 5 produtos.
elementos distintos.

Cada posição de um vetor é unicamente String produtos = new String[5];


identificada por um valor inteiro.
Inicialização de vetores ao declarar.

As posições de um vetor iniciam a numeração a String nome[] = {“Ana”, “Carina”, “Marcos”};


partir do valor 0, portanto, um vetor de tamanho 8
teria índices iniciados em 0 prosseguindo até o 7. Isso significa que nome[0] terá o valor Ana,
13.1. Vetor nome[1] terá o valor Carina e o nome[2] terá o valor
Marcos.
Declaração de variáveis do tipo vetor.
Estruturas de repetição
Quando declaramos um vetor, devemos fornecer
três informações: As estruturas de repetição também são
conhecidas como laços (loops) e são utilizados para
1)Nome do vetor executar, repetidamente, uma instrução ou bloco de
instrução enquanto determinada condição estiver
2)Número de posições do vetor
sendo satisfeita.
3)Tipo de dados
Laço FOR.
Declaração do vetor do tipo inteiro
for(cond inicial; teste condicional ; apos
Int vetor[]; iteraçao){

Para definir o tamanho do vetor. //código

40 de 52
} Muito simples, o inteiro 'count' vai receber, a cada
iteração, todos os valores de 'seuArray'.
Condição inicial. Geralmente se inicia o contador.
Esse primeiro estágio SEMPRE acontece. Ou seja, ele vai percorrer todo o seu Array e
receber seus valores, na ordem (do começo para o
O segundo estágio é o teste da condição do laço, fim), um por vez. E com esses valores você vai fazer
um simples teste condicional. Caso seja verdade, o o que desejar.
código é executado.
String alunos[] = new String[6];
Ao término de execução do código, ocorre o fator
de mudança, que geralmente é um incremento ou alunos[0] = "Ana";
decremento, sempre após cada iteração do looping,
alunos[1] = "Carlos";
Depois a condição é testada novamente. Caso
retorne 'true', o código é executado. alunos[2] = "Camila";

alunos[3] = "Pedro";
Ao término de execução do código, sempre
ocorre o fator de mudança...e assim sucessivamente. alunos[4] = "Jonas";

O nosso exemplo é simples, vai listar números de


alunos[5] = "Bruna";
0 até 6, apenas para mostrar como funciona o for.
for(String lista: alunos){
Veja:
System.out.println("Aluno(a):" + lista);
for(int i = 0; i<=6; i++){
}
System.out.println("Lista: "+i);
O nosso exemplo, cria um vetor de 6 posições,
}
com nomes de alunos, em seguida, através de um for,
listamos.
13.2. Laço For each.
13.3. ArrayList
A utilização é bem simples, o for percorre
sempre, do começo ao fim, todos os elementos de um
É uma classe para coleções. uma coleção é uma
Array.
estrutura de dados, na realidade um objeto, que pode
armazenar ou agrupar referências a outros objetos
A sintaxe do for each é a seguinte:
(um contêiner). As classes e interfaces da estrutura
for (tipo variavel_do_tipo_do_seuArray: seuArray) de coleções são membros do pacote java.util.
{
A sintaxe básica de um ArrayList é:
//seu código
ArrayList nomedoArrayList = new ArrayList();
}
Para adicionar dados ao ArrayList, veja o nosso
Se o 'seuArray' for de inteiro, ficaria: exemplo:

for (int count : seuArray){ ArrayList<String> dados = new


ArrayList<String>();
...
dados.add("João");
}
dados.add("Lucas");
Como podemos interpretar esse laço foreach?
dados.add("Melissa");

41 de 52
dados.add("Guilherme"); desmarque a opção “Create Main Class”;

for(int i=0;i<dados.size();i++){ 4. Crie uma aplicação chamada "appTimes",


clicando com o botão direito em “default package” e,
System.out.println("Aluno(a):" + em seguida, escolha New, Java Main Class e, em
dados.get(i)); seguida, digite o código conforme o indicado.

Como dissemos, um ArrayList declarado herda


da classe ArrayList, a qual possui vários métodos. Um
deles é o método Add, que permite inserir dados no
ArrayList. Note que no ArrayList da figura 5 estamos
inserindo dados de vários tipos.

13.5. Exercicios de Fixação


13.4. Exercicios Passo a Passo
1. Este exercício tem como objetivo criar um
1. Este exercício tem como objetivo criar um
projeto chamado “Fixacao13”.
projeto chamado “Exercicio13”. Criaremos um
programa que leia cinco times de futebol e liste em Criaremos um ArrayList, listaremos o nome de
um vetor. Acesse o disco local; algumas bandas de pop rock. O nome do ArrayList vai
ser “Lista”, dentro do laço for, o nome vai ser “exibir”.
2. Abra a pasta "netbeans" e acesse a pasta "bin"
Nome das bandas: U2, Pearl Jam, Coldplay, Bon Jovi,
para executar o programa "netbeans64";
Nickelback. É necessário criar uma aplicação com o
3. Crie um novo projeto chamado “Exercicio13”, nome appBandas.
clicando no botão New Project. Caso necessário

42 de 52
Aula
JAVA Básico
Herança 14
14. HERANÇA

odemos definir herança como um princípio da return cpf;


P programação orientada a objetos, que permite
criar uma nova classe a partir de uma já
}

existente. public void setCpf(String cpf){

Também chamada de subclasses o nome


this.cpf = cpf;
herança, provém do fato de que a subclasse contém
atributos e métodos da classe da qual deriva. }

A vantagem é não ter que partir do zero para }


especializar uma classe existente. Uma subclasse
herda métodos e atributos de sua superclasse. O código acima mostra que a classe “Pessoa”
possui Nome e cpf, como atributos.
Para efetuar uma herança de uma classe é
Criando a classe Aluno.
utilizada a palavra reservada chamada extends.
package heranca01;
Para representar, utilizaremos um exemplo de
modelagem de uma academia, representando alunos,
public class Aluno extends Pessoa {
professores e funcionários. Certamente tem
características comuns entre eles. public int matricula;

Para não ter que digitar o mesmo código duas ou public String curso;
mais vezes, podemos criar uma só superclasse
chamada Pessoa. public void cancelarMatr(){

System.out.println("Matricula
package heranca01;
cancelada");
public class Pessoa {
}
public String nome;
public int getMatricula(){
public String cpf;
return matricula;
public String getNome(){
}
return nome;
public void setMatricula(int matricula){
}
this.matricula = matricula;
public void setNome(String nome){
}
this.nome = nome;
public String getCurso(){
}
return curso;
public String getCpf(){
43 de 52
} objAlu.setNome("Fabiana");

public void setCurso(String curso){


System.out.println("Nome:"+objAlu.getNome());
this.curso = curso;
objAlu.setCurso("Informática");
}
System.out.println("Curso
}
de:"+objAlu.getCurso());

A classe Aluno possui suas próprias objPro.setNome("Rodrigo");


características, mas também possui propriedades
comuns, nome e cpf, porque foi estendido da classe objPro.setEspecialidade("Inglês");
Pessoa.

Criando a classe Professor. System.out.println("Professor:"+objPro.getNome())

package heranca01;
System.out.println("Especialidade:"+objPro.getEsp
public class Professor extends Pessoa {
}
public String especialidade;
}
public String getEspecialidade(){
Na classe principal chamamos todos os atributos,
return especialidade; conseguimos assim trabalhar com todas as classes e
alimentar com informações, facilitando o nosso
}
trabalho.
public void setEspecialidade(String 14.1. Exercicios Passo a Passo
especialidade){
1. Este exercício tem como objetivo criar um
this.especialidade = especialidade; projeto chamado “Exercicio14”. Criaremos um
programa onde iremos definir uma classe chamada
}
“Professor”, com atributos os atributos nome e idade.
} Duas classes serão criadas, “ProfIntegral e
ProfHorista”, essas duas classes vão herdar os
Na classe Professor criamos o atributo atributos da classe “Professor”, porém o professor
especialidade, e também a classe recebeu atributos integral, recebe um salário fixo e o horista recebe um
da classe Pessoa, para reaproveitamento de código. salário por horas trabalhadas. Acesse o disco local;

Classe Principal. 2. Abra a pasta "netbeans" e acesse a pasta "bin"


para executar o programa "netbeans64";
package heranca01;
3. Crie um novo projeto chamado “Exercicio14”,
public class Heranca01 {
clicando no botão New Project. Caso necessário,
public static void main(String[] args) { desmarque a opção “Create Main Class”;

// TODO code application logic here 4. Crie uma classe chamada "Professor",
clicando com o botão direito em “default package” e,
Pessoa objPes = new Pessoa(); em seguida, escolha New, Java Class;

Aluno objAlu = new Aluno(); 5. Crie uma classe chamada "ProfIntegral",


clicando com o botão direito em “default package” e,
Professor objPro = new Professor();
em seguida, escolha New, Java Class;

44 de 52
6. Crie uma classe chamada "ProfHorista",
clicando com o botão direito em “default package” e,
em seguida, escolha New, Java Class;

7. Crie uma aplicação chamada "appProfessor",


clicando com o botão direito em “default package” e,
em seguida, escolha New, Java Main Class;

8. Clique na aba “Professor” e digite o código


conforme o indicado.
11. Clique na aba “appProfessor” e digite o
código conforme o indicado.

9. Clique na aba “ProfIntegral” e digite o código


conforme o indicado.

14.2. Exercicios de Fixação

1. Este exercício tem como objetivo criar um


projeto chamado “Fixacao14”.

Crie uma classe modelo chamada "Funcionário",


com os atributos: nome e salário. Já a classe
"Gerente", deve ter o atributo "senha" após ela deve
10. Clique na aba “ProfHorista” e digite o código herdar atributos da classe "Funcionário", a classe
conforme o indicado. "appEmpresa" vai listar os dados do gerente.

45 de 52
Aula
JAVA Básico
Sobreposição e Interface Gráfica I 15
15. SOBREPOSIÇÃO E INTERFACE GRÁFICA I

15.1. Override Essa biblioteca Swing é oficial, inclusa em


qualquer JRE e JDK.
override é uma sobreposição de métodos.
O Ou seja, o método da classe filha se
sobrepõe ao da classe pai, como é uma
A biblioteca Swing fornece muitos componentes
como: botões, entradas de texto, tabelas, janelas,
sobreposição o método da classe pai não deixa de abas, e muitos outros.
existir apenas está “embaixo”. Se você quiser chamar
O Swing faz parte do pacote javax.swing.
esse método da classe filho basta usar o super().
Para fazer uso da interface gráfica precisamos
Exemplo:
ativar o recurso, criado o projeto, usamos o botão
public class Pai { direito do mouse na pasta padrão, selecionando a
opção New, JFrame Form.
public int Soma(int valor){
Depois basta definir o nome do formulário.
return valor + 100;

public class Filho extends Pai {

@Override

public int Soma(int valor){

return valor + 200;

Área de Design:
}
A janela principal que permite criar e editar
Perceba que na class Pai o valor é um e na class
formulários.
Filha é outra, ou seja, como foi reescrito, você pode
ter comportamentos diferentes nas classes.
Na parte superior da tela vai aparecer os botões
Source e Design.
15.2. Interface gráfica
Source:

O Java fornece suporte para bibliotecas gráficas, Exibe todo o código, que automaticamente o
onde estaremos utilizando a Swing. Java se encarrega de criar, a partir dos componentes
que são inseridos na tela, tem componentes padrão, e
As bibliotecas gráficas são bem simples no que
outros que vamos inserindo conforme necessidade.
diz respeito ao uso.

46 de 52
Renomear componentes:

Para realizar o processo de alteração do nome,


basta apenas clicar com o botão direito sobre cada
um deles, e clicar na opção Edit Text.

Design:

Tudo que é feito no código, aparece de forma


visual neste modo de exibição, facilitando o nosso Guia Properties
entendimento, é nesse modo que vamos ver os
botões, caixas de texto, entre outros componentes. Permite alterar as propriedades do componente
Além de visualizar, podemos inserir, mover e apagar inserido na tela. Propriedade como, cor, fonte, texto
os componentes. entre outros.

Paleta Guia Events

Exibe uma lista de componentes disponíveis Aqui existe alguns eventos de acordo com a
contendo guias. necessidade, como exemplo, temos um evento que
reage quando o usuário clicar no componente, entre
Janela Propriedades outros.

Exibe as propriedades do componente Cada componente no Java vira um objeto, possui


atualmente selecionado no navegador, janela e um nome padrão, para alterar basta clicar com o
projetos. botão direito do mouse e selecionar a opção Change
Variable Name (Alterar o nome da variável).
Veja alguns componentes:
Para nomear os objetos normalmente usamos
Exibe texto não editável.
uma convenção, mas fica a critério do programador.
Insere dados do teclado e serve também para
Para os objetos do tipo Label nomeamos como
exibição do texto editável ou não editável.
lb_ seguido de um nome.
Libera um evento quando o usuário clicar nele
lb_digiteUmNome
com o mouse.
Exemplo:
Veja os três componentes no design.
Nome, Cidade e Telefone

lb_nome, lb_cidade e lb_telefone

Para os objetos do tipo TextField nomeamos


como tf_ seguido de um nome.

Exemplo:

Nome, Cidade e Telefone.

Tf_nome, tf_cidade e tf_telefone.

Para os componentes do tipo Button nomeamos


como bt_ seguido de um nome.
47 de 52
Exemplo:

Fechar e Gravar

Bt_fechar e bt_gravar.

Events (Eventos):

ActionPerformed – este evento dispara uma ação


ao clicar.

O getText() tem como finalidade buscar o valor 9. Clique na aba “Pearl” e digite o código
digitado no objeto TextField. conforme o indicado.

15.3. Exercicios Passo a Passo

1. Este exercício tem como objetivo criar um


projeto chamado “exercicio15”. Criaremos uma classe
chamada “Bateria” e dois métodos: afinação e
montagem. Para aproveitamento usaremos a
sobrescrita nas classes Pearl e RMV. Na classe
principal “appBateria” vamos exibir os métodos das
duas classes. Acesse o disco local:

2. Abra a pasta "netbeans" e acesse a pasta "bin"


para executar o programa "netbeans64"; 10. Clique na aba “Rmv” e digite o código
conforme o indicado.
3. Crie um projeto chamado "Exercicio15";

4. Crie uma classe chamada "Bateria", clicando


com o botão direito em “default package” e, em
seguida, escolha New, Java Class;

5. Crie uma classe chamada "Pearl", clicando


com o botão direito em “default package” e, em
seguida, escolha New, Java Class;

6. Crie uma classe chamada "Rmv", clicando com


o botão direito em “default package” e, em seguida,
escolha New, Java Class;
11. Clique na aba “appBateria” e digite o código
7. Crie uma aplicação chamada "appBateria",
conforme o indicado. Após execute o código para
clicando com o botão direito em “default package” e,
testar.
em seguida, escolha New, Java Main Class;

8. Clique na aba “Bateria” e digite o código


conforme o indicado.

48 de 52
formulário de cadastro de clientes, com os seguintes
componentes: Código, Nome, Endereço, Cidade, E-
mail e Telefone. conforme o indicado.

15.4. Exercicios de Fixação

1. Este exercício tem como objetivo criar um


projeto chamado “Fixacao15”. Criaremos um

49 de 52
Aula
JAVA Básico
Interface Gráfica II 16
16. INTERFACE GRÁFICA II

showMessageDialog() exibe uma caixa de //para centralizar no meio da tela.


O diálogo
simples.
com uma mensagem de texto
Mais componentes:

JOptionPane.showMessageDialog (quadro, "Um


diálogo básico da mensagem do JOptionPane");

Nesse exemplo, meu primeiro argumento para o


showMessageDialog método JOptionPane é um Este componente representa uma caixa de
frame objeto que, presumivelmente, é uma instância seleção e permite selecionar uma ou mais opções.
de a JFrame. Quando um checkbox for selecionado ele retorna um
valor verdadeiro, caso contrário, retorna um valor
Se, por algum motivo, você não tiver uma falso.
referência JFrameou JWindowinstância, poderá criar
esse campo nulo ainda exibir a JOptionPane caixa de
diálogo idêntica.

Tipo de mensagem
Este componente permite selecionar uma entre
Define o estilo da mensagem. O gerenciador de diversas opções.
aparência pode exibir a caixa de diálogo de maneira
O componente possui o método isSelected(), que
diferente, dependendo desse valor, e geralmente
verificar se o componente está selecionado.
fornece um ícone padrão. Os valores possíveis são:
Exemplo de formulário contendo os componentes
· ERROR_MESSAGE
Checkbox e RadioButton.
· INFORMATION_MESSAGE

· WARNING_MESSAGE

· QUESTION_MESSAGE

· PLAIN_MESSAGE

setLocationRelativeTo()

Esta função define o local da janela, em relação


No exemplo acima, o botão de Rádio vai permitir
ao componente que foi especificado.Caso o
que apenas umas das opções seja selecionada.
componente não estiver sendo exibido no momento
Podemos ainda agrupar com um ButtonGroup, para
ou for nulo, a janela será centralizada.
que haja melhor integridade dos dados.Já no exemplo
Sintaxe: das contas bancárias, o componente CheckBox
permite marcar ou desmarcar várias opções de uma
Objeto.setLocationRelativeTo( null ); vez.
16.1. Exercicios Passo a Passo
50 de 52
1. Este exercício tem como objetivo criar um 16.2. Exercicios de Fixação
projeto chamado “Exercicio16”. Criaremos um
formulário de acesso, com login e senha. Será exibido 1. Este exercício tem como objetivo criar um
em uma caixa de diálogo os dados. Acesse o disco projeto chamado “Fixacao16”. Criaremos um
local. formulário de cadastro de clientes, conforme o
indicado.
2. Abra a pasta "netbeans" e acesse a pasta "bin"
para executar o programa "netbeans64";

3. Crie um novo projeto chamado “Exercicio16”,


caso necessário desmarque a opção “Create Main
Class”.

4. Crie um formulário chamada "AcessoRestrito",


clicando com o botão direito em “default package” e,
em seguida, escolha New, JFrame Form.

5. Arraste da categoria "Swing Controls" os


componentes "Label e Text Field". O componente
"Button" será usado para realizar um evento, ao clicar,
vai exibir uma caixa de diálogo com os dados
preenchidos;

6. Veja o código do botão Salvar.


JOptionPane.showConfirmDialog(rootPane, "Seu
Login: "+tf_login.getText()+" Senha:
"+tf_senha.getText());

51 de 52

Você também pode gostar