Você está na página 1de 46

Introduo a linguagem Java

Parte 1
Nesta aula
Lgica, Sintaxe e Semntica
Caractersticas de Java
Estrutura bsica de um programa Java
Como nomear um arquivo .java
Um pouco sobre classes
Mtodo principal (main)
Pacotes
Importao de bibliotecas
Comentrios e smbolos especiais,
Tipos de dados,
Palavras reservadas
declarao de variveis
operadores de atribuio e operadores aritmticos;
escrita de dados

Lgica, Sintaxe e Semntica
A Lgica contm as tarefas que um programa
deve fazer
Nada tem a ver com linguagem de
programao
Pensar na lgica pensar quais as sequencias
de passos que ser realizada para atingir um
objetivo. estruturar seu raciocnio para
entender o que o programa deve fazer
Uma lgica bem feita garante que o programa
funcione corretamente
Lgica, Sintaxe e Semntica
Sintaxe a estrutura do cdigo. como as
instrues so escritas
Sintaxe est relacionada com a compilao do cdigo
Se a sintaxe no estiver correta, o cdigo no compila,
e no ser possvel gerar o arquivo .class (em Java)
Cada linguagem de programao tem uma
sintaxe, ou seja uma forma de escrever a lgica
de programao
Em cada linguagem a lgica a mesma, o que muda
a sintaxe
Lgica, Sintaxe e Semntica
Por exemplo, blocos de programao so
escritos de formas diferentes em algumas
linguagens programao:

Java
{
// fazer alguma tarefa
}
Pascal
begin
// fazer alguma tarefa
end
Lgica, Sintaxe e Semntica
Semntica o significado do programa e das
instrues que voc escreveu
A semntica est relacionada com a execuo do
programa
Se o programa executado, a sintaxe est correta. Ou
seja, no h erros na estrutura do programa
Entretanto, isso no significa que o programa vai
realizar o que voc planejou.
Erros de semntica esto relacionados com a lgica
que voc elaborou.
Se a lgica no estiver correta, a semntica tambm
estar errada e o programa vai se comportar de forma
inesperada
Caractersticas da linguagem Java
Java uma linguagem de programao de alto nvel,
criada com sob o conceito de Write once, run
anywhere.
Ou seja, uma vez escrito o programa em Java, ele pode
ser executado em qualquer computador, independente
da arquitetura de hardware e software.
O nico pr-requisito que haja uma mquina virtual
java no computador. Existem diversas verses de
mquinas virtuais para diferentes arquiteturas.
A mquina virtual Java responsvel por executar os
programas Java.

Caractersticas da linguagem Java
A mquina virtual Java responsvel por
executar os programas Java.
Dois softwares principais
Java Development Kit (JDK): plataforma para
desenvolvimento
Java Runtime Enviroment (JRE): plataforma de
execuo

Caractersticas da linguagem Java
JDK e JRE
Na verso atual, vem em um s pacote
http://java.com/en/download/index.jsp
Editor de textos ou IDE
Notepad, Notepad++, Eclipse, Netbeans
Para testes, pode-se utilizar uma ferramenta
online
http://www.compileonline.com/compile_java_onl
ine.php

Caractersticas da linguagem Java
Linguagem largamente utilizada para desenvolver
sistemas desktop, sistemas web, plugins,
aplicativos mveis, firmwares, sistemas de TV,
etc.
Java uma linguagem de programao orientada
a objeto. QUASE tudo em Java um objeto
Objeto uma abstrao do mundo real
Um carro, uma casa, uma pessoa, um nmero
Neste curso no veremos programao Orientada
o Objeto (OO). Mas para programar em Java,
temos que conhecer pelo menos o bsico
Caractersticas da linguagem Java
Atualmente, Java encontra-se na verso 7
Porque importante saber a verso atual do Java
e a verso que voc est trabalhando?
Existem alteraes significativas entre uma
verso e outra, o que pode fazer com que um
programa escrito em uma verso mais antiga da
JDK no execute na plataforma mais nova da JRE,
e vice-versa
Existem situaes em que o programa escrito
compila, mas no executa, por algum problema
entre as verses utilizadas para programar e para
executar.
Caractersticas da linguagem Java
Java tem uma caracterstica especial. Ela
compilada e interpretada
O programador escreve o cdigo em
linguagem Java e salva um arquivo com
extenso .java
Um programa em Java um arquivo de texto, que
o computador ainda no entende
Este programa deve ser compilado para gerar
um arquivo binrio (.class), que o
programador no entende.


