Linguagem de
Programação
Orientada a Objetos
Java
2
Tipos Primitivos
 Os tipos inteiros em Java são:
 byte (8 bits) ; (antigo char do C e C++)
 short (16 bits) ;
 int (32 bits)
 long (64 bits)
 Não há nada em Java para especificar um
tipo inteiro sem sinal, como em C e C++.
 O tipo de ponto flutuante em Java são:
 float (32 bits)
 double (64 bits).
 O tipo char declarado em Java define um
caracter de 16 bits, seguindo o padrão
Unicode (ASCII – 7 bits)
3
Tipos Primitivos
 Os tipos booleanos em Java, diferentemente
dos similares em C, não podem ser
convertidos para nenhum tipo numérico.
Valores booleanos em Java assumem
apenas true ou false.
 Todos os tipos primitivos têm valores default.
Todos os tipos numéricos são inicializados
para 0, o tipo caracter e inicializado para o
Unicode 0 e variáveis do tipo booleano são
inicializadas para false.
4
Tipos Primitivos
byte Inteiro 8-bit, complemento de 2,
faixa :-128 até 127
short Inteiro 16-bit, complemento de 2,
faixa.-32768 até 32767
int Inteiro 32-bit, complemento de 2,
faixa.-2147483648 até 2147483647
long Inteiro 64-bit, complemento de 2,
faixa.-9223372036854775808 até
9223372036854775807
5
Tipos Compostos
 Todos os tipos em Java que não são
primitivos são tipos de referência a objetos,
incluindo arrays.
 Um array em Java, como qualquer outro
objeto deve ser alocado dinâmica e
explicitamente com o operador new.
 O acesso aos elementos do array segue o
estilo de indexação de C. Porém, com
checagem do tamanho do array
6
Tipos Compostos
 A API fornece a classe Vector que possibilidade
a construção de vetores dinâmicos. Vale
lembrar que o acesso a essa classe Vector é
toda feita através de métodos e não de
operadores de arrays.
 Strings em Java são objetos, e não "pseudo-
arrays" como em C. Existem duas classes na
API de Java que implementam arrays:
StringBuffer e String. A definição da linguagem
define a sobrecarga do operador de adição para
a utilização com a classe String, e de literais do
tipo String.
7
Variáveis
 Qualquer variável que não seja de um tipo
primitivo é uma variável de referência a um
objeto. Daí, concluímos que somente as
variáveis de tipos primitivos são realmente
armazenáveis.
 As variáveis de tipos compostos (não
primitivos) são referências, tem seus objetos
alocados explícita e dinamicamente através
do operador new, e não é permitido o uso de
variáveis não inicializadas.
8
Variáveis
 Vale lembrar que todos os problemas de
ponteiros foram eliminados, através da
utilização de referências (e consequentemente
sem aritmética de ponteiros) e com a
existência do garbage collector.
 As variáveis de referência a objetos têm valor
default null, ou seja, não apontam para
nenhum objeto.
9
Variáveis
 Em Java, as variáveis locais são declaradas
e alocadas dentro de um bloco e são
descartadas na saída do bloco. Parâmetros
de métodos também são considerados
variáveis locais.
 Lembre-se: Java faz diferenciação entre
maiúsculas e minúsculas
10
Variáveis
Tipo de variável Valor inicial Tamanho
byte 0 8 bits
short 0 16 bits
int 0 32 bits
long 0l 64 bits
float 0.0f 32 bits
double 0.0d 64 bits
char ‘u0000’ (Null) 16 bits
boolean false 8 bits
11
Declaração de Variáveis
 int num1; //declaração de interiros
 num1 = 10; // atribuição de valores
 char letra; // declaração de caracteres
 letra = ‘S';
 double num2; // declaração de reais
 num2 = 9.987;
 String nome; // declaração de strings
 Nome = “Maria da Silva";
 Também podemos declarar variáveis do mesmo tipo em uma
mesma linha: double x, y, z;
12
Comentários
 Estes são os três tipos permitidos de
