Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de...

31
Nelson Freire (ISEP–DEI-APROG 2012/13) 1/31 Linguagem JAVA Básico APROG Algoritmia e Programação

Transcript of Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de...

Page 1: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 1/31

Linguagem JAVA Básico

APROG Algoritmia e Programação

Page 2: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 2/31

Estrutura de um Programa

Geral

Básica

Estruturas de Dados

Variáveis

Constantes

Tipos de Dados

Primitivos

Referências

Interfaces com o Utilizador

Consola

Gráfica

Linguagem Java Sumário

Operadores

Tipos

Atribuição

Aritméticos

Relacionais

Lógicos

Outros

Precedências

Instruções

Entrada

Saída

Atribuição

Decisão

Repetição

Conversão de Tipos Numéricos

Strings

Page 3: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 3/31

Programa Java

Constituído por uma ou mais classes

Linguagem Java Estrutura Geral de um Programa

Programa

Classe 1

Classe 2

Classe n

Método 1

Método 2

Método m

Classe Constituída por um

ou mais métodos

Método

Código que executa

tarefa

Exemplos

raízquadrada fatorial

Page 4: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 4/31

Classe que contém o método main (principal)

Método main

Controla execução do programa

1º método executado

Linguagem Java Classe Principal de um Programa

Classe 1

Classe i Classe Principal

(Main Class)

Programa

Método 1

Método 2

Método m

Método 1

Método 2

Método main

Page 5: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 5/31

package nome;

import nomeCompletoClasse;