Caractersticas da linguagem Java
Este arquivo .class ainda no entendido pelo
SO do computador, mas sim pela mquina
virtual java (JVM)
A execuo do arquivo .class pela mquina
virtual feita linha a linha. Ou seja,
interpretado.
Essa caracterstica possibilita que seja criado
um programa binrio (onde o cdigo de
difcil leitura por seres humanos), mas no qual
possvel rastrear erros em tempo de
execuo
O programa Java
Um programa java pode ser composto por vrios
arquivos
Cada arquivo corresponde a uma classe, ou seja
uma estrutura de dados que encapsula uma srie
de caractersticas e comportamentos
Neste curso utilizaremos apenas uma classe, e
consequentemente, 1 arquivo
Mas vamos ver alguns exemplos para entender o
que uma classe...
Classes em Java
Suponha que vamos escrever jogo de corrida de
carros
Quais objetos conseguimos enxergar nesta imagem?

Classes em Java
Vamos pegar o exemplo do Carro.
Quais as caractersticas de um Carro?
Classes em Java
Vamos pegar o exemplo do Carro.
Quais as caractersticas de um Carro?
Cor
Nome
Modelo
Marca
Classes em Java
Vamos pegar o exemplo do Carro.
Quais as caractersticas de um Carro?
Cor
Nome
Modelo
Marca
Quais os comportamentos de um Carro?


Classes em Java
Vamos pegar o exemplo do Carro.
Quais as caractersticas de um Carro?
Cor
Nome
Modelo
Marca
Quais os comportamentos de um Carro?
Acelerar
Frear
Virar



Classes em Java
Em java podemos representar um Carro (ou qualquer
outro objeto do mundo real) como uma classe. Ou
seja, as caractersticas e comportamentos deste
carro estaro dentro de um nico arquivo

/* Carro.java */
public class Carro {

String cor; String nome;

public bool acelerar (double x) {...}

}
Voltando s caractersticas...
Relembrando, nesta disciplina vamos utilizar apenas
uma classe e consequentemente apenas um arquivo
para escrever nossos programas
Em java, o nome da classe sempre dever ser o
mesmo nome do arquivo
Se a classe chama-se Carro, o nome do arquivo dever ser
Carro.java
O nome do arquivo deve ser idntico ao da classe,
considerando maisculas e minsculas
Mas onde est o nome da classe?

package nomeDoAluno ;
import caminhoENomeDoPacote ;

public class NomeDoPrograma {

public static void main ( String args [ ] ) {

}
}

Qual deve ser o nome do arquivo neste exemplo?
Estrutura bsica
Explorando a estrutura bsica
Para escrever uma classe em Java preciso
seguir algumas regras
Temos que escrever o programa na sintaxe correta
para que ele possa ser compilado
Vamos ver quais as regras para escrever a
estrutura bsica
package nomeDoAluno ;

package informa qual pacote um arquivo Java
pertence
Um pacote uma pasta dentro do seu projeto que
agrupa um conjunto de classes
Inserido apenas uma vez por arquivo
No obrigatrio. Porm, quando inserido no
cdigo, deve ser a primeira linha escrita

Estrutura bsica - Pacote
import caminhoENomeDoPacote ;

