Вы находитесь на странице: 1из 30

1:

CENTRO DE CINCIAS EXATAS E TECNOLGICAS


ANLISE E DESENVOLVIMENTO DE SISTEMAS

PROGRAMAO ORIENTADO A OBJETOS


UTILIZANDO JAVA

Londrina
2011

2:
1. ndice
1.

ndice ........................................................................................................... 1

2. Introduo ...................................................................................................... 3
2.1. Nomenclaturas ................................................................................................... 4
2.2. Verses do Java................................................................................................. 4
2.3. O Que Devo Baixar ............................................................................................ 5

3. Um Breve Histrico ........................................................................................ 5


3.1. Princpios Bsicos e Principais Caractersticas da Linguagem ........................... 7
3.1.1 Portabilidade ................................................................................................. 7
3.1.2. Orientado a Objetos ..................................................................................... 8
3.1.3. Multitarefa .................................................................................................... 8
3.1.4. Semelhana com C e C++ ........................................................................... 9
3.1.5. Segurana ................................................................................................... 9

4. Viso Geral da Linguagem de Programao Java ....................................... 12


4.1. Criando uma classe em Java. .......................................................................... 12
4.2. Tipos Primitivos em Java. ................................................................................. 12
4.3. Declarao de variveis. .................................................................................. 14

5.0. Classes do pacote Java. ........................................................................... 16


5.1. Classe String .................................................................................................... 17
5.1.1. Principais mtodos da classe String........................................................... 17

6.0. Operadores ............................................................................................... 21


6.1. Operadores Aritmticos ................................................................................... 21
6.2. Operadores Relacionais ................................................................................... 22
6.3. Operadores Lgicos ......................................................................................... 22

7.0. Comandos de Controle de Programas ...................................................... 23


7.1. Controle de seleo ......................................................................................... 23
7.2. Controle de mltipla escolha. ........................................................................... 24
7.3. Controle de repetio ....................................................................................... 25

8.0. Exerccios: ................................................................................................. 29

3:
2. Introduo
Ol pessoal, nesta apostila vou passar para vocs alguns conceitos da
linguagem de programao Java, e alguns comandos e Classes que
utilizaremos no decorrer deste curso.
Muitos associam Java, como a WEB ou com jogos para Celulares, ou
ainda como uma maneira de deixar as paginas da WEB mais bonitas e com
efeitos especiais. Na verdade, isso s uma pequena parte do que a
linguagem Java pode nos proporcionar. Podemos citar diversas qualidades da
linguagem Java, mais selecionei apenas algumas delas:
Orientado a Objetos;
Reaproveitamento de cdigos;
No tem Ponteiros;
Gerenciamento de Memria;
Grande quantidade de comunidades, bibliotecas, frameworks e
APIs.
Baixo custo de tecnologia.
Multi-Plataforma.

Desta forma, Java uma linguagem computacional completa, de alto


nvel de programao, orientada a objeto, projetada para ser portvel entre
diferentes plataformas e sistemas operacionais, possibilitando que o mesmo
programa escrito nesta linguagem seja executado em computadores com
sistemas operacionais diferenciados ou at mesmo em celular, pager, carto
de credito, smart card, etc. Bastando apenas que o equipamento em questo
suporte uma Mquina Virtual Java (Java Virtua Machine - JVM). (CHAN,
GRIFFITH, IASI, 1999)

4:
2.1. Nomenclaturas
Antes de darmos continuidade preciso esclarecer alguns detalhes e
nomenclaturas sobre a linguagem Java que utilizaremos no decorrer desta
apostila.
JVM A maquina virtual do Java (Java Virtual Machine), o
responsvel por executar o seu bytecode em um determinado sistema
operacional/hardware.
JRE Ambiente de execuo do Java (Java Runtime Environment).
Este pacote formado pela JVM e as bibliotecas, ou seja, tudo o que
voc precisa para executar uma aplicao Java.
JDK Kit de desenvolvimento de Java (Java Development Kit). Este kit
j vem com a JVM, JRE, Bibliotecas, APIs e compilador do Java.
JSE (Java Standard Edition) Contm as APIs padro do Java.
(Desktop e servidores)
JEE (Java Enterprise Edition) Contm as APIs mais avanadas para
a programao Java. (Web, segurana, etc).
JME (Java Micro Edition) Contm as APIs referentes a dispositivos
mveis (celulares, pdas, smartfones, etc)
Biblioteca Conjunto de classes com um objetivo em comum.
API Conjunto de bibliotecas com um objetivo em comum.
Framework Estrutura de programao que ajuda o programador a
desenvolver uma determinada aplicao.
IDE (Integrated Development Environment) Ambiente integrado de
desenvolvimento que auxilia o programador (Netbeans, Eclipse,
JDeveloper, JBuilder, etc).
Bytecode Cdigo em java compilado pelo compilador, que ser
interpretado pela JVM
Applets So programas executados por um navegador de paginas da
internet (Browser).

2.2. Verses do Java