public class NomePrograma { // Classe principal ; nomePrograma c/ letra inicial maiúscula

public static void main(String[] args){ // cabeçalho do método main ; é imutável

// corpo do método }

}

Java distingue letras maiúsculas das minúsculas

Declaração package

Especifica nome da package a que pertencerá nova classe

Packages permitem organizar classes Semelhante às pastas dos sistemas de ficheiros que facilitam a gestão de ficheiros Concretamente, são pastas dos sistemas de ficheiros

Declaração 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/método pode ou não ser usada por outras classes Classes/métodos públicos podem ser usados por outras classes

Linguagem Java Estrutura Básica de um Programa

// significa comentário ( ≠ código fonte. Não é executado )

Page 6: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 6/31

Categorias

Variáveis // valor pode variar durante execução do programa

Constantes // valor é constante durante execução do programa

Linguagem Java Estruturas de Dados : categorias 1/3

Page 7: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 7/31

Declaração de Variáveis

Sintaxe // para N variáveis do mesmo tipo

Tipo_de_Dado variável_1[=valor inicial] [ , …, variável_N[=valor inicial] ] ;

Exemplos

int x; // tipo int guarda inteiros; por omissão, variáveis numéricas inicializadas a 0

int z=5; // variável declarada e inicializada; = é operador de atribuição

int x=5, y, z=1; // múltiplas variáveis, do mesmo tipo, declaradas na mesma linha

Local

Em qualquer parte do corpo do método

Boa regra prática

Mais perto da utilização

[...] = opcional

Linguagem Java Estruturas de Dados : variáveis 2/3

package nome;

import nomeCompletoClasse;

public class NomePrograma {

public static void main(String[] args){

int x;

...

int y = 10;

...

}

}

Page 8: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 8/31

Declaração de Constantes

Sintaxe // para N constantes do mesmo tipo

final Tipo_de_Dado constante_1=valor [ , …, constante_N=valor] ;

Exemplos

final int X=8; // por convenção, nomes em maiúsculas

final int X=9, FATOR=20; // múltiplas constantes, mesmo tipo, declaradas na mesma linha

Local

Qualquer parte do corpo do método

Boa regra prática

Mais perto da utilização

Linguagem Java Estruturas de Dados : constantes 3/3

package nome;

import nomeCompletoClasse;

public class NomePrograma {

public static void main(String[] args){

final int X=8;

...

final int FATOR = 20;

...

}

}

[...] = opcional

Page 9: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 9/31

Um Tipo de Dados Define

Conjunto de dados

Conjunto de operações possíveis sobre esses dados

Tipos de Dados são Classificados como

Primitivos // dados são valores simples

// Ex: valores inteiros e valores reais

Referências (ou Não-Primitivos) // dados são referências de memória de objetos

// referência = endereço

// definidos por classes

// Ex: classe String - guarda texto

Linguagem Java Tipos de Dados : classificação 1/3

Page 10: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 10/31

Categorias

Inteiros: byte 1 byte (-128, 127) 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 são delimitados por plicas

boolean flag = false; // valores lógicos: false e true

double nota = 18.5; // separador decimal é o . (ponto)

Variável de Tipo Primitivo

Guarda um valor simples

Ex: int x = 5;

Conteúdo de variável de tipo primitivo

RAM

...

5

...

x

Linguagem Java Tipos de Dados : primitivos 2/3

Nomes em minúsculas

Page 11: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 11/31

Definidos por Classes

Exemplos

String // guarda texto; ver slides Java - Classes

Scanner // leitura do teclado da consola

Formatter // escrita formatada na consola

Variável de Tipo Referência

Exemplos

String cidade;

String nome = "Nico";

String ave = "águia";

Guarda uma referência de objeto da classe declarada

Referência = endereço de memória

Considerada objeto

Exemplos

nome

ave

Conteúdo de variável de tipo referência

RAM

...

referência de objeto

...

ave

...

águia

Objeto da Classe String

Linguagem Java Tipos de Dados : referências 3/3

Nomes de classes iniciadas com letra maiúscula

Page 12: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 12/31

Tipos

Consola

Interface Textual

Interface Gráfica

Caixas de Diálogo Entrada

Saída

Linguagem Java Interfaces com o Utilizador

Page 13: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 13/31

Suportada por objeto da classe Scanner // classe da package java.util

Mais pormenores Slide seguinte

package nome;

import java.util.Scanner; // importa classe Scanner para usar em main

public class NomePrograma { public static void main(String[] args){ int n; long y; double x; String nome, nome_composto; …

Scanner ler = new Scanner(System.in); // declara um objeto Scanner para ler do teclado …

n = ler.nextInt(); // lê um int do teclado e guarda em n y = ler.nextLong(); // lê um long do teclado e guarda em y x = ler.nextDouble(); // lê um double do teclado e guarda em x … nome = ler.next(); // lê uma string do teclado e guarda em nome nome_composto= ler.nextLine(); // lê uma linha e guarda em nome_composto …

} }

Linguagem Java Entrada de Dados - Consola 1/2

Page 14: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 14/31

Classe Scanner

Serve para ler ficheiros de texto

Consola tratada como ficheiro de texto

Declaração de objeto Scanner

Scanner ler = new Scanner(System.in);

Cria objeto (instância) da classe Scanner (objeto ler)

Objeto System.in representa dispositivo de entrada standard (teclado)

System é classe que representa sistema de computação

in é objeto da classe System que representa dispositivo de entrada padrão

Por omissão, teclado

Leitura

Preciso invocar método do objeto Scanner adequado ao tipo de dado a ler

Sintaxe: nomeObjetoScanner.nomeMétodo()

Exemplo: ler.nextInt() // para ler int

Exemplos de instruções para ler um dado e guardá-lo numa variável

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

Linguagem Java Entrada de Dados - Consola 2/2

Page 15: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 15/31

Suportada pelo método showInputDialog da classe JOptionPane

package nome;

import javax.swing.JOptionPane; // importa classe JOptionPane

public class NomePrograma {

public static void main(String[] args){

… // lê uma string e guarda em nome String nome = JOptionPane.showInputDialog("Insira um 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:")); …

}

}

Linguagem Java Entrada de Dados – Interface Gráfica

Page 16: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31

Suportada pelos métodos print, println e printf do objeto System.out

System é classe que representa sistema de computação

out é objeto da classe System que representa dispositivo de saída padrão

Por omissão, ecrã

Métodos de escrita

System.out.print("mensagem");

System.out.println("mensagem");

System.out.printf(string_formatação, lista_parâmetros) ;

Também pode ser usada a classe Formatter

package nome;

public class NomePrograma { public static void main(String[] args){ …

System.out.print("Operação impossível!"); // Escreve mensagem e coloca cursor no fim … System.out.println("Divisão por zero!!"); // Escreve mensagem e coloca cursor no início da // linha seguinte

... System.out.printf("Média=%.1f",media); // Saída formatada; Escreve a media (double) // com uma casa decimal. Exemplo: Média=15.3 }

}

Linguagem Java Saída - Consola

printf - consultar o método String.format nos slides Java-Classes

Page 17: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 17/31

Suportada pelo método showMessageDialog da classe JOptionPane

Sintaxe

JOptionPane.showMessageDialog(null, "mensagem");

package nome;

import javax.swing.JOptionPane; // importa classe JOptionPane

public class NomePrograma {

public static void main(String[] args){

double media; … JOptionPane.showMessageDialog(null, "Não foram encontrados números pretendidos");

… JOptionPane.showMessageDialog(null, "Média=" + média); // Saída não formatada

... String s = String.format("Média=%.1f",media);

JOptionPane.showMessageDialog(null, s); // Saída formatada

}

}

Linguagem Java Saída – Interface Gráfica

Page 18: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 18/31

Atribuição = // Ex: x = x + z;

Aritméticos + // Soma - // Subtracção * // Produto / // Divisão real ou inteira; Divisão inteira se ambos os operandos forem inteiros. % // Resto da divisão

Relacionais > // Maior >= // Maior ou igual < // Menor <= // Menor ou igual != // Diferente == // Igual

Lógicos && // AND || // OR ! // NOT ; Ex: !(x<0 && y>10)

Outros ++ // Incrementa variável de 1 unidade; Ex: contador++ ou ++contador -- // Decrementa variável de 1 unidade; Ex: contador-- ou --contador

Linguagem Java Operadores 1/2

Page 19: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 19/31

[ ] . () chamada_método

! ++ -- (cast) new

* / % a / b * c (a / b) * c

+ -

< <= > >= instanceof

== !=

&&

||

?:

= += -= *= /= %= a -= b += c (a -= b) += c

Maior

Menor

Associatividade no mesmo nível Exemplos Operadores Precedência

Precedências dos Operadores

Linguagem Java Operadores 2/2

Page 20: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 20/31

Sintaxe

variável = expressão; // expressão tem de ser do tipo da variável

Exemplos

package nome;

public class NomePrograma { public static void main(String[] args){ int x, y; double z; int d, idade; … x = 5; …

d = idade – 12; // idade e d têm de ser do mesmo tipo … z = x * 10 – Math.pow(2,5); // Math.pow(2,5) = 25

}

}

Linguagem Java Instrução de Atribuição

Page 21: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 21/31

Sintaxe

if (condição) { // = SE ... ENTÃO // acção

} // bloco = { ... } ; obrigatório para acção com mais de 1 instrução

if (condição) { // = SE ... ENTÃO ... SENÃO

// acção 1 } else {

// acção 2 }

// = CASO ... SEJA

switch(expressão) { // expressão tem de ser do tipo inteiro, caracter ou string

case valor_1[: case valor_2: ...: case valor_m] : // acção_1; break;

case valor_n[: case valor_o: ...: case valor_v] : // acção_2; break; ... default : // acção_por_omissão; // opcional; Última escolha; Pode não ser a última

}

Linguagem Java Instruções de Decisão 1/4

Page 22: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 22/31

Exemplos

package nome;

public class NomePrograma {

public static void main(String[] args){

int x, y, z; … if (x>5) y=4; // bloco {...} não é obrigatório para uma instrução … if(x>5 && x<10){ // bloco é obrigatório por haver mais de uma instrução y=10; z=100; }

… if (x>0) { System.out.println(x + "é um nº positivo"); } else { System.out.println(x + "não é um nº positivo"); }

} }

Linguagem Java Instruções de Decisão 2/4

Page 23: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 23/31

Exemplos

package nome;

public class NomePrograma {

public static void main(String[] args){

int x, y, z; … switch(x){ case 1: case 3: z = y * 2; break; case 6: z = 12; break; case 2: case 4: case 7: y = 45; z = 23; break; default: z=50; } … } }

break termina execução do switch; senão, são executadas as instruções do caso seguinte

Linguagem Java Instruções de Decisão 3/4

Page 24: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 24/31

Exemplos

package nome;

public class NomePrograma {

public static void main(String[] args){

char opcao; … switch(opcao){ case '1': case 'a': … break; case '2': case 'a': … break; case '0': case 's': case 'S' : … break; default: … } … } }

break termina execução do switch; senão, são executadas as instruções do caso seguinte

Linguagem Java Instruções de Decisão 4/4

Page 25: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 25/31

Sintaxe

while (condição) { // = ENQUANTO

// corpo do ciclo

}

do { // = REPETIR ... ENQUANTO

// corpo do ciclo

} while (condição); // termina com ;

for(inicialização contador; condição de funcionamento; passo){ // = PARA

// corpo do ciclo

}

Linguagem Java Instruções de Repetição 1/2

Page 26: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 26/31

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(c1 ATÉ 25 PASSO 1) System.out.println(c); } … for(c=25; c>=1; c--) // for(…); não terminar com ponto-e-vírgula System.out.println(c);

}

}

