Académique Documents
Professionnel Documents
Culture Documents
Linguagem JAVA
Bsico
Strings
Classe 1
Classe
Constituda por um
Classe 2 ou mais mtodos
Programa
Mtodo 1
Mtodo 2
Classe n
Mtodo m
Mtodo
Cdigo que executa uma
tarefa
Exemplos
razquadrada
fatorial
Rui Nunes (AEF 2014/15) 3/31
Linguagem Java Classe Principal de um Programa
Classe que contm o mtodo main (principal)
Mtodo 1
Mtodo 2
Classe 1
Mtodo m
Programa
Mtodo 1
Mtodo main
Mtodo main
Controla execuo do programa
1 mtodo executado
Rui Nunes (AEF 2014/15) 4/31
Linguagem Java Estrutura Bsica de um Programa
package nome;
import nomeCompletoClasse;
public class NomePrograma { // Classe principal ; nomePrograma c/ letra inicial maiscula
public static void main(String[] args){ // cabealho do mtodo main ; imutvel
// corpo do mtodo // significa comentrio ( cdigo fonte. No executado )
}
}
Java distingue letras maisculas das minsculas
Declarao package
Especifica nome da package a que pertencer a nova classe
Packages permitem organizar as classes
Semelhante s pastas dos sistemas de ficheiros que facilitam a gesto de ficheiros
Concretamente, so pastas dos sistemas de ficheiros
Declarao import
Permite nova classe usar classes pertencentes a outras packages
Nome completo de uma classe
nome da package seguido do nome da classe
Exemplo: import java.util.Scanner; // java.util package da classe Scanner
Modificador de acesso public
Especifica se classe/mtodo pode ou no ser usada por outras classes
Classes/mtodos pblicos podem ser usados por outras classes
Rui Nunes (AEF 2014/15) 5/31
Linguagem Java Estruturas de Dados : categorias 1/3
Categorias
Variveis // valor pode variar durante execuo do programa
Declarao de Variveis
Sintaxe // para N variveis do mesmo tipo
Tipo_de_Dado varivel_1[=valor inicial [ , , varivel_N[=valor inicial] ] ; [...] = opcional
Exemplos
int x; // tipo int guarda inteiros; por omisso, variveis numricas inicializadas a 0
int z=5; // varivel declarada e inicializada; = operador de atribuio
int x=5, y, z=1; // mltiplas variveis, do mesmo tipo, declaradas na mesma linha
Local
Em qualquer parte do corpo do mtodo
Boa regra prtica package nome;
Mais perto da utilizao import nomeCompletoClasse;
public class NomePrograma {
public static void main(String[] args){
int x;
int y = 10;
}
}
Exemplos
final int X=8; // por conveno, nomes em maisculas
final int X=9, FATOR=20; // mltiplas constantes, mesmo tipo, declaradas na mesma linha
Local
Qualquer parte do corpo do mtodo
Boa regra prtica
Mais perto da utilizao
package nome;
import nomeCompletoClasse;
public class NomePrograma {
public static void main(String[] args){
final int X=8;
}
}
Categorias
Inteiros: byte 1 byte (-128, 127) Nomes em minsculas
short 2 bytes (-32 768, 32 767)
int 4 bytes (-2 147 483 648, 2 147 483 647)
long 8 bytes (-9x1018, 9x1018)
Reais: float 4 bytes (-/+ 3.4 x 1038)
double 8 bytes (-/+ 1.7 x 10308 )
Outros: char
boolean
Exemplos
char c = 'R', opcao= 'a'; // carateres so delimitados por plicas
boolean flag = false; // valores lgicos: false e true
RAM
double nota = 18.5; // separador decimal o . (ponto)
Interface Grfica
Caixas de Dilogo
Entrada
Sada
package nome;
Mais pormenores
Slide seguinte
Rui Nunes (AEF 2014/15) 13/31
Linguagem Java Entrada de Dados - Consola 2/2
Classe Scanner
Serve para ler ficheiros de texto
Consola tratada como ficheiro de texto
Declarao de objeto Scanner
Scanner ler = new Scanner(System.in);
Cria objeto (instncia) da classe Scanner (objeto ler)
Objeto System.in representa dispositivo de entrada standard (teclado)
System classe que representa sistema de computao
in objeto da classe System que representa dispositivo de entrada padro
Por omisso, teclado
Leitura
Preciso invocar mtodo do objeto Scanner adequado ao tipo de dado a ler
Sintaxe: nomeObjetoScanner.nomeMtodo()
Exemplo: ler.nextInt() // para ler int
Exemplos de instrues para ler um dado e guard-lo numa varivel
Leitura de inteiro do tipo int: int num = ler.nextInt();
Leitura de float: float num = ler.nextFloat();
Leitura de strings: String s = ler.next(); // ex: nome simples
String s = ler.nextLine(); // ex: nomes compostos
Rui Nunes (AEF 2014/15) 14/31
Linguagem Java Entrada de Dados - Interface Grfica
Suportada pelo mtodo showInputDialog da classe JOptionPane
package nome;
// l um int e guarda em i
int i = Integer.parseInt(JOptionPane.showInputDialog("Insira um inteiro:"));
// l um long e guarda em l
long l = Long.parseLong(JOptionPane.showInputDialog("Insira um inteiro:"));
// l um double e guarda em d
double d = Double.parseDouble(JOptionPane.showInputDialog("Insira um real:"));
// l um float e guarda em f
float f = Float.parseFloat(JOptionPane.showInputDialog("Insira um real:"));
}
}
package nome;
Sintaxe
JOptionPane.showMessageDialog(null, "mensagem");
package nome;
double media;
JOptionPane.showMessageDialog(null, "No foram encontrados nmeros pretendidos");
JOptionPane.showMessageDialog(null, "Mdia=" + mdia); // Sada no formatada
String s = String.format("Mdia=%.1f",media);
}
}
Associatividade no
Precedncia Operadores mesmo nvel Exemplos
Maior [ ] . () chamada_mtodo
! ++ -- (cast) new
/ % a/b*c (a / b) * c
+ -
== !=
&&
||
?:
Menor = += -= *= /= %= a -= b += c (a -= b) += c
Exemplos
package nome;
}
}
package nome;
int x, y, z;
if (x>5)
y=4; // bloco {...} no obrigatrio para uma instruo
if(x>5 && x<10){ // bloco obrigatrio por haver mais de uma instruo
y=10;
z=100;
}
if (x>0) {
System.out.println(x + " um n positivo");
} else {
System.out.println(x + "no um n positivo");
}
}
}
Exemplos
package nome;
int x, y, z;
switch(x){
case 1: case 3:
z = y * 2;
break; break termina execuo do switch;
case 6: seno, so executadas as instrues
z = 12; do caso seguinte
break;
case 2: case 4: case 7:
y = 45;
z = 23;
break;
default:
z=50;
}
}
}
Exemplos
package nome;
char opcao;
switch(opcao){
case '1': case 'a':
break; break termina execuo do switch;
case '2': case 'a': seno, so executadas as instrues
do caso seguinte
break;
case '0': case 's': case 'S' :
break;
default:
}
}
}
Sintaxe
Exemplos
package nome;
public class NomePrograma {
public static void main(String[] args){
int c, y;
Scanner ler = new Scanner(System.in);
c = 1;
while(c<=25){
System.out.println(c);
c++;
}
do {
y = ler.nextInt();
} while(y>0);
for(c=1; c<=25; c++){ // um PARA(c 1 AT 25 PASSO 1)
System.out.println(c);
}
for(c=25; c>=1; c--) // for(); no terminar com ponto-e-vrgula
System.out.println(c);
}
}
Rui Nunes (AEF 2014/15) 26/31
Linguagem Java Converso de Tipos Numricos 1/4
Valores Numricos
Explcita (cast)
Converso Implcita
Declarada implicitamente
Exemplo: short x = 1389;
long y = x;
Usada
Converso para tipos maiores ou iguais
Exceto long float
Tipos
Sem perda de preciso
Possvel perda de preciso
char
float double
Converso Explcita
Declarada explicitamente
Atravs de um cast
long y = (long) x;
Sintaxe de um cast
(tipo_alvo) nome_varivel
Tipos
char
float double
Exemplos
package nome;