comentários nos programas feitos em Java:
 // comentário de uma linha
 /* comentário de uma ou mais linhas */
 /** comentário de documentação */ (Arquivos de
documentação)
13
Operadores
Operadores Descrição
== Igualdade
> Maior
< Menor
>= Maior Igual
<= Menor Igual
!= Diferente
+ -*/ Aritméticos
&& E
| | Ou
~ Negação
14
Operadores de atribuição
 x = 5;
 x += 5; // x = x + 5;
 x -= 5; // x = x - 5;
 x *= 5; // x = x * 5;
 x /= 5; // x = x / 5;
 x %=5; // x = x % 5;
15
Pré-Incremento
x=10;
x=x+1;
//O valor da variável x é 11
 Ou
x=10;
++x;
//O valor da variável x é 11
16
Pós-incremento
x=10;
x=x+1;
//O valor da variável x é 11
 Ou
x=10;
x++;
//O valor da variável x é 11
17
Diferença
x=10;
y=++x;
//y tem valor 11
x=10;
y=x++;
//y tem valor 10
18
Conversão de Tipos
 Numéricos:
 Se qualquer um dos operandos for do tipo
double, então o outro será convertido para
double;
 De outro modo, se qualquer um dos operandos
for do tipo float, o outro será convertido para
float;
 Caso contrário, se qualquer um dos operandos
for do tipo long, o outro será convertido para
long;
19
Conversão de Tipos
 Conversões Explícitas:
double x = 9.997;
int nx = (int)x; //truncado, usando type cast
double x = 9.997;
int nx = (int) Math.round(x) ; //arredondado
20
Conversão de tipos
int Num1, Num2;
String N1,N2;
N1="10";
N2="20";
Num1 = Integer.parseInt(N1);
Num2 = Integer.parseInt(N2);
21
Manipulação de Strings
 Operador +
String PrimeiroNome = "Antonio";
String SegundoNome = "Carlos";
String Nome = PrimeiroNome + “ “+ SegundoNome;
//Nome = “Antonio Carlos”
22
Manipulação de String
 Substring
String Saudacao = "Boa Tarde";
String S Saudacao.substring(0,3) ;
//S=“Boa”
23
Manipulação de Strings
 Tamanho
String Saudacao = "Ola";
int n = Saudacao.length();
// O valor de n será 3.
24
Manipulação de Strings
 Igualdade
String s =“ola”;
“ola”.equals(s);
“Ola”.equalsIgnoreCase(s);
/*o operador == determina se duas strings
estão ou não armazenadas no mesmo local*/
25
Manipulação de Strings
 char charAt(int indice) - retorna o caractere da posição
especificada;
 int compareTo(String outra) - retorna um valor negativo se
a string vier antes de outra na ordem alfanumérica, ou 0 se
as strings forem iguais;
 boolean equals(outra) - retorna true se a string for igual a
outra;
 boolean equalsIgnoreCase(String outra) - retorna true se
a string for igual a outra, não fazendo diferença entre
maiúsculas e minúsculas;
 int indexOf(String str, int indiceInicio) - retorna o início da
primeira substring igual a str, começando no índice 0 ou
indiceInicio;
 int length() - retorna o comprimento da string;
26
Manipulação de Strings
 String replace(char charAnt, char charNovo) -
retorna uma nova string que é obtida substituindo-se
todos os caracteres de charAnt na string charNovo;
 String substring(int indiceInicio, int indiceFinal) -
retorna uma nova string com todos os caracteres a
partir de indiceInicio até indiceFinal;
 String toLowerCase() - retorna uma nova string
contendo todos os caracteres da string original, com as
maiúsculas convertidas para minúsculas;
 String toUpperCase() - retorna uma string contendo
todos os caracteres da string original, com as
minúsculas convertidas para maiúsculas;
 String trim() - retorna uma nova string eliminando
todos os espaços iniciais e finais da string original;
27
Entrada de Dados
 Mais simples se forem utilizadas classes
gráficas
 Exemplo de entrada de dados sem classe