import informa uma biblioteca ou classe Java que a classe
atual vai utilizar.
Pode ser inserido mais de uma vez no arquivo, um para cada
biblioteca ou classe importada
No obrigatrio. Porm, quando inserido no cdigo, deve vir
aps package, quando este existir, ou ser a primeira linha no
arquivo. Todas as importaes devem vir antes da declarao
da classe.
Ex.: import java.io.* Biblioteca para trabalhar com
arquivos
Estrutura bsica - Import
public class NomeDoPrograma {
...
}
Declarao da classe. A palavra reservada class
identifica que a estrutura ser uma classe
Deve vir logo aps import, quando este existir, ou
package, quando este existir. Caso nenhum dos dois
existam, ser a primeira linha do arquivo
Elemento obrigatrio no arquivo. O nome do arquivo
deve ser o mesmo da classe (NomeDoPrograma .java)
As chaves {} identificam o corpo da classe, e so
elementos obrigatrios para identificar onde a classe
inicia e acaba.


Estrutura bsica - Classe
public static void main ( String args [ ] ) {
...
}
Uma classe pode conter um ou mais mtodos.
Mtodos so regies do cdigo que definem o
comportamento do se programa
Em java existe um mtodo especial chamado main.
Este mtodo informa o ponto de incio do seu
programa
Cada programa deve ter apenas uma classe com o
mtodo main
Estrutura bsica - Mtodos
Modificadores
Modificadores so palavras reservadas da linguagem
Java que modificam as caractersticas de classes e
mtodos em Java
Nesta disciplina no estudaremos os modificadores,
mas eles estaro presentes em nossos programas
Por hora, devemos saber que:
A classe ter o modificador public, e deve ser a primeira
palavra na declarao da classe
Os mtodos tero os modificadores public static
void, e devem vir nessa ordem, antes do nome do
mtodo

Smbolos Especiais em Java
Ao fim de uma instruo, usa-se ; (ponto e vrgula)
Blocos de instrues so demarcados com { } (chaves)
Inclui classes e mtodos
Aps as chaves no se usa ;
Comentrios no cdigo-fonte: // ou /* */
Linha com comentrio:
// comentrio na linha
bloco de linhas com comentrios:
/* primeira linha com comentrios
. . .
ltima linha comentada */
Comentrios no so considerados como parte da lgica do
programa, e podem ser inseridos em qualquer parte do seu cdigo
Palavras chave reservadas


























So palavras identificadas pelo compilador para executar
tarefas especficas no cdigo executvel
No podem ser utilizadas como identificadores dentro do
seu programa (nome de classe, mtodos e variveis)
Falando de identificadores e variveis...
Identificadores so os nomes que os programadores
do para classes, mtodos e variveis
public class Carro {}
public int soma(int a, int b) {}
int $numero; String palavra; char _letra;


Mais regras...
Identificadores em Java podem conter apenas
caracteres unicode (letras), nmeros, cifro ($) e
underscore (_), com as seguintes regras:
Devem comear com uma letra, $ ou _
No podem comear com nmeros
Aps o primeiro caractere pode-se utilizar qualquer
combinao de letras, nmeros, $ e _
No se pode utilizar palavras reservadas
Os identificadores, assim como toda a linguagem Java, so
case-sensitive. Aluno e aluno so identificadores diferentes
No h limite de caracteres para identificadores



Mais regras...
Caso essas regras no sejam seguidas, pode causar
Erro de sintaxe
Se comear com nmero
Se utilizar palavras reservadas
Trocar maisculas por minsculas
Erro de semntica
Trocar maisculas por minsculas



