Você está na página 1de 13

Ttulo: Introduo Linguagem Java

Data: 19/1/2011
Descrio: Primeiro Programa, regras de nomenclatura, tipos de dados e variveis

Primeiro Programa em Java


Veremos aqui o nosso primeiro cdigo em linguagem Java.
A nica coisa que esse programa faz imprimir (mostrar) na tela uma mensagem dizendo: Bem
vindo ao mundo Java!
/*Primeiro Programa da Disciplina
* Anlise e Projetos de Sistemas
* Orientado a Objeto II
*
* @autor: Daniel de Camargo
*/
public class MeuPrimeiroPrograma {
public static void main(String[] args) {
System.out.println("Bem vindo ao mundo Java!");
}

}
O resultado o seguinte:

Primeiramente, iremos entender algumas estruturas bsicas da linguagem.

//
Usamos // para indicar que foi iniciado um comentrio. Um comentrio serve apenas para
documentar o cdigo. Isso quer dizer que, ao ser executado este programa, as linhas marcadas
como comentrio sero ignoradas.
Este tipo de comentrio de linha nica, ou seja, comea nas barras e termina no final da linha. Se
quisermos criar comentrio de vrias linhas podemos utilizar /* */, no qual /* inicia o comentrio e */
termina. Por exemplo:
//Este um comentrio de uma linha
DANIEL DE CAMARGO

JAVA

/*Este
um comentrio
de vrias
linhas*/

public class MeuPrimeiroPrograma


public class MeuPrimeiroPrograma a criao da classe. Como Java totalmente orientado a
objeto, sua programao feita dentro de classes e mais classes. O assunto de classes ser
abordado mais a frente. O importante a princpio entender que o programa para funcionar deve ter
pelo menos uma classe com o mtodo principal (main).

public static void main


public static void main o mtodo principal do cdigo. Quando executamos um programa esse
mtodo que chamado. Em outras palavras, sem ele no h programa.

(String[ ] args)
(String[] args) o argumento passado ao mtodo main. Qualquer programa pode ser iniciado ou no
com argumentos que modificam sua execuo, trataremos futuramente de argumentos com
programas.

{}
As chaves so usadas para marcar o bloco de dados. No caso deste algoritmo, ele marca o cdigo
que ser executado na classe MeuPrimeiroPrograma e tambm todo o cdigo que ser executado
quando o mtodo main for chamado.

System.out.println
System.out.println a sada padro de Java. este mtodo que indica o que deve aparecer na tela.

("Bem vindo ao mundo Java!")


("Bem vindo ao mundo Java!") o argumento do mtodo System.out.println. Neste caso o que
deve ser apresentado na tela.
Toda linha de comando em Java termina com um ponto-e-vrgula (;).

Regras e convenes de nomenclatura

DANIEL DE CAMARGO

JAVA

Quando programamos em Java, devemos levar em considerao as convenes de nomenclatura


para deixar nosso cdigo o mais legvel e documentvel possvel, pois um dos objetivos da
programao orientada a objetos o reaproveitamento do cdigo.
muito provvel que quem no tenha experincia com programao sinta dificuldade de identificar
todos os termos utilizados neste artigo, mas aos poucos tudo que ser visto aqui ser detalhado
mais adiante, embora que este artigo se torna trivial medida que programamos. Portanto, quem j
conhece programao em algum outro tipo de linguagem (como Delphi ou C++) se sentir mais a
vontade. Porm, se nunca programou antes, com certeza, este artigo ser didtico o suficiente para
que entenda essas regras.
Muitos compiladores como Eclipse e NetBeans do um grande auxilio na hora de criarmos nosso
projeto nos informando sobre as convenes de nomenclatura no momento que estamos criando os
pacotes, classes, etc.