gráfica – páginas 26 e 28
28
Formatação da Saída de Dados
double x = 10000.0/3.0;
NumberFormat nf;
nf = NumberFormat.getNumberInstance ();
nf.setMaximumFractionDigits(4) ;
nf.setMinimumIntegerDigits(6) ;
String fx = nf.format(x);
// a string "003,333.3333"
29
Formatação da Saída de Dados
double x = 10000.0/3.0;
NumberFormat nf;
nf = NumberFormat.getNumberInstance
(Locale.GERMANY) ;
System.out.println (nf.format (x)) ;
//3.333,333
// Locale.US …. 3,333.333
// import java.util.Locale;
//(mostrar Source/Organize Imports)
30
Formatação da Saída de Dados
 Como criar um formato particular
double x=10000.0/3.0;
DecimalFormat df ;
df = new DecimalFormat ("0.###");
System.out.println(df.format(x)) ;
31
Controle de Fluxo de Dados
 Bloco
 ou instrução composta é qualquer número de instruções
que são delimitadas por { ... }.
 definem o escopo de visibilidade das variáveis e podem
ser aninhados, ou seja, um bloco dentro do outro.
public static void main (String[ ] args)
{
int n;
...
{ int k;
...
}
}
32
Controle de Fluxo de Dados
 Comandos de seleção
 if, sendo o if de caminho simples (com else)
 switch de múltiplos caminhos:
if ( Expressão ) bloco_de_comandos
else bloco_de_comandos
switch (Expressão) {
case ExpressãoConstante : bloco_de_comandos
case ExpressãoConstante : bloco_de_comandos
default : bloco_de comandos}
Exemplo página 35 e exemplo EX03_case
33
Controle de Fluxo de Dados
 As estruturas de iteração são while, do while e for:
while ( condição_booleana ) bloco_de_comandos
do bloco_de_comandos while (condição_booleana );
for ( expr_inicial; condição_booleana ; incremento );
Exemplos páginas 35,
Ex04_whileDo, Ex05_Dowhile, Ex06_For
34
Controle de Fluxo de Dados
 Os comandos de escape englobam o return, o
continue, o break e o throw.
 O return é utilizado para interromper a execução de um
método, especificando a expressão de retorno, ou não, se o
método não for void.
 O break transfere o controle para o final da iteração no qual
está inserido, ou encerra a execução de um switch.
 O continue transfere o controle para o ponto de continuação
do loop de um comando de iteração. Ambos break e continue
podem ser acompanhados de identificadores que especificam
a qual dos loops externos estamos nos referindo, já que existe
a possibilidade de amarrar labels a comandos de iteração.
 O throw "dispara", "joga" uma exceção, desviando o fluxo para
o bloco de tratamento de exceções ou interrompendo o
programa.
35
Controle de Fluxo de Dados
 Além destes comandos existem os
chamados guarding statements que
estabelecem condições para o tratamento de
exceções e multithreading. São eles o try, o
synchronized, o catch e o finally (serão
explicados posteriormente nas seções de
tratamento de exceções e concorrência).
36
Arrays
 Arrays são o primeiro exemplo de objetos
cuja criação deve ser feita de maneira
explícita pelo programador, através do
método new.
 Uma vez definido o tamanho do array não é
possível redimensioná-lo.
 Declaração de Arrays
char s[ ];
int p[ ];
37
Arrays
 String names[ ]=new String[4];
 names[0]= "Georgina";
 names [1] = "Jen";
 names[2] = "Simon " ;
 names[3]= "Tom";
 Ou
 String[ ] names= {" georgina","jeam","tom"};
38
Arrays
 char[ ] s = {'y','b','c'};
 Ou
 char s[ ];
 s = new char[20];
 s[0]='a';
 s[1]='b';
39
Arrays
 Int[ ] p = {10,1,2,3,4,};
 Ou
 int p[ ];
 p = new int[100];
 p[0]=1;
 p[2]=2;
40
Arrays
 Exemplos páginas 37, 38