Linguagem Java Instruções de Repetição 2/2

Page 27: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 27/31

Valores Numéricos

Linguagem Java Conversão de Tipos Numéricos 1/4

Valor Sufixo Exemplo Considerado do Tipo

INTEIRO

Sem 123456789 int

L 123456789L long

l 123456789l

REAL

Sem 12.34 double

F 12.34F float

f 12.34f

Page 28: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 28/31

Tipos de Conversão

Implícita

Explícita (cast)

Linguagem Java Conversão de Tipos Numéricos 2/4

Page 29: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 29/31

Conversão Implícita

Declarada implicitamente

Exemplo: short x = 1389;

long y = x;

Usada

Conversão para tipos maiores ou iguais

Exceto long float

Tipos

Sem perda de precisão

Possível perda de precisão

byte short int long

char

float double

Linguagem Java Conversão de Tipos Numéricos 3/4

Page 30: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 30/31

Conversão Explícita

Declarada explicitamente

Através de um cast

Exemplo: short x = 1389;

long y = (long) x;

Sintaxe de um cast

(tipo_alvo) nome_variável

Exemplo: double x = 13.89;

int y = (int) x; // Parte decimal é truncada (y=13)

Tipos

Sem perda de precisão

Possível perda de precisão

byte short int long

char

float double

Linguagem Java Conversão de Tipos Numéricos 4/4

Page 31: Linguagem JAVA - dei.isep.ipp.ptnfreire/JAVA - Linguagem. Básico.pdf · Linguagem Java Entrada de Dados – Interface Gráfica . Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31 ...

Nelson Freire (ISEP–DEI-APROG 2012/13) 31/31

Inserir numa String

Newline

"...\n ... "

TAB

"...\t ... "

Aspas

"...\"... "

Exemplos

package nome;

public class NomePrograma { public static void main(String[] args){ System.out.println("\n MENU "); System.out.println("\t 1 – Ler um nome"); System.out.println("\t 2 – \"Eliminar\" elementos do array"); …

}

}

Linguagem Java Strings