Nome de Classes
Por conveno, toda classe deve comear com uma letra maiscula e, de preferncia, no pode
conter letras no ASCII (caracteres de lngua de origem latina, como caracteres acentuados).
Portanto, no possvel declarar uma classe com qualquer caracter especial (@, #, $, %, &, *, _,
etc...) ou nmero.
Caso o nome de uma classe seja composto por mais de uma palavra, a primeira letra de cada
palavra deve ser em maiscula.
O nome da classe deve ser exatamente o mesmo nome de seu arquivo fonte ( .java ).
O nome da classe deve fazer referncia total ao seu objeto (atributos e mtodos contidos dentro da
classe). Por exemplo: se tivermos uma classe com os atributos canal, volume e sintonia; e os
mtodos mudarCanal (), aumentarVolume () e diminuirVolume (); ento, possivelmente
chamaramos esta classe de TV ou Televisao. Contudo, em uma classe que contivesse o atributo
corDasPenas e o mtodo voar () jamais chamaramos de Pessoa (por que pessoas no tem penas e
nem voam).
Exemplos de nomes de classes: Pessoa, ImpostoDeRenda, Conta, AgenciaDeEmprego, entre
outras.

Nome de Pacotes
Os pacotes devem comear com uma letra minscula e podem usar letras no ASCII. Jamais
poderemos iniciar o nome de um pacote com caracteres especiais (@, #, $, %, &, *, _, etc...) ou
nmero.
Caso o nome de um pacote seja composto por mais de uma palavra, a primeira letra de cada
palavra deve ser em maiscula.
DANIEL DE CAMARGO

JAVA

O nome do pacote deve ser o mesmo nome da pasta a qual ele se refere. Por exemplo, se os
arquivos fonte esto na pasta criptografia, ento o nome do pacote deve ser criptografia.
O nome do pacote deve fazer referncia total s funes exercidas pelas classes dentro do pacote,
pois pacotes servem basicamente para organizar os arquivos de cdigo fonte de nosso projeto.
Exemplos de nomes de pacotes: criptografia, usurios, conexesDeBancoDeDados , etc.

Nome de atributos ou variveis


Os atributos (variveis) podem comear com qualquer letra e os caracteres $ ou _, porm no
podem comear com nmeros.
Caso o nome de um atributo (varivel) seja composto por mais de uma palavra, a primeira letra de
cada palavra deve ser em maiscula.
Exemplos de nomes de atributos ou variveis: x, y, resultado, valorDeX, valorDeY, ligado, etc.

Nome de atributos finais ou constantes


Os atributos finais (constantes) devem ser escritos em letras maisculas.
Usamos underline (_) para separar nomes compostos de atributos finais (constantes).
Exemplos de nomes de atributos finais ou constantes: TAMANHO, PARAR_DE_EXECUTAR, entre
outros.

O que so atributos e variveis


Para quem j programou antes em alguma linguagem de programao no orientada a objetos,
deve achar estranho o termo atributo porque, na verdade, est mais acostumado com o termo
varivel.
Mas, qual a diferena entre atributos e variveis? Nenhuma.
Atributos e variveis so a mesma coisa em questo de funcionalidade. Ambos so endereos de
memria que tem um espao ou tamanho definido de acordo com o tipo de dado que ser guardado,
por exemplo: caractere, nmero, nmero decimal, etc. Em Java, costumamos utilizar o termo
atributo, que nada alm do que uma varivel que est dentro de uma classe. Como tudo que
fazemos em Java est contido dentro de uma classe, ento usamos o termo atributo ao invs de
varivel.

Tipos de dados e declarao de atributos

DANIEL DE CAMARGO

JAVA

Todo programa de computador deve ser capaz de lidar com dados para conseguir fazer seus
processos como, por exemplo, somar, multiplicar, dividir, etc... Usar atributos a melhor forma de
manipular os dados.
Os tipos de dados so o que definem a quantidade de memria do computador que ser utilizado
para guardar tal dado. Cada tipo de dado tem um tamanho diferente e por conseqncia seu alcance
tambm. O que queremos dizer que se declararmos um atributo para guardar um nmero inteiro,
jamais poderemos guardar um nmero decimal, porque um nmero decimal ocupa mais espao de
memria que um inteiro.
Para declararmos qualquer tipo de atributo, usamos a seguinte ordem: primeiro o tipo de dado e
depois o nome do atributo. Vale lembra que como j vimos, devemos seguir as regras de
nomenclatura.
Vamos iniciar com os tipos de dados inteiros que so os mais simples. Em Java, os nmeros inteiros
so divididos em quatro tipos: byte, short, int e long.
Esses quatro guardam o mesmo tipo de dado, mas ocupam espaos de memria diferente, o que
afeta em seu alcance.
O tipo byte o de menor alcance entre os inteiros. Como o prprio nome sugere, ele consome
apenas um byte (8 bits) e pode guardar valores entre -128 e 127.
O tipo short guarda inteiros de 2 bytes (16 bits) e pode guardar nmeros entre -32.768 a 32.767.
O tipo int o tipo de dado mais comum. Ele consome 4 bytes (32 bits) e guarda valores entre 2.147.483.648 e 2.147.483.647.
Long o tipo de dado com maior alcance entre os inteiros. Conseqentemente, tambm o que
ocupa mais espao (8 bytes ou 64 bits). Tem um grande alcance que fica entre -9,22E+18 (exatos 9.223.372.036.854.775.808) e 9,22E+18 (exatos 9.223.372.036.854.775.807).
Existem os tipos de dados prprios para caracteres que o char.
O tipo char ocupa 2 bytes, o que torna Java ideal para programar em lnguas latinas, asiticas ou
qualquer outra que utilize caracteres diferentes do padro ASCII.
O padro ASCII utiliza apenas um byte que fornece 256 letras diferentes, mas o padro utilizado em
Java (ISO) nos d a possibilidade de at 65.536 caracteres diferentes.
Para nmeros decimais utilizamos dois tipos de dados, dependendo da necessidade de seu alcance
e preciso (nmeros aps a vrgula).
O tipo de dado mais comum para nmero decimal o float. Em um tipo de dado float, podemos
guardar nmeros grandes que vo desde 1,4E-45 at 3,4028235E+38

DANIEL DE CAMARGO

JAVA

Para nmero decimais com grande preciso ou valores extraordinrios (geralmente utilizados em
matemtica aplicada e complexa como clculos fsicos, qumicos, astrolgicos, meteorolgicos, etc)
utilizamos o tipo de dado double.
Double o tipo de dado mais complexo que h em Java e o maior valor possvel de se armazenar
1,797.693.134.862.315.7E+308. Muito mais do que qualquer programador precisa.
Para ilustra melhor essa explicao, abaixo est um pequeno algoritmo com alguns atributos e seus
valores mnimos e mximos.
/*
* Programa exemplo dos tipos de dados
* existentes em Java
*
* @autor: Daniel de Camargo
*/
public class TiposDeDados {
public static void main(String[] args) {
System.out.println("Tipos de dados em Java: \n" +
"\nMenor Byte: " + Byte.MIN_VALUE +
"\nMaior Byte: " + Byte.MAX_VALUE +
"\nMenor Short Int: " + Short.MIN_VALUE +
"\nMaior Short Int: " + Short.MAX_VALUE +
"\nMenor Int: " + Integer.MIN_VALUE +
"\nMaior Int: " + Integer.MAX_VALUE +
"\nMenor Long: " + Long.MIN_VALUE +
"\nMaior Long:" + Long.MAX_VALUE +
"\nMenor Float: " + Float.MIN_VALUE +
"\nMaior Float: " + Float.MAX_VALUE +
"\nMenor Double: " + Double.MIN_VALUE +
"\nMaior Double: " + Double.MAX_VALUE);
}
}

O resultado do cdigo acima :

DANIEL DE CAMARGO

JAVA

Atribuio de Valores a Variveis ou Atributos


H vrios tipos de dados em Java, cada um com um consumo de memria determinado que afeta
diretamente o seu alcance.
Veremos agora como atribuir valores a esses endereos de memria (atributo ou varivel).
Para atribuirmos valor a uma varivel ou atributo usamos o operador =. Neste caso, o sinal de igual
no significa igualdade, mas que um valor ser atribudo.
A regra bsica que sempre o que estiver esquerda do "=" receber o valor que estiver direita.
Por exemplo: se expressarmos var1 = 10 queremos dizer que a varivel var1 receber o nmero 10.
Pronto! Agora, temos o nmero 10 gravado na memria.
Podemos tambm atribuir valores contidos em outras variveis. Por exemplo:
var1 = 20;
var2 = var1;
A varivel var1 recebe o nmero 20, depois a varivel var2 recebe o valor de var1 (que 20).
Pronto! Agora, temos duas variveis guardando o mesmo nmero (20).

Inicializao de variveis ou atributos


Muitas vezes, precisamos inicializar as variveis ou atributos para que possuam um valor desde o
incio do programa.
Como h muitos tipos de dados em Java, seus criadores desenvolveram formas de escrita para que
diferenciem os vrios tipos de dados.

DANIEL DE CAMARGO

JAVA

Primeiramente, comearemos com os mais simples: os inteiros.


Os nmeros inteiros comuns e do tipo byte so os mais simples de se inicializar, pois basta
atribuirmos seu valor diretamente. Logicamente, precavendo-se dos limites de alcance do tipo inteiro
vistos na pgina de tipos de dados. Por exemplo:
int var1 = 10;
int var2 = 500;
int var3 = 65000;
byte var1 = -100;
byte var2 = 50;
Os nmeros inteiros longos tm duas formas de serem inicializados. Podemos escrev-lo
diretamente se, e somente se, seu valor for menor que o alcance de um inteiro comum. Mas se o
valor atribudo for maior que o valor permitido por um inteiro comum, ento, no final deve ser
acrescentado uma letra L (maiscula ou minscula, no h diferena aqui). Exemplo:
long var1 = -65000;
long var2 = 3590;
long var3 = 15000000000L;
long var4 = -6740000000L;
A inicializao do tipo double e float um pouco diferente. possvel apenas digitar um nmero
como sendo inteiro que o compilador entender facilmente, porm, se quisermos utilizar as casas
decimais, devemos utilizar um ponto para separar a parte inteira da decimal. Outro fato ao utilizar
casas decimais que o tipo float deve ser diferenciado do tipo double. Conseguimos fazer isso
facilmente digitando uma letra F ao final do nmero (no importa se a letra maiscula ou
minscula). Exemplo:
double var1 = 12045741359;
float var1 = 745621;
double var2 = 10.658745965;
float var2 = 0.5f;
Char deve ser inicializado com uma letra entre aspas simples. O importante entender que em uma
varivel do tipo char s pode ser colocada uma letra, no uma frase. Alm do mais, neste caso h
diferena entre maisculas e minsculas. Exemplo:
char var1 = 'a';
char var2 = 'A';
Se quisermos criar uma frase devemos guard-la em uma string. Apesar de String no ser um tipo
de dado em Java, mas sim uma classe, este com certeza o elemento mais utilizado. Uma cadeia
de caracteres (string) pode ser inicializada de trs formas: 1) Como uma string inexistente, ou seja,

