Você está na página 1de 42

Introduo Programao Orientada aos Objectos

Variveis e Constantes. Tipos de Dados Bsicos. Atribuio. Expresses Aritmticas e Lgicas. Escrita de mensagens e Entrada de Dados. Estrutura de um Programa.

ndice
Palavras reservadas, smbolos, identificadores e valores em Java Comentrios Variveis e Constantes Tipos de dados bsicos Instruo de atribuio Expresses Classe String e Math Instrues de Entrada e Sada Estrutura de um programa

Sintaxe do Java
Palavras reservadas
so palavras utilizadas na definio da linguagem e tm um significado prprio nesse contexto

Smbolos
tm um significado bem definido no contexto da linguagem e no podem ser utilizados para outros fins

Identificadores
palavras usadas para nomear entidades que o programa manipula ( variveis, constantes, subprogramas e classes)

Valores (Literais)
dados explcitos que podem ser manipulados pelos programas (ex: inteiros 17 e -323; reais 3.14159, -0.02 e 5.88f; caracteres a, A, \n; cadeias de caracteres Bom dia!)

Comentrios
Os comentrios em Java podem ser por linha ou em bloco:
Por linha: // isto um comentrio Em bloco: /* Permite mltiplas linhas No so possveis comentrios aninhados */

Identificadores
Exemplos:
valor $preco 20itens _teste INT

// vlido // vlido
// invlido

// vlido // vlido

Variveis
Uma varivel representa uma localizao em memria Permite guardar um valor de um dado tipo O valor de uma varivel pode variar durante a execuo de um programa A cada varivel esto associados:
tipo - para determinar o espao de memria que deve ser reservado para armazenar o valor correspondente nome - permite a sua manipulao, sem que seja necessrio a localizao de memria onde a mesma se encontra

Variveis
Sintaxe:
tipo_de_dado nomeVariavel [= valor_inicial];

A declarao provoca a reserva do espao de memria necessrio e a sua identificao pelo nome declarado. (A varivel fica com um valor indefinido) A inicializao atribui um valor definido, podendo a partir desse momento ser utilizada
Ex:
int conta; int max = 1; int conta, soma;

Constantes
so valores que se mantm inalterados durante toda a execuo de um programa
final tipo_de_dado NOME_CONSTANTE = valor_inicial;

Sempre que h valores que se vo manter inalterados ao longo da execuo, do programa vantajoso declar-los como constantes
Vantagem: evitam-se alteraes acidentais e os programas tornam-se mais legveis e fceis de manter.

Tipos de Dados Bsicos


Tm tamanho fixo (so atmicos) Definem:
a gama de valores que podem representar as operaes que sobre eles se podem efectuar

Tipos de Dados Bsicos


Inteiros
Tipo Memria Ocupada

Menor Valor

Maior Valor

Tipos de Dados Bsicos


Reais
Tipo Memria Ocupada

Menor Valor

Maior Valor

Os valores reais podem ser representados usando a notao decimal (. separa a parte inteira da parte fraccionria) ou a notao exponencial (E como expoente na base 10) o tipo float representa nmeros com um mximo de 7 dgitos significativos, o double com 15 dgitos significativos

Tipos de Dados Bsicos


Caracter
Tipo Memria Ocupada

Valores

Os caracteres Unicode so especificados com '\u[+ 4 valores hex]', exemplo '\u03c0' -

Tipos de Dados Bsicos


Lgico
Tipo Memria Ocupada

Valores

Valores
Um valor um literal que especificado no cdigo
boolean:
true e false

inteiro:
10, 0x10, 010 (decimal, hexadecimal e octal, respectivamente)

real:
1.99, 2.55f, 10.99d, 4.23E+21 (double, float, double e double em notao cientfica, respectivamente)

char:
'A', '\u0041', 65 (carcter ascii, cdigo Unicode e cdigo ascii, respectivamente)

Tipos de Dados Bsicos