41
Arrays Multidimensionais
public class testes {
public static void main(String[ ] args) {
int duasdim [ ][ ]=new int[4][ ];
duasdim[0] = new int[5];
duasdim[1] = new int[5];
duasdim[0][0]= 1;duasdim[0][1]= 2;duasdim[0][2]= 3;
duasdim[1][0]= 5;duasdim[1][1]= 6;duasdim[1][2]= 7;
int conta, cont;
for ( conta=0;conta<2;conta++)
{
for (cont=0;cont<3;cont++)
System.out.println(" Índice= "+conta+cont+" valor=
"+duasdim[conta][cont]);
}}}
42
Caixas de Diálogo
 As caixas de diálogo são janelas que em
geral são utilizadas para exibir mensagens
importantes para o usuário de um aplicativo.
 Java 2 já inclui a classe JOptionPane que
permite que você exiba facilmente uma caixa
de diálogo contendo informações.
 Exemplo página 40,41,42
43
Entrada e Saída
 JOptionPane.showMessageDialog (null,"BEM
VINDOn À PROGRAMAÇÃO n JAVA" ) ;
 JOptionPane.showMessageDialog (null,“A =“ + 10,
“alo”, JOptionPane.PLAIN_MESSAGE ) ;
 int N1;
 N1=Integer.parseInt(JOptionPane.showInputDialog
("ENTRE COM O PRIMEIRO NÚMERO:”));
44
Entrada/Saída
Tipo de Diálogo Descrição
JOptionPane.ERROR_MESSAGE Exibe um diálogo que indica um erro para o
usuário do aplicativo.
JOptionPane.INFORMATION_MESSAGE Exibe um diálogo com uma mensagem
informacional para o usuário do
aplicativo - o usuário simplesmente
pode dispensar o diálogo.
JOptionPane.WARNING_MESSAGE Exibe um diálogo que adverte o usuário do
aplicativo de um problema potencial.
JOptionPane.QUESTION_MESSAGE Exibe um diálogo que impõe uma pergunta
para o usuário do aplicativo. Isso
normalmente requer uma resposta como
clicar em um botão Yes ou No.
JOptionPane.PLAIN_MESSAGE Exibe um diálogo que simplesmente
contém uma mensagem sem ícone.

Curso de Java Capítulo 2 - Aprendendo Novas Técnicas

  • 1.
  • 2.
    2 Tipos Primitivos  Ostipos inteiros em Java são:  byte (8 bits) ; (antigo char do C e C++)  short (16 bits) ;  int (32 bits)  long (64 bits)  Não há nada em Java para especificar um tipo inteiro sem sinal, como em C e C++.  O tipo de ponto flutuante em Java são:  float (32 bits)  double (64 bits).  O tipo char declarado em Java define um caracter de 16 bits, seguindo o padrão Unicode (ASCII – 7 bits)
  • 3.
    3 Tipos Primitivos  Ostipos booleanos em Java, diferentemente dos similares em C, não podem ser convertidos para nenhum tipo numérico. Valores booleanos em Java assumem apenas true ou false.  Todos os tipos primitivos têm valores default. Todos os tipos numéricos são inicializados para 0, o tipo caracter e inicializado para o Unicode 0 e variáveis do tipo booleano são inicializadas para false.
  • 4.
    4 Tipos Primitivos byte Inteiro8-bit, complemento de 2, faixa :-128 até 127 short Inteiro 16-bit, complemento de 2, faixa.-32768 até 32767 int Inteiro 32-bit, complemento de 2, faixa.-2147483648 até 2147483647 long Inteiro 64-bit, complemento de 2, faixa.-9223372036854775808 até 9223372036854775807
  • 5.
    5 Tipos Compostos  Todosos tipos em Java que não são primitivos são tipos de referência a objetos, incluindo arrays.  Um array em Java, como qualquer outro objeto deve ser alocado dinâmica e explicitamente com o operador new.  O acesso aos elementos do array segue o estilo de indexação de C. Porém, com checagem do tamanho do array
  • 6.
    6 Tipos Compostos  AAPI fornece a classe Vector que possibilidade a construção de vetores dinâmicos. Vale lembrar que o acesso a essa classe Vector é toda feita através de métodos e não de operadores de arrays.  Strings em Java são objetos, e não "pseudo- arrays" como em C. Existem duas classes na API de Java que implementam arrays: StringBuffer e String. A definição da linguagem define a sobrecarga do operador de adição para a utilização com a classe String, e de literais do tipo String.
  • 7.
    7 Variáveis  Qualquer variávelque não seja de um tipo primitivo é uma variável de referência a um objeto. Daí, concluímos que somente as variáveis de tipos primitivos são realmente armazenáveis.  As variáveis de tipos compostos (não primitivos) são referências, tem seus objetos alocados explícita e dinamicamente através do operador new, e não é permitido o uso de variáveis não inicializadas.
  • 8.
    8 Variáveis  Vale lembrarque todos os problemas de ponteiros foram eliminados, através da utilização de referências (e consequentemente sem aritmética de ponteiros) e com a existência do garbage collector.  As variáveis de referência a objetos têm valor default null, ou seja, não apontam para nenhum objeto.
  • 9.
    9 Variáveis  Em Java,as variáveis locais são declaradas e alocadas dentro de um bloco e são descartadas na saída do bloco. Parâmetros de métodos também são considerados variáveis locais.  Lembre-se: Java faz diferenciação entre maiúsculas e minúsculas
  • 10.
    10 Variáveis Tipo de variávelValor inicial Tamanho byte 0 8 bits short 0 16 bits int 0 32 bits long 0l 64 bits float 0.0f 32 bits double 0.0d 64 bits char ‘u0000’ (Null) 16 bits boolean false 8 bits
  • 11.
    11 Declaração de Variáveis int num1; //declaração de interiros  num1 = 10; // atribuição de valores  char letra; // declaração de caracteres  letra = ‘S';  double num2; // declaração de reais  num2 = 9.987;  String nome; // declaração de strings  Nome = “Maria da Silva";  Também podemos declarar variáveis do mesmo tipo em uma mesma linha: double x, y, z;
  • 12.
    12 Comentários  Estes sãoos três tipos permitidos de comentários nos programas feitos em Java:  // comentário de uma linha  /* comentário de uma ou mais linhas */  /** comentário de documentação */ (Arquivos de documentação)
  • 13.
    13 Operadores Operadores Descrição == Igualdade >Maior < Menor >= Maior Igual <= Menor Igual != Diferente + -*/ Aritméticos && E | | Ou ~ Negação
  • 14.
    14 Operadores de atribuição x = 5;  x += 5; // x = x + 5;  x -= 5; // x = x - 5;  x *= 5; // x = x * 5;  x /= 5; // x = x / 5;  x %=5; // x = x % 5;
  • 15.
    15 Pré-Incremento x=10; x=x+1; //O valor davariável x é 11  Ou x=10; ++x; //O valor da variável x é 11
  • 16.
    16 Pós-incremento x=10; x=x+1; //O valor davariável x é 11  Ou x=10; x++; //O valor da variável x é 11
  • 17.
    17 Diferença x=10; y=++x; //y tem valor11 x=10; y=x++; //y tem valor 10
  • 18.
    18 Conversão de Tipos Numéricos:  Se qualquer um dos operandos for do tipo double, então o outro será convertido para double;  De outro modo, se qualquer um dos operandos for do tipo float, o outro será convertido para float;  Caso contrário, se qualquer um dos operandos for do tipo long, o outro será convertido para long;
  • 19.
    19 Conversão de Tipos Conversões Explícitas: double x = 9.997; int nx = (int)x; //truncado, usando type cast double x = 9.997; int nx = (int) Math.round(x) ; //arredondado
  • 20.
    20 Conversão de tipos intNum1, Num2; String N1,N2; N1="10"; N2="20"; Num1 = Integer.parseInt(N1); Num2 = Integer.parseInt(N2);
  • 21.
    21 Manipulação de Strings Operador + String PrimeiroNome = "Antonio"; String SegundoNome = "Carlos"; String Nome = PrimeiroNome + “ “+ SegundoNome; //Nome = “Antonio Carlos”
  • 22.
    22 Manipulação de String Substring String Saudacao = "Boa Tarde"; String S Saudacao.substring(0,3) ; //S=“Boa”
  • 23.
    23 Manipulação de Strings Tamanho String Saudacao = "Ola"; int n = Saudacao.length(); // O valor de n será 3.
  • 24.
    24 Manipulação de Strings Igualdade String s =“ola”; “ola”.equals(s); “Ola”.equalsIgnoreCase(s); /*o operador == determina se duas strings estão ou não armazenadas no mesmo local*/
  • 25.
    25 Manipulação de Strings char charAt(int indice) - retorna o caractere da posição especificada;  int compareTo(String outra) - retorna um valor negativo se a string vier antes de outra na ordem alfanumérica, ou 0 se as strings forem iguais;  boolean equals(outra) - retorna true se a string for igual a outra;  boolean equalsIgnoreCase(String outra) - retorna true se a string for igual a outra, não fazendo diferença entre maiúsculas e minúsculas;  int indexOf(String str, int indiceInicio) - retorna o início da primeira substring igual a str, começando no índice 0 ou indiceInicio;  int length() - retorna o comprimento da string;
  • 26.
    26 Manipulação de Strings String replace(char charAnt, char charNovo) - retorna uma nova string que é obtida substituindo-se todos os caracteres de charAnt na string charNovo;  String substring(int indiceInicio, int indiceFinal) - retorna uma nova string com todos os caracteres a partir de indiceInicio até indiceFinal;  String toLowerCase() - retorna uma nova string contendo todos os caracteres da string original, com as maiúsculas convertidas para minúsculas;  String toUpperCase() - retorna uma string contendo todos os caracteres da string original, com as minúsculas convertidas para maiúsculas;  String trim() - retorna uma nova string eliminando todos os espaços iniciais e finais da string original;
  • 27.
    27 Entrada de Dados Mais simples se forem utilizadas classes gráficas  Exemplo de entrada de dados sem classe gráfica – páginas 26 e 28
  • 28.
    28 Formatação da Saídade Dados double x = 10000.0/3.0; NumberFormat nf; nf = NumberFormat.getNumberInstance (); nf.setMaximumFractionDigits(4) ; nf.setMinimumIntegerDigits(6) ; String fx = nf.format(x); // a string "003,333.3333"
  • 29.
    29 Formatação da Saídade Dados double x = 10000.0/3.0; NumberFormat nf; nf = NumberFormat.getNumberInstance (Locale.GERMANY) ; System.out.println (nf.format (x)) ; //3.333,333 // Locale.US …. 3,333.333 // import java.util.Locale; //(mostrar Source/Organize Imports)
  • 30.
    30 Formatação da Saídade Dados  Como criar um formato particular double x=10000.0/3.0; DecimalFormat df ; df = new DecimalFormat ("0.###"); System.out.println(df.format(x)) ;
  • 31.
    31 Controle de Fluxode Dados  Bloco  ou instrução composta é qualquer número de instruções que são delimitadas por { ... }.  definem o escopo de visibilidade das variáveis e podem ser aninhados, ou seja, um bloco dentro do outro. public static void main (String[ ] args) { int n; ... { int k; ... } }
  • 32.
    32 Controle de Fluxode Dados  Comandos de seleção  if, sendo o if de caminho simples (com else)  switch de múltiplos caminhos: if ( Expressão ) bloco_de_comandos else bloco_de_comandos switch (Expressão) { case ExpressãoConstante : bloco_de_comandos case ExpressãoConstante : bloco_de_comandos default : bloco_de comandos} Exemplo página 35 e exemplo EX03_case
  • 33.
    33 Controle de Fluxode Dados  As estruturas de iteração são while, do while e for: while ( condição_booleana ) bloco_de_comandos do bloco_de_comandos while (condição_booleana ); for ( expr_inicial; condição_booleana ; incremento ); Exemplos páginas 35, Ex04_whileDo, Ex05_Dowhile, Ex06_For
  • 34.
    34 Controle de Fluxode Dados  Os comandos de escape englobam o return, o continue, o break e o throw.  O return é utilizado para interromper a execução de um método, especificando a expressão de retorno, ou não, se o método não for void.  O break transfere o controle para o final da iteração no qual está inserido, ou encerra a execução de um switch.  O continue transfere o controle para o ponto de continuação do loop de um comando de iteração. Ambos break e continue podem ser acompanhados de identificadores que especificam a qual dos loops externos estamos nos referindo, já que existe a possibilidade de amarrar labels a comandos de iteração.  O throw "dispara", "joga" uma exceção, desviando o fluxo para o bloco de tratamento de exceções ou interrompendo o programa.
  • 35.
    35 Controle de Fluxode Dados  Além destes comandos existem os chamados guarding statements que estabelecem condições para o tratamento de exceções e multithreading. São eles o try, o synchronized, o catch e o finally (serão explicados posteriormente nas seções de tratamento de exceções e concorrência).
  • 36.
    36 Arrays  Arrays sãoo primeiro exemplo de objetos cuja criação deve ser feita de maneira explícita pelo programador, através do método new.  Uma vez definido o tamanho do array não é possível redimensioná-lo.  Declaração de Arrays char s[ ]; int p[ ];
  • 37.
    37 Arrays  String names[]=new String[4];  names[0]= "Georgina";  names [1] = "Jen";  names[2] = "Simon " ;  names[3]= "Tom";  Ou  String[ ] names= {" georgina","jeam","tom"};
  • 38.
    38 Arrays  char[ ]s = {'y','b','c'};  Ou  char s[ ];  s = new char[20];  s[0]='a';  s[1]='b';
  • 39.
    39 Arrays  Int[ ]p = {10,1,2,3,4,};  Ou  int p[ ];  p = new int[100];  p[0]=1;  p[2]=2;
  • 40.
  • 41.
    41 Arrays Multidimensionais public classtestes { public static void main(String[ ] args) { int duasdim [ ][ ]=new int[4][ ]; duasdim[0] = new int[5]; duasdim[1] = new int[5]; duasdim[0][0]= 1;duasdim[0][1]= 2;duasdim[0][2]= 3; duasdim[1][0]= 5;duasdim[1][1]= 6;duasdim[1][2]= 7; int conta, cont; for ( conta=0;conta<2;conta++) { for (cont=0;cont<3;cont++) System.out.println(" Índice= "+conta+cont+" valor= "+duasdim[conta][cont]); }}}
  • 42.
    42 Caixas de Diálogo As caixas de diálogo são janelas que em geral são utilizadas para exibir mensagens importantes para o usuário de um aplicativo.  Java 2 já inclui a classe JOptionPane que permite que você exiba facilmente uma caixa de diálogo contendo informações.  Exemplo página 40,41,42
  • 43.
    43 Entrada e Saída JOptionPane.showMessageDialog (null,"BEM VINDOn À PROGRAMAÇÃO n JAVA" ) ;  JOptionPane.showMessageDialog (null,“A =“ + 10, “alo”, JOptionPane.PLAIN_MESSAGE ) ;  int N1;  N1=Integer.parseInt(JOptionPane.showInputDialog ("ENTRE COM O PRIMEIRO NÚMERO:”));
  • 44.
    44 Entrada/Saída Tipo de DiálogoDescrição JOptionPane.ERROR_MESSAGE Exibe um diálogo que indica um erro para o usuário do aplicativo. JOptionPane.INFORMATION_MESSAGE Exibe um diálogo com uma mensagem informacional para o usuário do aplicativo - o usuário simplesmente pode dispensar o diálogo. JOptionPane.WARNING_MESSAGE Exibe um diálogo que adverte o usuário do aplicativo de um problema potencial. JOptionPane.QUESTION_MESSAGE Exibe um diálogo que impõe uma pergunta para o usuário do aplicativo. Isso normalmente requer uma resposta como clicar em um botão Yes ou No. JOptionPane.PLAIN_MESSAGE Exibe um diálogo que simplesmente contém uma mensagem sem ícone.