DANIEL DE CAMARGO

JAVA

sem valor algum. Para isso utilizamos a palavra reservada null; 2) Como uma frase vazia; 3) Como
uma string completa.
Com exceo da inexistente, toda string deve estar dentro de aspas duplas ( " " ). Se por acaso,
precisarmos digitar uma aspa dentro de uma string, estas aspas devem vir precedidas de uma barra
invertida (\). Exemplo:
String var1 = null;
String var2 = "";
String var3 = "Cadeia de caracteres";
String var4 = "entre aspas: \"String em Java\".";
O tipo booleano possui apenas dois valores: verdadeiro e falso. True para verdadeiro e False para
falso. Exemplo:
boolean var1 = true;
boolean var2 = false;
Neste tipo de dado no h possibilidade de ter outro valor.

Exemplos de Aplicaes em Java


Aerith (https://aerith.dev.java.net/): Mashup para criao de slideshows georeferenciados.
A interface do Maple (http://www.maplesoft.com/) em Java.
Radio Explorer (http://www.radioexplorer.com.ru/en): exibe/visualiza horrios de transmisso
internacionais de rdio.
NASA World Wind (http://worldwind.arc.nasa.gov/java e http://worldwindcentral.com/wiki/Java)
SDK para desenvolvimento de aplicaes de visualizao da Terra.
Insider
for
Oracle
(http://www.fourthelephant.com/insider.html):
monitoramento
e
gerenciamento de bancos de dados Oracle em tempo real.
ThinkFree Office (http://product.thinkfree.com/): Office em Java.
Perrone
Robotics
(http://www.perronerobotics.com/)
e
Team
Jefferson
(http://teamjefferson.com/): robs autnomos.

Controle de Fluxo de Dados


O controle de fluxo efetuado atravs do uso de condicionais, que so estruturas que modificam
o fluxo de execuo normal do programa.

DANIEL DE CAMARGO

JAVA

Quando existe apenas uma instruo aps o if no precisamos abrir um bloco com as chaves. Se
existirem mais instrues a abertura do bloco necessria.
Se houver mais de uma condio usa-se o else como podemos observar na segunda coluna acima.
Veja o exemplo abaixo e comente o mesmo na lista de discusso.

No caso do while
verdadeira.

as

instrues

sero

executadas

enquanto

expresso booleana for

O do-while executa a instruo pelo menos uma vez e continua executando enquanto a expresso
booleana for verdadeira.
Observe os exemplos seguintes

DANIEL DE CAMARGO

JAVA

10

O for pode conter apenas uma instruo no seu corpo. Neste caso no necessrio abrir um
bloco. Isso assim porque o for j implementa alguns comandos na sua assinatura, ou seja, no seu
cabealho,
como a inicializao da varivel
e o passo da repetio, ou seja, o
incremento/decremento da varivel. Veja os exemplos:

DANIEL DE CAMARGO

JAVA

11

Entrada de Dados
Como eu fao para ler algo que o usurio digita no prompt?
Observe o programa abaixo:

Com o estudo do programa acima j d para voc solicitar que o usurio digite alguma coisa e
utilizar o que o mesmo est digitando.

Exerccios
01 - Escreva um programa que imprima o resultado das expresses abaixo:
321+2+1+3
2x34x5
2+63/7x9
3 % 4 8
02 - Escreva um programa que declare, inicialize e imprima as seguintes variveis:
Inteiro i de 32 bits com valor 1
Inteiro j de 64 bits com valor 2
Ponto-flutuante p de 32 bits com valor 20.0
Ponto-flutuante q de 64 bits com valor 30.0
Boolean b com valor verdadeiro
Caracter c com valor k
03 - Implemente um programa que recebe um nmero de 1 a 7 e imprime o dia da semana
correspondente.

DANIEL DE CAMARGO

JAVA

12

04 - Altere o programa do exerccio anterior para ficar recebendo o nmero dentro de um lao
enquanto o nmero for diferente de 0 (zero).
05 - Implemente um programa que recebe repetidamente um nmero de 1 a 12, enquanto esse
nmero for diferente de 0 (zero), e imprime o ms correspondente. Quando o nmero estiver fora do
intervalo permitido, a mensagem ms invlido dever ser exibida.
06 - Escreva um lao while que execute 20 vezes, imprimindo o valor
inicialmente est com valor 10. Converta este lao para um do-while.

da varivel x que

07 - Escreva um programa que imprima na tela a soma dos nmeros mpares entre 1 e 30 e a
multiplicao dos nmeros pares entre 1 e 30.
08 - Escreva um programa que percorra dois laos de 0 a 10, um interno ao outro, imprimindo os
contadores, e quando estes forem iguais, o programa deve passar prxima interao do lao
mais externo, caso contrrio, deve imprimir os valores dos contadores dos dois laos.
09 - Desenvolva um programa que solicita ao usurio um nmero inteiro de no mximo 4 dgitos.
Inverta esse nmero.
10 Desenvolva um programa que dado um nmero inteiro o programa informe se o mesmo
um nmero primo.

DANIEL DE CAMARGO

JAVA

13

Você também pode gostar