Exemplos
//declara um int e atribui um valor //declarando um char

int idade = 25;


//declara um float e atribui um valor

char letraA = 'A'; letraA = 65; //valor ASCII de 'A' letraA = '\u0041'; //valor Unicode de 'A'
//declarando um byte

float valor; valor = 1.99f;


//declarando um boolean

byte b = 127;
//declarando um short

boolean verdadeiroOuFalso = short s = 1024; false; //declarando um long verdadeiroOuFalso = true; long l = 1234567890;
//declarando um double

double d = 100.0;
//declarao mltipla

int var1=0, var2=1, var3=2, var4;

Instruo de atribuio
sintaxe da instruo
nome_da_varivel = expresso; Permite armazenar um valor numa varivel O valor pode ser fornecido directamente ou resultar do clculo de uma expresso O sinal = deve ler-se "toma o valor de Ver em anexo sintaxe mais avanada Ex: conta = 0; soma = parcela1 + parcela2;

Expresses
Sequncia de operadores (aritmticos e lgicos) e valores

Expresses
Operadores aritmticos
Operador Prioridade Operaes

Ex:
5*2+3+7-3/2 5 * (2 + 3) + (7 - 3) / 2 13 % 2
19 27 1

Expresses
Operadores de incrementao e de decrementao
x e y so numricos (FP & integer) ou char.

x++

Ps-incremento. O valor retornado antes do incremento, e.g. x = 1; y = x++; y fica com 1 e x com 2 Ps-decremento O valor retornado antes do decremento, e.g. : x = 1; y = x--; y fica com 1 e x com 0. Pr-incremento O valor retornado depois do incremento, e.g. : x = 1; y = ++x; y fica com 2 e x com 2 Pr-decremento O valor retornado depois do decremento, e.g. : x = 1; y = --x; y fica com 0 e x com 0

x--

++x

--x

Expresses
Operadores Lgicos
x e y so tipos lgicos. x e y podem ser expresses que resultam num valor booleano true ou false.

x && y

AND

true && true true true && false false false && true false false && false false true || true true true || false true false || true true false || false false !true false !false true

x || y !x

OR

NOT

Expresses
operadores relacionais
permitem comparar valores ou variveis, obtendo-se resultados lgicos
Operador Operao
Ex: int x =0; int y =3; boolean b = ( 10 < 3 ); boolean c = (x <= y); boolean d = ( x != 50 ); b false c true d true

Expresses
Operadores de Bitwise e Deslocamento

~x x & y x | y x ^ y x << y x >> y x >>> y

Complemento AND OR XOR Deslocamento esquerda Deslocamento direita: com sinal Deslocamento direita: sem sinal

Altera cada bit, uns para zeros, zeros para uns Faz AND de cada bit de x com o correspondente de y Faz OR de cada bit de x com o correspondente de y Faz XOR de cada bit de x com o correspondente de y Desloca x to para a esquerda de y bits. Bits de maior ordem perdem-se. Bits direita so preenchidos a zero. Desloca x to para a direita de y bits. Bits de menor ordem perdem-se. Bits esquerda so preenchidos em funo do sinal (a zero para positivos e 1 para negativos). Desloca x to para a direita de y bits. Bits de menor ordem perdem-se. Bits esquerda so preenchidos a zero independentemente do sinal.

Expresses
Converses de tipo de dados
Se variveis no forem do mesmo tipo
Necessidade de converses de tipo porque os operadores aritmticos s funcionam com operandos do mesmo tipo possvel converter um valor para um tipo que ocupe mais espao. byte > short > int > long > float > double A converso de tipos com perda de informao permitida em alguns casos, mas tem que ser indicada explicitamente casting

Expresses
Converses de tipo. Exemplos:
int var_int = 10, resultado_int; double var_double = 5.2, resultado double; resultado_double = var_int + var_double; // 15.2 Resultado_int = var_int + var_double; // erro de compilao resultado int = (int) (var_int + var_double); // 15