Exerccios
Relembrando:
O que ocorre se o programa tiver erros de sintaxe?
O que ocorre se o programa tiver erros de
semntica?
Exerccios
1) Quais das opes abaixo so identificadores vlidos em Java?
$metodo
_private
NOMEPESSOA
NomeMetodo
numero
_Classe
nome_aluno
_variavel_a_
enum
$enum
_______a
a________
_
$variavel
$ClasseNome
$nomeAluno
metodo
Classe
Metodo_nome
aluno1
Variavel8
*aluno
nome^aluno
$nome$aluno$
$
Char
char
$$$$$
&nome
cONTINUE
$_$_$_$
nomeClasse
1$
$2
_2
_$nome
8variavel
______
$nome_aluno$
new_
nomePessoa
1_2
Classe23
identificador
Variavel
13
$_1000
mome-aluno
#hashtag
metodo@adiciona
nomeAluno3
$$$adiciona$$
$_nome
_nome$aluno_
private
(aluno)
$identificador_com_nome_grande_e_caracteres_especiais_100
Variveis
Variveis so estruturas que armazenam valores
dentro do seu programa
So quase que indispensveis para implementar sua
lgica
Podem armazenar qualquer tipo de dado que a
linguagem suporta
Nmeros, palavras e objetos complexos
As variveis em Java tem um tipo definido, e
permanecem com esse tipo at serem descartadas
Inteiros, palavras, decimais, objetos complexos
Declarao de Variveis
Forma geral (em java):
tipoDoDado nomeDaVariavel ; // comentrio

Exemplos:
int valor; // varivel que guarda valor inteiro
double area; // nmero real de preciso dupla
char letra; // guarda um caractere
String frase; // guarda uma cadeia de caracteres
boolean aceso; // guarda verdadeiro/falso

Observe: nome de varivel inicia com letra minscula!
Tipos de Dados Primitivos em Java
Os tipos de dados que mais usaremos so:
int (nmeros inteiros)
double (nmeros reais, com preciso dupla)
boolean (tipo lgico; vale true ou false)
char (caractere)
byte, short, long (inteiros com outros tamanhos)
float (nmeros reais com preciso simples)
Observe: todas as letras minsculas nesses tipos
Lembrando que Java diferencia minsculas de maisculas

Tipos de Dados Primitivos em Java

Tipo Tamanho Intervalo
boolean 1 bit false e true
byte 8 bits -128 a +127
char 16 bits \u0000 a \uFFFF
short 16 bits -32.768 a +32.767
int 32 bits -2.147.483.648 a -2.147.483.647
float 32 bits 1.4e
-45
a 3.4e
38
double 64 bits 4.9e
-324
a 1.7e
308
long 64 bits -9.223.372.036.854.775.808 a
-9.223.372.036.854.775.807
Tipos de Dados Compostos em Java
Os tipos de dados compostos sero desenvolvidos na
disciplina de Linguagem de Programao II

De incio, usaremos apenas um tipo composto j
definido na Java:
o tipo cadeia de caracteres: String
observe: S maisculo

Operadores - Atribuio
As variveis em um programa Java podem, e
devem, receber valores
A atribuio server para que a varivel
armazene algum valor
Operador de atribuio: =
int nota = 3; // LEIA-SE: varivel nota recebe 3

Sada de dados
Quando estamos escrevendo um programa, por
vezes queremos que este mostre alguma informao
Podemos ento mostrar a sada de dados no console
Java possui alguns mtodo para isso
// mostra Ol na tela
System.out.print(Ol);
// mostra Ol na tela e pela uma linha
System.out.println(Ol);
Sada de dados
Podemos imprimir tambm valores de
variveis
// define uma variavel x com valor 1
int x = 1;
// imprime o valor de x
System.out.println(x);
Colocando tudo isso em um programa
Vamos fazer um programa que mostre na tela
a mensagem Ol Mundo
Ainda se lembram tudo que tem que fazer
para fazer um programa em Java?
Vamos fazer de duas formas. Utilizando o
bloco de notas e depois o Eclipse
Colocando tudo isso em um programa
1) Abra o bloco de notas
2) Escreva o nome da classe: OlaMundo
3) Declare o mtodo principal (main0
4) Imprima a mensagem Ol mundo
utilizando o mtodo que acabamos de ver

Exerccios
2) Vamos criar outro programa que declare uma
varivel x, atribua o valor 2 para essa varivel e
imprima este valor.