String e Matrizes
A utilização de pacotes é conveniente no
desenvolvimento de sistemas em Java;
Utilizar pacotes permite separar as classes conforme
seu propósito, organizando grupos funcionais;
Em Java a palavra reservada
package;
O pacote a qual uma classe pertence deve ser
declarado logo na primeira linha;
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Os pacotes são de fato um conjunto de diretórios
que permitem organizar os projetos.
Projeto no Eclipse
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
A nomenclatura:
Os nomes de pacotes devem ser minúsculos;
Os prefixos java e javax estão reservados para SUN, pois denotam
pacotes da API (
Application Programming Interface - Interface de Programação
de Aplicativos
) Java;
Por convenção utiliza-se os nomes dos pacotes comerciais com o
nome do domínio das empresa ao contrario, por exemplo:
br.cefetrn.academico;
br.ufersa.academico;
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Diretiva import
Para utilizar classes pertencentes a um pacote é
empregada a diretiva
import
;
Esta deve ser declarada no inicio do código-fonte
Java, deste modo indicando quais pacotes e classes
serão necessários;
Não necessidade de importar classes que estão no
pacotes
java.lang;
Caso deseje importar todas as classes de um
pacote basta colocar um asterisco após o nome
do último pacote;
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Diretiva import
A importação de todas as classes não produz efeito
negativo, por exemplo perda de performance, ou
aumento do tamanho da classe;
No entanto é recomendado utilizar a importação
nominal de classes, pois desta forma evita problemas de
conflito quando pacotes diferentes possuem classes
com mesmo nome;
Exemplo:
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
String
Classe String
Operador
new
String s = new String(“Java”);
String s1 = new String (“É Muito Legal”);
São indexados a partir do zero
“CEFET” usa os índices 0, 1, 2, 3, 4;
Pode ser concatenada com o operador +
Tratamento especial para String
(Não é necessário utilizar o
operador new para criar um objeto String);
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
String: Nota
Texto entre aspas são objetos da classe
String:
1.String s = “Isto é uma String”
2. Não é necessário utilizar new
Classe String
Imutabilidade dos Objetos String:
1 - A operação acima colocou 3 objetos da classe String na memória;
2 - Cada atribuição que fazemos a um objeto String, na verdade estamos
criando uma nova instância para aquele objeto, ou seja, estamos
criando um novo objeto;
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Métodos de String
Mais alguns métodos
int length()
retorna o tamanho da String
char charAt(int i)
retorna o caractere no índice i
int indexOf(char c)
Retorna o índice do caractere c
char[] toCharArray()
Retorna a String em forma de array
String toLowerCase()
Retorna nova String toda minúscula
String toUpperCase()
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Exercício: String Métodos
Fazer uma aplicação que solicita o
nome do usuário e depois imprime
o seu nome ao contrario.
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Declarando um Array
Declaração da variável array
<type> [] variable_name;
int [] prime;
int prime[];
Todas as sitaxes são equivalentes
Nenhuma memória foi alocada até o
momento. O vetor ainda não foi criado
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Definição de um vetor
Defina um array com a seguir:
nome_variável=new <type>[N];
primes=new int[10];
Declarando e inicializando na mesma senteça:
int[] primes=new int[10];
Em JAVA, int ocupa 4 bytes
Representação Gráfica
0
1
2
3
4
5
6
7
8
9
2
1
11 -9 2
1
11 90 101 2
prime
Index
valor
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Índices válidos
JAVA verifica se o valor do índice é válido no
momento da execução
Se índice e negativo ou maior que o tamanho do
vetor, então será gerada uma exceção
IndexOutOfBoundException
O programa terminara a menos que o erro seja
tratado pelo - try {} catch {}
O que acontece se…
long[] primes = new long[20];
primes[25]=33;
….
Runtime Error:
Exception in thread “main”
java.lang.ArrayIndexOutOfBoundsException: 25
at MorePrimes.main(MorePrimes.java:6)
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Reutilizando vetores
Array variable is separate from array itself
Como as variáveis, os vetores pode assumir valores
diferentes no programa
Use vetores para acessar vetores
int[] primes=new int[10];
……
primes=new int[50];
O vetor anterior é descartado
O tipo não pode ser alterado
Initializing Arrays
Initialize and specify size of array while declaring an
array variable
int[] primes={2,3,5,7,11,13,17}; //7 elements
Você pode inicializar um vetor com um vetor já
existente
int[] even={2,4,6,8,10};
int[] value=even;
One array but two array variables!
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Graphical Representation
0
1
2
3
4
2
4
6
8
10
even
value
Demonstration
long[] primes = new long[20];
primes[0] = 2;
primes[1] = 3;
long[] primes2=primes;
System.out.println(primes2[0]);
primes2[0]=5;
System.out.println(primes[0]);
Array Length
Refer to array length using length
A data member of array object
array_variable_name.length
for(int k=0; k<primes.length;k++)
….
Sample Code:
long[] primes = new long[20];
System.out.println(primes.length);
Output: 20
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]
Change in Array Length
If number of elements in the array are
changed, JAVA will automatically change the
length attribute!
Sample Program
class MinAlgorithm
{
public static void main ( String[] args )
{
int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ;
int min=array[0]; // initialize the current minimum
for ( int index=0; index < array.length; index++ )
if ( array[ index ] < min )
min = array[ index ] ;
System.out.println("The minimum of this array is: " + min );
}
}
ALBERTO WILLIAN MASCARENNHAS http://sites.google.com/site/awmascarenhas/ [email protected]