Classe String
String uma classe que manipula cadeias de caracteres A classe String possui subprogramas (mtodos) para essas manipulaes
String str = Cadeia de caracteres do Java; int i = str.length(); // Tamanho da String 28 String s str.substring(0, 9); // cadeia Cadeia de char c = str.charAt(5); // Carcter na posio 5 a

Classe String
Mais subprogramas (mtodos):
String str = Isto uma String do Java; // O mtodo split quebra a String em vrias outras, // pelo separador desejado String[] palavras = str.split( ); int i = str.indexOf(uma); //retorna o ndice da palavra na String 7 // testa o comeo e o fim da String retorna boolean str.startsWith(Isto); str.endsWith(Mundo!); // true; false str = str.trim(); // elimina os espaos em branco no incio e fim str = str.replace(a,@); // substitui os caracteres // substitui uma palavra str = str.replaceAll(String,cadeia de caracteres); int alunos = 180; str = H "+alunos+" alunos no curso"; // concatenao

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html

Classe Math
Math inclui um vasto conjunto de subprogramas pr-programados (mtodos) que implementam diversas funes matemticas
Math.sqrt(x) // calcula a raiz quadrada de x Math.pow(base, expoente) // calcula a potncia de um nmero // elevado a outro Math.random() // gera um nmero aleatrio entre 0 e 1 Math.sin(x) // calcula o seno de um ngulo em radianos Math.cos(x) // calcula o co-seno de um ngulo em radianos Math.PI // valor da constante

Instrues de Entrada e Sada


Para que o programa ser til e verstil necessrio:
O utilizador fornecer dados (estado inicial) O programa comunicar os resultados obtidos (estado final) A estas operaes d-se genericamente o nome de operaes de entrada / sada
so asseguradas no Java, entre outras, pela classe System (System.in e System.out)

Instrues de Entrada e Sada


A escrita de mensagens no ecr pode ser feita utilizando os subprogramas print ou println existentes em

System.out
Ex:
System.out.print("Bom dia!"); // no muda de linha System.out.println(Ol Mundo!"); // muda de linha

Instrues de Entrada e Sada


A leitura de dados a partir da entrada padro pode ser feita utilizando de subprogramas existentes na classe Scanner do pacote (java.util) Alguns dos subprogramas existentes so:
next(), nextLine(), nextBoolean(), nextByte(), nextDouble(), nextFloat(), nextInt(), nextLong(), nextShort(), ...

Ex:
import java.util.Scanner; . . . Scanner sc = new Scanner(System.in); double var_double; System.out.print("Escreva um valor real "); var_double = sc.nextDouble(); System.out.print(O valor inserido foi: + var_double );

Estrutura de um programa
um programa em Java um conjunto de uma ou mais classes, uma das quais a classe principal do programa Esta classe deve ter o mesmo nome que o ficheiro onde o programa guardado e tem que conter um subprograma denominado main: o subprograma principal do programa

Estrutura de um programa
Tipos de componentes:
Declaraes - permitem reservar memria para o armazenamento da informao envolvida; Instrues - indicam ao computador o que deve efectuar
sequenciais, seleco e ciclo

Comentrios - facilitam a leitura do cdigo, sendo ignorados pelo compilador.