Java 1.0 e 1.1 so as verses muito antigas do Java.
Com o Java 1.2 houve um aumento grande no tamanho da API, e foi
nesse momento em que trocaram a nomenclatura de Java para Java2. Mas
lembre-se, apesar de todos adotarem esta nomenclatura, oficialmente ainda
no existe a verso do Java 2.0, o 2 foi incorporado ao nome: Java2 1.2.

5:
Depois vieram o Java 1.3 e 1.4, e o Java 1.5 passou a se chamar Java
5, tanto por uma questo de marketing e porque mudanas significativas na
linguagem foram includas. nesse momento que o 2 do nome Java
desaparece. Agora se acostuma a colocar o nome referente ao numero que
aparece aps o Java 1.X, desta forma o Java 6 a verso 1.6 do Java.
Atualmente o Java se encontra na verso 1.8u11, ou seja, houve at o
momento 11 atualizaes na verso 1.8.
A verso 1.6 e 1.7 do Java ainda continua tendo atualizaes. At o
presente momento est na verso 1.6u45 e 1.7u62

2.3. O Que Devo Baixar


Java SE ultima verso http://oracle.com/ [Downloads][Java for
Developers]
Netbean IDE (atualmente na verso 8.0 http://netbeans.org

3. Um Breve Histrico
Segundo a Sun Microsystem, os estudos e pesquisas sobre a linguagem
Java tiveram inicio em 1991, por um pequeno grupo de engenheiros da prpria
Sun denominado Green Project, que pretendia criar uma nova gerao de
computadores portteis inteligentes, capazes de se comunicar de muitas
formas, ampliando suas potencialidades de uso. Decidiram tambm criar uma
nova plataforma para o desenvolvimento destes equipamentos, de forma que
seu software pudesse ser portado para os mais diferentes tipos de
equipamentos. Para tal desenvolvimento, inicialmente escolheram a linguagem
C++, aproveitando suas caractersticas, e a experincia dos integrantes do
grupo no desenvolvimento desta linguagem. Porm, nem mesmo o C++
permitia realizar com facilidade tudo aquilo que o grupo desejava. Diante
destas dificuldades tecnolgicas e a falta de uma linguagem que pudesse

6:
suprir as necessidades do projeto, o Coordenador James Gosling, decidiu
ento pela criao de uma nova linguagem de programao que pudesse
conter tudo aquilo que era considerado importante e que ainda assim fosse
simples, porttil e fcil de programar. Surgiu assim a linguagem interpretada
chamada Oak (carvalho em ingls) que ganhou este nome devido ao fato de
existir uma arvore destas em frente ao escritrio de Gosling.
Aps alguns anos de trabalho no desenvolvimento e aperfeioamento
desta linguagem, surge a primeira grande oportunidade de aplicao. O
desenvolvimento de uma tecnologia para TV a cabo interativa, porm como se
tratava de uma licitao pblica a Sun Microsystems acabou sendo vencida
pela SGI (Silicon Graphics Inc.) fazendo com que a Oak ficasse sem uso
definido at 1994.
Por problemas de copyright, o Oak, teve que ser rebatizado, recebendo
desta forma o nome de Java, e aps 1994, quando estimulados pelo grande
crescimento da Internet, Jonathan Payne e Patrick Naughton desenvolveram o
programa navegador WebRunner (apresentado formalmente pela Sun
Microsystems como HotJava), capaz de efetuar o download e a execuo de
cdigo Java via Internet.
No dia 23 de maio de 1995, a Sun Microsystems apresenta formalmente
o Java para o mundo, poucos meses depois a Netscape Corp. lana uma nova
verso de seu navegador tambm capaz de efetuar o download e a execuo
de pequenas aplicaes Java ento chamadas de applets.
Em uma iniciativa tambm indita a Sun Microsystems decide
disponibilizar o Java gratuitamente para a comunidade de desenvolvimento de
software, embora detenha todos os direitos relativos linguagem e as
ferramentas de sua autoria. Surge assim o Java Developers Kit 1.0 (JDK 1.0).
As plataformas inicialmente atendidas foram: Sun Solaris e Microsoft Windows
95/NT. Progressivamente foram disponibilizados kits para outras plataformas
tais como Linux, Apple Macintosh, Novel, AIX, HPUX, e outros. (JANDL, 2002).

7:
3.1. Princpios Bsicos e Principais Caractersticas da Linguagem

A linguagem Java possui importantes caractersticas que diferenciam


das demais linguagens de programao existente hoje no mercado. Entre as
principais caractersticas que tornaram essa linguagem to eficiente, destacase a portabilidade, orientao a objetos, Multitarefa (multithreading), segurana
e familiaridade com as linguagens C e C++.

3.1.1 Portabilidade
A independncia de plataforma uma das principais vantagens do Java
em relaes a outras linguagens de programao, principalmente quando se
deseja que um programa seja executado em vrios tipos de plataformas
diferentes.
Quando se escreve um programa em uma linguagem como o C, C++,
Pascal, Visual Basic, C#, etc, os compiladores ou interpretadores destas
linguagens geram um programa executvel de baixo nvel, popularmente
conhecido como linguagem de mquina. Entretanto, este programa executvel
que foi gerado em um sistema operacional especfico, e em uma plataforma de
processador especfico, s poder ser executado em computadores com as
mesmas caractersticas, sendo assim, se um programa for escrito em C++, e
gerado o seu executvel em um computador cujo o sistema operacional seja
Linux com arquitetura de Processador Intel ou compatvel, este programa s
poder ser executado em outro computador com sistema operacional Linux e
com a mesma arquitetura de processador. Caso haja a necessidade deste
programa ser executado em outro tipo de plataforma, necessrio obter um
compilador em C++ para a plataforma desejada e re-compilar o programa, e
em alguns casos realizar algumas alteraes no cdigo do programa fonte.

8:
A situao diferente quando se escreve um cdigo de programao
em Java. Programadores Java, em todo o mundo costuma dizer a seguinte
frase: Escreva uma vez, execute em qualquer lugar. (OAKS, 1999).
O ambiente de desenvolvimento do Java composto por duas partes,
um compilador e um interpretador. O compilador compila o cdigo de
programao em um programa intermedirio chamado de Java bytecode e
armazenado em um arquivo com extenso .class destinado a uma nica
plataforma, a Maquina Virtual Java que seria o interpretador do bytecode. A
JVM nada mais do que um computador dentro de outro (computador virtual
interno), possibilitado que um bytecode seja executado em qualquer
computador, bastando apenas que este computador tenha uma JVM instalada
(JANDL, 2002). Nos dias de hoje, j existe JVM para vrios tipos de
plataformas, inclusive celulares, pagers, televisores, etc.

3.1.2. Orientado a Objetos


Java uma linguagem de programao Orientada a Objetos, pois com
exceo dos seus tipos primitivos de dados, tudo em Java so classes ou
instncia de uma classe.(JANDL, 2002).
Uma

das

diferenas

bsica

entre

programao

estruturada

convencional e a programao orientada a objetos algo chamado


encapsulamento. O encapsulamento permite controlar o acesso aos atributos e
aos mtodos que agem dentro de um objeto, uma maneira de fazer com que
um objeto exponha apenas o que necessrio ser exposto, mantendo como
privado os dados (atributos) dentro de uma funo (mtodos).
3.1.3. Multitarefa
O Java oferece recursos para desenvolver programas capaz de executar
vrias tarefas compartilhando o tempo do processador. Cada um destes fluxos

9:
de execuo o que se denomina Thread, tornando um importante recurso de
programao para aplicativos mais sofisticados. (JANDL, 2002)

3.1.4. Semelhana com C e C++


O Java derivado da Linguagem C, podendo ser comparado com um
C++, porm mais simplificado. Esta semelhana no deve ser mera
coincidncia, pode ter sido escolhida propositalmente pela grande quantidades
de programadores em C/C++ existente no mercado, desta forma a linguagem
Java j nasceria com uma quantidade elevada de profissionais capacitados, ou
pelo menos semicapacitados para o desenvolvimento de softwares utilizando
esta linguagem.
Ao contrario do C/C++, o Java no possui ponteiros (endereo de
memria, onde o valor indica onde uma varivel est armazenada e no o
que esta armazenado), isso significa que no permite a manipulao direta de
endereos na memria, nem exige que os objetos criados sejam destrudos.
Alm disso, a JVM possui um mecanismo que gerencia automaticamente a
memria, recuperando a memria alocada para objetos no mais referenciados
pelo programa, liberando a RAM (Random Access Memory) para outros
processos. Este dispositivo conhecido pelo nome de Garbage Collector.
(JANDL, 2002).
Para aqueles programadores familiarizados com C/C++, observa que a
maior semelhana com o Java a sintaxe de programao, mais alm da
inexistncia de ponteiros como citado anteriormente, o Java apresenta outras
diferenas como, por exemplo: No possuir a instruo goto; Permite passar
parmetros do tipo Array e Objeto por referncia; etc. Porm estas diferenas
no sero detalhadas por no ser o foco desta apostila.

3.1.5. Segurana

10:
Nos dias atuais, pelo fato do Java estar fortemente associado Internet,
um dos aspectos mais divulgados da linguagem sua segurana. Segundo
Schneier (200, p.170), a linguagem Java a nica linguagem de programao
projetada especialmente para o cdigo mvel, e com a segurana em mente.
Por isso oferece vrias camadas de controle de segurana que protegem
contra cdigos maliciosos, permitindo que os usurios rodem tranqilamente
programas de origem desconhecida, como os applets. (KNUDSEN, 1998).
Outra camada de proteo para segurana comumente chamada de
modelo de caixa de areia (sandbox), onde, por exemplo, um aplicativo applet
Java de origem desconhecida pode se executado, porm mantido isolado
dentro desta caixa de areia, podendo ser executado com segurana evitando
danos ao ambiente que esta sendo executado.
Segundo Schneier (2001, p.170) a caixa de areia protegida por trs
mecanismos:
Verificador de cdigo de bytes: sempre que um browser faz um
download de um applet Java, o verificador de cdigo analisa o cdigo primeiro.
O verificador garante que o cdigo de bytes esteja formatado corretamente e
no possua qualquer um dos vrios problemas comuns.
Carregador de classe: esse componente determina como e quando um
applet pode ser includo no ambiente Java, certificando-se de que o applet no
substituir algo importante que j exista.
Gerenciador de segurana: como um monitor de referncia. Ele
consultado sempre que o applet Java tenta algo questionvel como abrir ou
gravar um arquivo ou abrir uma conexo na rede, por exemplo. Dependendo de
como o applet foi instalado, essas permisses sero aceitas ou negadas.
Para Oaks (1999, p. 02), o termo segurana tem suas restries no
uso, entretanto as diferentes expectativas podem encaminhar para os
seguintes itens quando se trata de programas escritos na linguagem Java:
Seguros contra programas maliciosos: Programas no devem ter
permisso para danificar o ambiente computacional de um usurio, incluindo

11:
cavalo de tria (trojans), bem com programas nocivos que podem duplicar-se
(vrus de computador).
No-intrusos: Deve-se evitar que os programas descubram informaes
privadas do computador host ou na rede de um computador host.
Autenticados: A identidade das partes envolvidas no programa deve ser
verificada.
Criptografados: Os dados que o programa envia e recebe devem ser
criptografados.
Examinados: As operaes potencialmente sensveis devem sempre ser
conectadas.
Bem-definidos: Uma especificao de segurana bem-definida deve ser
seguida.
Verificados: As regras de operao devem ser definidas e verificadas.
Bem-comportados: Deve-se evitar que os programas consumam muitos
recursos do sistema.

12:
4. Viso Geral da Linguagem de Programao Java
4.1. Criando uma classe em Java.
Para se criar uma classe publica em Java o nome desta classe deve ter
o mesmo nome do arquivo. Conforme o exemplo abaixo, a classe Pessoa
obrigatoriamente tem que estar no arquivo Pessoa.java.
public class Pessoa{
// atributos
// mtodos
}
Quando compilamos a classe Pessoa, se no ocorrer nenhum erro de
compilao, o compilador vai gerar um arquivo Pessoa.class. Este arquivo
Pessoa.class o nosso bytecode, e ser interpretado pela JVM(Java Virtual
Machine) Maquina virtual do Java. Outros compiladores de linguagem como o
C,

C++

poderia

gerar

um

executvel

Passoa.exe,

porm

com

um

inconveniente, s poderia ser executado em uma nica plataforma de sistema


operacional (Windows, Linux, Solares, etc...). Com o Java isso no ocorre, este
arquivo .class pode ser executado em qualquer plataforma que tenha a JVM,
tornado o Java multi-plataforma. Desta forma o seu sistema como um todo, ter
uma portabilidade muito maior, e com baixo custo.

4.2. Tipos Primitivos em Java.


Agora que voc j sabe como criar um arquivo e uma classe em Java,
vamos comea a aprender as definies da linguagem Java propriamente dita.
Na linguagem Java existe vrios tipos primitivos de dados, ou seja,
pertence linguagem e em qualquer plataforma eles vo existir, seja ela um
computador de ultima gerao, ou um simples celular com a JVM. Os tipos
primitivos em Java so:

13:
Nmeros Inteiros: Utilizado para armazenar um espao na memria destinada
a receber nmeros inteiros.

Tipo

Valor Mnimo

Valor Mximo

Bits

byte

-128

+127

short

-32.768

+32.767

16

int

-2.147.483.648

+2.147.483.647

32

long

-9.223.372.036.854.775.808

+9.223.372.036.854.775.807

64.

Nmeros reais: Utilizado para armazenar um espao na memria


destinada a receber nmeros reais, ou seja, com casas decimais. A maioria
absoluta das utilizaes com casas decimais utiliza-se o tipo primitivo float,
somente em casos extremos onde a preciso de dados muito grande que se
utiliza o tipo double.

Tipo

Dgitos de Preciso

Bits

float

7 dgitos depois da vrgula

32

double 15 dgitos depois da vrgula

64

Caracteres: Utilizado para armazenar um espao na memria destinada


a receber um nico caractere, devendo este estar representado entre aspas
simples ().

Tipo

Bits

char

16

Lgicos: Utilizado para armazenar um espao na memria destinada a


receber um valor lgico (verdadeiro ou falso). Pode receber apenas os valores
equivalentes em ingls (true ou false).

Tipo

Valores

Bits

14:
boolean

true ou false

4.3. Declarao de variveis.


Para declarar uma varivel, deve se respeitar algumas regras:

O nome da varivel no pode ser iniciado por nmeros;

O nome da varivel no pode ser repetido. Lembrando que Java


sensvel ao caso (sensitiveCase), ou seja, tem diferena entre maiscula
e minscula, portanto as varivel nome, NOME, noME so diferentes
para o compilador;

Com exceo do caractere (_) underline, todos os demais caracteres


especiais no so aceitos para o nome da varivel, por exemplo:
(*&%$#@, etc...), esta regra tambm inclui acentuao ( , etc...);

No se separa o nome da varivel por espao em branco.

No permitida a utilizao de palavras resenvadas do Java como


nome de varivel. Segue abaixo uma tabela de palavras reservadas.

abstract
throw
return
native
if
else
catch
void
synchronized
protected
goto
var

Palavras reservada em Java


continue
finally
interface
boolean
default
float
throws
break
do
short
byte
transient
new
static
true
implements
null
super
extends
import
package
char
false
instanceof
while
class
final
this
const
future
inner
operator
outer
volatile

public
long
for
double
case
try
switch
private
int
generic
Rest

A sintaxe para a declarao de uma varivel em Java a seguinte:


tipo nome = contedo. Onde:

Tipo: o tipo da varivel (int, float, etc...);

15:

Nome: o nome que esta varivel ter, boas praticas de programao


sugere que voc declare o nome da varivel com letras minsculas, e se
o nome for composto concatena com a primeira letra do segundo nome
em maisculo.Exemplo (alunoDeComputacao);

Contedo: o valor que esta varivel vai receber, pode ser atribudo no
instante da declarao da varivel, ou a qualquer momento aps a
declarao;

Abaixo est uma tabela da declarao de varivel dos tipos primitivos com e
sem atribuio dos valores no momento da declarao.

Declarao sem atribuio


byte numero
short numero
int numero
long numero
float numero
double numero
char letra
boolean ehAluno

Declarao com atribuio


byte numero = 0;
short numero = 5;
int numero = 334;
long numero = 432534;
float numero = 54.6767f;
double numero = 464.654645d
char letra = A
boolean ehAluno = true;

Para atribuir um valor a uma varivel aps a declarao, basta repetir o


nome da varivel e atribuir um valor correspondente. O caractere de atribuio
o sinal de igual (=). Observem o exemplo:
int numero;
numero = 345;
possvel tambm declarar varias variveis do mesmo tipo de uma
nica vez, utilizando para separar o nome das variveis o caractere vrgula (,),
possibilitando ainda a atribuio ou no dos valores no momento da
declarao, conforme no exemplo a seguir:
int num1, num2, num3, num3;
int num4 =0, num5, num6 = 10, num7 = 2;

16:
5.0. Classes do pacote Java.
Muito bem, agora que j sabe os tipos primitivos da linguagem Java,
est na hora de entrar em detalhes em algumas classes que utilizaremos com
muita freqncia durante o desenvolvimento de um sistema. claro que no
vai ter como passar todas as classes e todos os mtodos destas classes, pois
no este o intuito deste contedo web, sugiro para que quiser se aprofundar
mais no assunto ler o livro do DEITEL Java como programar, que eu passei
na bibliografia bsica no incio do semestre.
Antes de apresentar a primeira classe a ser mais detalhada, gostaria de relembrar a linha de comando de sada do Java, ou seja, que ir imprimir no
console. A seguir voc ver algumas maneiras de utilizao desta linha de
comando.
1. System.out.println("Imprime esta frase no console);
2. int numero = 135;
System.out.println("O nmero : +numero);
3. int idade = 30;
System.out.println("Voc tem +idade+ anos);

No primeiro exemplo ir imprimir no console tudo o que estiver entre


aspas dupla(), no segundo e terceiro exemplo eu utilizei o caractere (+) para
concatenar (juntar) o que est entre aspas dupla mais o valor das variveis
declaradas.
Bom, visto como lidar com a sada de informaes do Java, agora
vamos ver a primeira classe que eu vou apresentar a vocs. Por ser
amplamente utilizada na programao a primeira classe a ser melhor detalhada
ser a classe String.

17:
5.1. Classe String
Segundo Deitel, uma string uma seqncia de caracteres tratada como
uma unidade nica. Sua representao feita dentro de aspas dupla (), desta
forma tudo o que voc escrever dentro destas aspas duplas, considerado
uma string, inclusive nmeros e caracteres especiais.
Vocs puderam observar que o Java no tem um tipo de dados primitivo que
representa uma seqncia de caracteres, desta forma foi desenvolvida e
distribuda junto com o Kit de Desenvolvimento do Java (JDK) uma classe que
represente uma seqncia de caracteres, e por se tratar de uma classe, ela
possui diversos mtodos que auxiliam a sua utilizao.
Existem diversas formas de se instanciar a classe String, pois ela possui
diversos mtodos construtores, segue o exemplo de apenas 3 formas de
instanci-la:

String nome = new String();


String nome = new String(Paulo);
String nome = Paulo;

Todas as trs formas daro o mesmo resultado, ou seja, ir atribuir a


sequncia de caracteres Paulo para a varivel do tipo String nome.

5.1.1. Principais mtodos da classe String.

length();

Utilizado para contar quantos caracteres existe na string. Ao chamar este


mtodo ele retornar um valor do tipo int, contendo a quantidade de caracteres
desta string. No exemplo a seguir, a varivel (qtde) ter um valor inteiro igual a
cinco, pois a quantidade de caracteres da string cinco.
String nome = Paulo;
int qtde = nome.length();

18:
System.out.println("O tamanho da string : +qtde);

trim();

Utilizado para eliminar os espaos em branco do inicio e do final da string.


Ao chamar este mtodo ele retornar uma cpia da string em questo, porm
eliminar possveis espaos em branco no inicio e no final da string. Observem
que a varivel nome1 continuar com os espaos em branco no inicio e no
final, porm a varivel nome2 ter o mesmo contedo, mais sem os espaos
iniciais e finais. Os espaos do meio da string sero mantidos.
String nome1 = Professor Paulo ;
String nome2 = nome1.trim();
System.out.println("O valor de nome2 : +nome2);

equals(String outraString);

Por se tratar de uma classe, a no tem como voc comparar uma string
com outra, utilizando o operador de comparao (==). Para se comparar duas
strins, necessrio utilizar o mtodo equals(). Este mtodo retorna um valor
booleano, ou seja, se as duas string forem iguais ele retornar true, e se no
forem iguais ele retornar false. Observem no exemplo a seguir que a varivel
ehString receber o valor false, pois as duas strings no so iguais porque uma
tem alguns caracteres com letra maiscula que a outra no tem:
boolean ehString;
String st1 = Programao Orientada a Objetos;
String st2 = programao orientada a objetos;
ehString = st1.equals(st2);
System.out.println("O valor de ehString : +ehString);

19:

equalsIgnoreCase(String outraString);

A mesma funcionalidade do mtodo anterior, porm este mtodo no faz


diferena se as string tem ou no caracteres maisculo e minsculo. Utilizando
o mesmo exemplo do mtodo anterior, o valor retornado ser verdadeiro, pois
este mtodo ignora a sensibilidade do caso:
boolean ehString;
String st1 = Programao Orientada a Objetos;
String st2 = programao orientada a objetos;
ehString = st1.equals(st2);
System.out.println("O valor de ehString : +ehString);

charAt(int index)

Este mtodo utilizado para retornar um caractere especificado na


assinatura do mtodo. O primeiro caractere desta string 0(zero), ou seja se
eu tiver uma string Paulo e passar como parmetro deste mtodo o numero
inteiro 1(um) o mtodo me retornar o caractere (a), e no o caractere (P).
Para que o mtodo passa retornar o caractere (P) eu teria que passar como
parmetro na assinatura do mtodo, o nmero (0) zero. Observe no exemplo
abaixo, que o mtodo retornar o caractere (O) da palavra Orientada e
armazenar na varivel (ch) do tipo char;
String st1 = Programao Orientada a Objetos;
char ch = st1.charAt(12);
System.out.println("O valor de ch : +ch);
startWith(String outraString)

Utilizado para verificar se a string principal comea com a string passada


por parmetro na assinatura do mtodo. Este mtodo retornar um valor
booleano de acordo com o ocorrido, ou seja, se a string principal comear
absolutamente igual a string passada por parmetro, o mtodo retornar o
valor true, caso contrario retornar o valor false. No exemplo a seguir o mtodo
retornar um valor true.

20:
String st1 = "Programao Orientada a Objetos";
boolean ehVerdade;
ehVerdade = st1.estartsWith("Pro");
System.out.println("O valor de ehVerdade : "+ehVerdade);

endsWith(String outraString)

Utilizado para verificar se a string principal termina com a string passada por
parmetro na assinatura do mtodo. Este mtodo retornar um valor booleano
de acordo com o ocorrido, ou seja, se a string principal terminar absolutamente
igual a string passada por parmetro, o mtodo retornar o valor true, caso
contrario retornar o valor false. No exemplo a seguir o mtodo retornar um
valor false.

String st1 = "Programao Orientada a Objetos";


boolean ehVerdade;
ehVerdade = st1.estartsWith("Objet");
System.out.println("O valor de ehVerdade : "+ehVerdade);

toLowerCase()

Este mtodo retorna todos os caracteres da string em letras minsculas.


Vejam no exemplo a seguir que a varivel st2 ter o mesmo contedo da
varivel st1 porm com todos os caracteres alfanumricos em minsculo.

String st1 = "Programao Orientada a Objetos";


String st2 = st1. toLowerCase();
System.out.println("O valor de st2 : "+ st2);
toUpperCase()

Este mtodo retorna todos os caracteres da string em letras maisculas.


Vejam no exemplo a seguir que a varivel st2 ter o mesmo contedo da
varivel st1, porm com todos os caracteres alfanumricos em maisculas.

21:
String st1 = "Programao Orientada a Objetos";
String st2 = st1. toUpperCase();
System.out.println("O valor de st2 : "+ st2);
A classe String possui muito mais mtodos, porm por hora estes que
aqui foram explicados servem para realizar a maioria das atividades. Caso
queiram se aprofundar mais sobre os mtodos da classe String, sugiro a leitura
do livro do Deitel Java como programar, 6Ed., paginas 1013 at 1022.

6.0. Operadores
6.1. Operadores Aritmticos
Operadores aritmticos so utilizados para realizar clculos entre dois
ou mais nmeros ou variveis numricas. A tabela abaixo ilustra a maioria
destes operadores.

+
*
/
%
++
--

Adio
Subtrao
Multiplicao
Diviso
Resto Diviso
Incremento
Decremento

9 + 5 = 14
95= 4
2*3=6
10 / 2 = 5
10 % 3 = 1
X++ ou ++X
X-- ou X

X+Y
X-Y
X*Y
X/Y
X%Y
X=X+1
X=X-1

Um detalhe que deve ser observado que tem uma diferena simples
no incremento e decremento, se for colocado a varivel seguido dos
operadores (++) ou (--) ele pega o valor da varivel e depois faz o calculo, e se
for colocado os operadores antes do varivel, primeiro faz o calculo e depois
que ele pega o valor da varivel. Por exemplo:

int x = 0, y = 0;
y = x++;
System.out.println("O valor de x : "+ x +\ne o valor de y : +y);

22:
Desta forma o valor de (y) ser zero (0), pois pegou o valor de (x) antes
de incrementar o valor de (x). J valor da varivel (x) ser de um (1). No
exemplo a seguir, tanto (x) quanto (y) ter o mesmo valor de um(1)

int x = 0, y = 0;
y = ++x;
System.out.println("O valor de x : "+ x +\ne o valor de y : +y);

6.2. Operadores Relacionais


Utilizados para realizar a maioria das comparaes. Segue abaixo a
tabela com a maioria destes operadores.

>
<
>=
<=
==
!=

Maior que
Menor que
Maior ou igual a
Menor ou igual a
Igual a
Diferente

x>y
x<y
x >= y
x <= y
x == y
x != y

6.3. Operadores Lgicos


Existem ocasies onde necessrio trabalhar com o relacionamento de
duas ou mais condies ao mesmo tempo na mesma instruo, efetuando
desta forma testes mltiplos. Para estes casos necessrio trabalhar com a
utilizao dos operadores lgicos, tambm conhecidos como booleanos.
A idia de verdadeiro e falso a base dos conceitos dos operadores
lgicos. Existem trs operadores lgicos. So eles:
&& (e) Os dois valores tem que ser verdadeiros.
II (ou) Um dos dois valores tem que ser verdadeiros.
! (no) Os dois valores tem que ser falso.

23:
7.0. Comandos de Controle de Programas
Toda linguagem de computador precisa oferecer no mnimo trs formas
bsicas de controle:
1 Executar uma srie de instrues (sequncia)
2 Repetir uma seqncia de instrues at que certa condio seja
encontrada (repetio)
3 Praticar teste para decidir entre aes alternativas (seleo)

7.1. Controle de seleo


Veremos a seguir, os seguintes comandos de seleo: seleo
simples, seleo composta, seleo aninhada e mltipla escolha.

Seleo simples if

(equivalente ao comando (se) no Portugol).

Utilizado par fazer uma seleo simples, ou seja, se determinada


condio booleana for verdadeira, tomar determinadas atitudes.
Exemplo:

if(condio booleana){
cdigo de programao
}

Seleo composta if ... else (equivalente ao comando (se...seno) no


Portugol). Utilizado par fazer uma seleo composta, ou seja, se
determinada condio booleana for verdadeira, tomar determinadas
atitudes seno tomar outras atitudes. Exemplo:
if(condio booleana){
cdigo de programao
}

24:

seleo aninhada if ... else ... if ... else. Como est dando para
perceber, existem inmeros possibilidades e formas de se utilizar este
comando, porem a sua sintaxe inicial deve sempre ser respeitada, ou
seja, devemos lembrar-nos de abrir e fechar chaves para indicar o inicio
e o final de um bloco de cdigos, e devemos abrir e fechar parnteses
para indicar a condio booleana que permitir ou no a execuo deste
bloco. Veja a seguir como ficaria estas formar do comando na linguagem
de programao Java.
if (x == y){
System.out.println("O valor de x igual o de y");
}
if ( (x == y) && (x > 10) ){
System.out.println("O valor de x e y so iguais; e x maior que

10");
}
if ( (x == y) || (x > 10) ){
System.out.println("Ou o valor de x e y so iguais; ou x maior
que 10");
}
if (x == y){
System.out.println("O valor de x igual o de y");
}else{
System.out.println("O valor de x no igual o de y");

7.2. Controle de mltipla escolha.


Existem momentos na programao que a utilizao de um comando de
mltipla escolha vem bem a calhar. A seguir veremos a utilizao do comando
de mltipla escolha (switch).

switch...case (Equivalente ao comando (escolha...caso) no Portugol.


Utilizado par fazer mltipla seleo. Veja a seguir a sintaxe e a utilizao
deste comando. Observe que no final de casa comando case, existe um

25:
comando break. Se no tiver este comando o compilador no sabe onde
parar, e executa tudo o que estiver na seqncias.Existe tambm um
coando default que serve para que se todas as condies anteriores
forem falcas, o compilador executar a condio default. Normalmente
deixe este comando por ltimo, e no precise utilizar o comando break,
pois no tem mais nada a ser executado dentro do switch.
Sintaxe:
switch(operador){
case 1:
comandos;
break;
case 2:
comandos;
break;
default:
comandos;
}
Exemplo:
switch (operador) {
case 1:
System.out.println("O valor do x 1");
break;
case 2:
System.out.println("O valor do x 2");
break;
default:
System.out.println("O valor do x no nenhuma das
alternativas anteriores");
}

7.3. Controle de repetio


No decorrer da programao, vocs vo se deparar com situaes onde
necessrio repetir um determinado trecho do programa uma determinada
quantia de vezes. Para ocorrer esta repetio, no precisamos repetir o
comando vrias vezes, existe alguns comandos em Java, que far esta
repetio, de acordo com as condies estabelecida por vocs. Estes

26:
comandos de repetio, so conhecidos tambm por loopings ou laos. So
eles: while, do while e o for.

while (Equivalente ao comando enquanto...faca do Portugol).


Utilizado para repetir um trecho de cdigo algumas vezes. A lgica que
esse trecho de cdigo seja repetido enquanto uma determinada
condio permanecer verdadeira. Veja a seguir a lgica e a utilizao
deste comando.

Sintaxe:
while(condio){
Comandos;
}
Exemplo:
while (x <= 10){
System.out.println("Passe aqui enquanto x for menor ou igual a 10");
x++;
}

do while (Equivalente ao comando faca...enquanto do Portugol). Sua


funcionalidade equivalente ao comando while, porem primeiro o
comando executa os comando e depois ele faz a comparao. Ou seja,
ao menos uma vez os comandos serto executados, sendo a condio
verdadeira ou falca. Muito cuidado na utilizao destes dois comandos,
pois se a condio nunca for verdadeira, pode entrar em um looping
eterno. Veja a seguir a lgica e a utilizao deste comando.

Sintaxe:
do{
Comandos;
}While(condio);
Exemplo:
do{
System.out.println("Passe aqui enquanto x for menor ou igual a 10");
x++;
} while (x <= 10);

27:

for (Equivalente ao comando (para) do Portugol). A lgica deste


comando basicamente a mesma dos while: fazer um trecho de cdigo
ser repetido enquanto uma condio continuar verdadeira. Porm este
comando tem uma particularidade, ele isola tambm um espao para
inicializao de variveis e o modificador dessas variveis, tornando o
cdigo mais legvel e diminuindo a possibilidade de ocorrer um looping
eterno. O for engloba 3 expresses em uma nica, e amplamente
utilzado quando se deseja repetir algo um nmero fixo de vezes.
Observe a seguir a sintaxe e a forma de utilizao deste comando

Sintaxe:
For(inicio;condio;incremento){
Comandos;
}
Exemplo:
int cont = 0;
for (cont = 0; cont <= 20; cont++) {
System.out.println("Me imprima de zero a 20 vezes");
}
Ou
for (int cont = 0; cont <= 20; cont++) {
System.out.println("Me imprima de zero a 20 vezes");
}
Ou
for (int cont = 0; cont <= 20; cont = cont +2) {
System.out.println("Me imprima de zero a 20 pulando de 2 em 2");
}
Ou
for (int cont = 20; cont <= 0; cont = cont--) {
System.out.println("Me imprima de 20 a zero");
}

28:
A expresso de inicio deste comando, geralmente um comando de
atribuio que usado para colocar um valor na varivel de controle do lao. A
condio uma expresso relacional que determina quando o lao acaba. O
incremento define como a varivel de controle do lao varia cada vez que o
lao repetido. Essas 3 sees so separadas por ponto e vrgula. Uma vez
que a condio se torne falsa, a execuo do programa continua no comando
seguinte ao for.
Todos estes comandos (if, while, switch, for, etc) podem ser
combinados, isso vai depender da sua lgica de programao, e a necessidade
de utiliz-los. A seguir, vou passar alguns exerccios para fixar melhor o que foi
explicado neste contedo web.

29:
8.0. Exerccios:
1. Imprima todos os nmeros de 150 a 300.
2. Imprima a soma de 1 at 1000.
3. Imprima todos os mltiplos de 3, entre 1 e 100.
4. Faa um programa que armazene em variveis o salrio bruto mensal
de um funcionrio. Calcule quanto este funcionrio ganha por ano,
levando em considerao que ele ganha 13 Salrio mais 1/3 de frias.
Caso ele ganhe mais de R$ 13.000,00 por ano, retire 20% do salrio
bruto para IRPF, e caso ele ganhe menos de R$ 7.000,00 Adicione um
salrio mnimo (R$ 465,00) Prmio do PIS.
5. Faa um programa armazene em variveis dois nmeros reais e um
caractere de operador aritmtico. Utilizando o comando switch, de
acordo com o operador aritmtico, faa o calculo equivalente. (+ - * e /).
Lembre-se no existe diviso por 0(zero) ento no caso do operador de
diviso, verifique se o divisor maior que zero antes de realizar o
calculo.
6. Utilizando o comando for, faa um programa que imprima na tela
somente os nmeros pares de 1 at 100.
7. Faa um programa que armazene em variveis 4 notas de um aluno(O
nmero escolhido no pode ser menor que zero, e tambm no pode ser
maior que 100). Calcule a mdia anual deste aluno, e se a mdia anual
for maior ou igual a 60, imprima na tela que ele passou de ano, caso
contrrio, imprima que ele est reprovado.

Desafio:
Existe em Java um comando que captura informaes via teclado, ou seja,
comando de entrada de dados equivalente ao scanf() da linguagem C. Faa os
exerccios acima entrando os valores via console ao invs de armazenar os
valores nas variveis. Uma dica uma dos comandos o System.in, porm ele

30:
tem que trabalhar em conjunto com uma classe. Existe mais de uma classe
para trabalhar em conjunto, descubra qual a mais fcil e eficiente para realizar
este desafio.

Вам также может понравиться