Estrutura de um programa
Exemplo:
import java.util.Scanner; public classConverte{
public static void main(String args []){
Scanner sc = new Scanner(System.in); int totalSegs, horas, minutos, segundos, segs;
//L o nmero de segundos

System.out.print("Nmero total de segundos: "); totalSegs = sc.nexInt();


//Calcula o nmero de horas (diviso inteira por 3600). Uma hora tem 3600 Segundos

horas = totalSegs / 3600;


// Calcula o nmero de segundos que sobram

segs = totalSegs % 3600;


// Calcula o nmero de minutos que existem nesses segundos

minutos = segs / 60;


//Calcula o nmero de segundos que sobram (resto da diviso anterior)

segundos = segs % 60; System.out.print(totalSegs+" segundos correspondem a "+horas+" hora(s) "+minutos+" minuto(s) e "+segundos+"segundo(s)");

Execuo: Nmero total de segundos: 5000 5000 segundos correspondem a 1 hora(s) 23 minuto(s) e 20 segundo(s)

Resumo
Palavras reservadas, smbolos, identificadores e valores em Java Comentrios Variveis e Constantes Tipos de dados bsicos Instruo de atribuio Expresses Classe String e Math Instrues de Entrada e Sada Exemplo de um programa

Anexos

Palavras Reservadas em Java


abstract catch double final implements native public switch true assert char do finally import new return synchronized try boolean class else float instanceof null short this void break const enum for int package static throw volatile byte continue extends goto interface private strictfp throws while case default false if long protected super transient

Smbolos Reservadas em Java


; ()

Indica fim de instruo. Usados em vrias situaes: Alterar a precedncia em expresses que contm vrios operadores; mtodos; operador de casting; envolvendo testes lgicos if(teste)... Declarao de tabela (array); especificao de um elemento de um tabela Fecha de instrues de seleco e repetio, bloco de instrues, valores iniciais de um tabela, mtodos e classes

[] {}

// /*..*/ ou /**..*/ : "xx" 'x' +,-,/,*,% etc @ <> % ?

Comentrio de linha Comentrio em mais de uma linha. O mesmo que /* */ mas o duplo asterisco tem um significado especial para o javadoc Usado na instruo switch e operador condicional. Literal de string. Literal de carcter. Smbolos de Operadores. Usado como anotao. (J2SE 5.0) Indica classe generica. (J2SE 5.0) Usado com a classe Formatter e printf() para especificar formatos de sada. (J2SE 5.0) Usado com o operador condicional x = boolean ? y : z; No Java 5.0, '?' tambm metacaracter nas classes generica.

Identificadores em Java
constitudos por qualquer combinao de letras, dgitos e os caracteres _ e $, desde que no comecem por um dgito Distingue-se entre maisculas e minsculas (case sensitive). Ex: identificadores diferentes: Max, max, MAX Deve-se seguir as seguintes convenes:
O nome de uma varivel comea por minscula e escreve-se em camel case (ex: areaPoligono); O nome de uma constante todo em maisculas (ex: AREA_MAX). O nome de um subprograma comea por minscula e escrevese em camel case (ex: calcularMax()); O nome de uma classe comea por maiscula (por exemplo Poligono);

Tabela ASCII

Tabela Unicode
http://www.tamasoft.co.jp/en/general-info/unicode.html

Caracteres de escape
Caracteres de escape do tipo char:
'\n' quebra de linha '\r' retorno de carro '\t' tabulao '\\' barra invertida '\b' backspace '\f' form feed '\'' pelica '\' aspas

Operadores de Atribuio
Operadores de Atribuio
x operao y equivalente a x = x operao y x e y devem ser numricos ou char excepto para "=", que permite que x e y sejam referncias para objectos. Nesse caso, x deve ser do mesmo tipo de classe ou interface que y. Operador de Atribuio. x = y; Operao aritmtica e a seguir atribuio, e.g. x += y; equivalente a x = x + y; Operao Bitwise e a seguir atribuio, e.g. x &= y; equivalente a x = x & y; Operao Shift e a seguir atribuio, e.g. x <<= n; equivalente a x = x << n;

= +=, -=, *=, /=, %= &=, |=, ^= <<=, >>=, >>>=

Estrutura de um programa
A assinatura do mtodo main(), o ponto de partida da execuo de um programa: O parmetro passado para o mtodo main() um array de Strings, que contm os valores dos
argumentos passados na linha de comando da execuo do programa. Cada palavra passada como argumento um elemento do array, parmetro do main()

Exemplo:
java PrimeiroPrograma argumento1 argumento2 argumento3

Você também pode gostar