0% acharam este documento útil (0 voto)
4 visualizações66 páginas

Introdução à Linguagem Java

O documento é uma introdução à linguagem de programação Java, abordando seu histórico, características, tipos de dados, operadores e estruturas de controle. Java é descrita como uma linguagem simples, robusta, orientada a objetos, portável e segura, com suporte a múltiplas bibliotecas. O texto também menciona ferramentas de desenvolvimento e fornece exemplos de sintaxe e uso de arrays.

Enviado por

Andrei Flores
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações66 páginas

Introdução à Linguagem Java

O documento é uma introdução à linguagem de programação Java, abordando seu histórico, características, tipos de dados, operadores e estruturas de controle. Java é descrita como uma linguagem simples, robusta, orientada a objetos, portável e segura, com suporte a múltiplas bibliotecas. O texto também menciona ferramentas de desenvolvimento e fornece exemplos de sintaxe e uso de arrays.

Enviado por

Andrei Flores
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java - Introdução à Linguagem

Thiago Martins (thiago@[Link]), Fabio Gagliardi Cozman

PMR2300/PMR3200
Escola Politécnica da Universidade de São Paulo

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Histórico

1 Início com projeto da Sun para criar software para


utilitários (1990);
2 Linguagem Oak, projetada por Gosling (1994);
3 Linguagem Java é criada para atuar na World Wide Web
(1995);
4 Versões: 1.0.2, 1.1.x, 1.2 (Java2), 1.3, 1.4...

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é

Simples, orientada a objetos, distribuída, interpretada, segura,


neutra a arquiteturas, portável, de alta performance, dá suporte
a múltiplas linhas de processamento, dinâmica. (conforme
propaganda da Sun, no Java Whitepaper, [Link])

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Explicando as Palavras

1 Neutra a arquiteturas, portável -> Interpretada -> De alta


performance
2 Segura
3 Simples
4 Orientada a objetos
5 Robusta

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Neutra a Arquiteturas

1 Source (.java) -> Compilador (javac)


2 Bytecode (.class) -> Interpretador (java)
Java é interpretada, mas de um jeito especial

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é interpretada

1 Código fonte é compilado (transformado em bytecodes) e


então interpretado pela JVM
2 Em linhas gerais:
1 Linguagens compiladas: código fonte é transformado em
código de máquina e armazenado para execução
2 Linguagens interpretadas: cada instrução é transformada
em código de máquina e executada imediatamente e
individualmente

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é Realmente Portável

1 Tipos são padronizados: byte tem 8 bits, short tem 16 bits,


int tem 32 bits, long tem 64 bits
2 Operações matemáticas são padronizadas float, double
tem representação IEEE754 NaN funciona (!)
3 Caracteres são padronizados char é caracter Unicode com
16 bits

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é Segura

1 Nenhum acesso direto à memória (ponteiros)


2 Controle sobre operações de sistema
3 Verificação de bytecodes (conceito de sandbox)

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é Simples

1 Não há controle de memória pelo programador


2 Não há: pointer, union, enum, typedef
3 Não há prototypes
4 Não há pre-processador
5 Não há sobrecarga de operadores, herança múltipla,
templates (para C++)

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é Simples e Familiar

public class Echo {


public s t a t i c void main ( S t r i n g [ ] args ) {
f o r ( i n t i = 0 ; i < args . l e n g t h ; i ++)
System . o u t . p r i n t l n ( args [ i ] ) ;
}
}

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é Robusta

1 Sistema de tipos é rígido


2 Verificação de tipos em tempo de execução:
LinkedList a;
b = (HashTable)a;

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java é Realmente Robusta

1 Verificação de vetores em tempo de execução


2 Verificação de null-pointer em tempo de execução
3 Manipulação de exceções é parte da linguagem
4 Inicialização automática para qualquer variável

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Em Resumo, Java...

1 Simples, Robusta, Orientada a Objetos


2 Portável
3 Segura
4 e tem uma variedade de libraries: interfaces gráficas
(AWT, Swing) suporte para linhas de processamento, rede,
imagens, sons vetores, stacks, hashtables, etc

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Ferramentas

1 JDK:
1 appletviewer, jar, java, javac, javadoc, jdb javah, javakey,
javap, native2ascii
2 Livre
1 NetBeans
2 Eclipse

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Informações

1 Documentação e download em site da Oracle


2 Concentre-se em Java Standard Edition (SE), versão JDK
7 (não use beta!)
3 Tutorial (em Learning):
[Link]

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Linguagem

/ ∗ Classe Echo para t e s t e . ∗ /


public class Echo {
/ / Entrada : main
public s t a t i c void main ( S t r i n g [ ] args ) {
f o r ( i n t i = 0 ; i < args . l e n g t h ; i ++)
System . o u t . p r i n t l n ( args [ i ] ) ;
System . e x i t ( 0 ) ;
}
}

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Tipos de Dados Primitivos

boolean (valores true ou false).


char (caracteres em Unicode, usando 2 bytes).
byte, short, int, long (inteiros usando respectivamente 1, 2,
4 e 8 bytes).
float, double (reais em formato IEEE usando
respectivamente 4 e 8 bytes).

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Tipos de Dados Primitivos

Uma variável cujo tipo é um tipo primitivo está armazenada no


Stack do programa em execução.
Além desses tipos primitivos existem os tipos criados por
recursos de orientação a objetos. Um desses tipos é especial:
o tipo String permite o uso do operador "+” para concatenação
Ou seja,

"oi” + "pessoal” resulta na String "oi pessoal”.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Fluxo de Controle

1 if, else
2 while
3 do, while
4 switch
5 for
6 break
7 continue

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Operadores

Aritméticos
1 Soma +
2 Subtração -
3 Multiplicação *
4 Divisão /
5 Resto da Divisão %

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Operadores

Atribuição
1 ’=’
2 ’+=’ : op1 += op2 equivale a op1 = op1 + op2
3 ’-=’ : op1 -= op2 equivale a op1 = op1 - op2
4 ’*=’ : op1 *= op2 equivale a op1 = op1 * op2
5 ’/=’ : op1 /= op2 equivale a op1 = op1 / op2
6 ’%’=’ : op1 %= op2 equivale a op1 = op1 % op2

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Operadores

Operações booleanas bit-a-bit


1 ’&’ : Operação AND bit-a-bit.
2 ’|’ : Operação OR bit-a-bit.
3 ’ˆ’ : Operação XOR (ou exclusivo) bit-a-bit.
4 ’˜’ : Operação NOT bit-a-bit.
5 ’«’ : Deslocamento à esquerda (multiplica por potências de
2).
6 ’»’ : Deslocamento à direita com sinal.
7 ’»>’ : Deslocamento à direita sem sinal.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Operadores

Comparação
1 ’>’: Maior que
2 ’<’: Menor que
3 ’==’: Iguais
4 ’!=’: Diferentes
5 ’>=’: Maior ou igual que
6 ’<=’: Menor ou igual que

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Operadores

Lógicos
1 ’&&’ : devolve true se ambos operandos forem true.
2 ’||’ : devolve true se algum dos operandos for true
3 ’!’ : Nega o operando que se passa.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Arranjos

1 Unidimensionais: int[2], Button[10], Object[122]


2 Multidimensionais: int[3][44][3]
3 Criados com new: int[] a = new int[2];
4 Não precisam ser removidos (“coleta de lixo”)

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Declaração e Alocação

Todo vetor deve ser declarado e então alocado: Considere a


linha de código:
int[] a= new int [10];
Temos:
int[] → tipo;
a → nome;
new → necessário para reservar memória;
[10] → tamanho.
Uma sintaxe alternativa, mais próxima da sintaxe da linguagem
C, é:
int a[]= new int [10];

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Exemplos: Declaração e Alocação

int b [ ] ; / / declara .
b= new i n t [ 2 0 ] ; / / a l o c a
double c [ ] [ ] = new double [ 2 ] [ 2 ] ; / / d e c l a r a e a l o c a
double d [ ] [ ] = new double [ 2 ] [ ] ; / / d e c l a r a e a l o c a
c [ 0 ] = new double [ 2 0 ] ; a l o c a
c [ 1 ] = new double [ 3 0 ] ; aloca

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Referências

As variáveis que denotam vetors são referências; estas


variáveis apenas guardam endereços de memória. Portanto,
se fizermos:
i n t x [ ] = new i n t [ 1 0 ] ;
temos que x guarda o endereço de um vetor com 10
elementos.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

length

Todo vetor a é automaticamente associado a uma variável


[Link] que retorna o tamanho do vetor. O primeiro
elemento de um vetor a tem índice 0 e o último elemento de a
tem índice [Link] - 1.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Exemplos: length

a [ i ]=138;
a [ i ] [ i +1]=2.3 + x [ i ] [ i ] ;
i =a . l e n g t h ;
j =x [ 4 ] . l e n g t h ;
s=new s t r i n g [ 5 ] ;
y=s [ ( s . l e n g t h − 1 ) ] ;

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Exemplo 1

O seguinte exemplo inicializa um vetor bidimensional:


i n t t [ ] [ ] = new i n t [ 1 0 ] [ ] ;
f o r ( i n t i =0; i < t . l e n g t h ; i ++) {
t [ i ] =new i n t [ i + 1 ] ;
f o r ( i n t j =0; j <( i + 1 ) ; j ++)
t [ i ] [ j ]= i + j ;
}

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Exemplo 2

O seguinte exemplo copia o conteúdo de um vetor em outro:


i n t a [ ] = new i n t [ b . l e n g t h ] ;
f o r ( i n t i =0; i <b . l e n g t h ; i ++)
a [ i ]=b [ i ] ;

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Orientação a Objetos

Programas são organizados em torno de classes e objetos


public class C i r c l e {
public double x , y , r ;
public double area ( ) {
r e t u r n ( Math . PI ∗ r ∗ r ) ;
}
}

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Declaração e Criação de Objetos

1 Declare: Circle c;
2 Crie: c = new Circle();
3 Declare, crie e inicialize: Circle c = new Circle(1,2,3);

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Métodos e Construtores

1 Chamando um método: [Link]();


2 Construtor simples: public Circle ()
3 Outro construtor (sobrecarga):
public Circle(double x, double y, double r)

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Polimorfismo (sobrecarga)

Dois métodos tem nomes diferentes se tiverem


parâmetros de tipos diferentes.
Exemplo: read(int), read(int, int), read(double), read(char,
int, int).
Métodos com valor de retorno diferente não podem
receber o mesmo identificador.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Variáveis de Classe

Variável associada à classe (não a objetos)


public class C i r c l e {
s t a t i c i n t num_circles ;
...
a = C i r c l e . num_circles ;
...
}
Exemplo: [Link]

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Métodos de Classe

1 Método associado à classe


2 Exemplos importantes: [Link], [Link], [Link],
[Link], etc
3 Método declarado como static: public static void
main(String args[]) public static double sqrt(double v)

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Hierarquias e Heranças

1 Classes podem ser estendidas


2 Objetos herdam variáveis e métodos
3 Superclasse é referida por super
4 Métodos são superpostos, variáveis não (chamada do
método é associada a implementação durante execução!)

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Coleta de lixo

1 Java não tem recursos na linguagem para liberar memória


2 Memória é liberada automaticamente através de um
processo denominado “coleta de lixo” (garbage collection)
3 Quando coletados, objetos podem ser finalizados pelo
método finalize()

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Além disso

1 Packages: grupos de classes (package)


2 Import: inclusão de classes
3 Importante: através das regras de uso de packages e
imports, Java mantem uma estrutura de nomes que
impede colisões

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Acesso a Objetos

1 Possíveis situações:
1 public - todas as classes
2 (package) - só no pacote
3 protected - só no pacote e subclasses
4 private - só na classe
2 Dica: construa packages pequenos para garantir
encapsulamento de dados

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Copiando Objetos

Para copiar referências:


Object a , b ;
a = b;
Um exemplo:
public void swap ( O b j e c t a , O b j e c t b ) {
O b j e c t temp = a ;
a = b;
b = temp ;
}

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Pacotes

1 Packages: grupos de classes (package)


2 Inclusão de classes e pacotes (import)
3 Através do uso de pacotes, Java mantém uma estrutura de
nomes que evita colisões.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Pacotes Java

1 Java 1.0:
1 lang (automático!)
2 io, applet, awt (image, peer), net, util
2 Java > 1.0:
1 beans, math, security, text, swing, sql...

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Java e OO: Resumo

1 Variáveis: primitivas e de referência; Strings; locais; final.


2 Objetos: this; super; new; finalize; coleta de lixo
3 Classes: public; extends; final
4 Arrays: new; coleta de lixo
5 Métodos: this; super; construtores; sobrecarga;
superposição; public, private, protected; static; final

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Classes Abstratas

1 Objetivo: implementar alguma funcionalidade, mas deixar


funcionalidade para sub-classes
2 Classes abstratas não geram objetos

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Interfaces

1 Uma “classe abstrata” que só tem métodos abstratos e


constantes (static final) para sub-classes
2 Define a “interface” entre classes (!)
3 Uma das mais poderosas ferramentas para especificação
de software, e um substituto para herança múltipla

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Manipulação de Exceções

Novos termos:
1 try - uma região de código
2 catch - uma condição de exceção
3 finally - uma região de código
Além disso, um método pode throw/throws exceções

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Exceções são Objetos

1 Classes de exceções podem ser definidas e estendidas


2 [Link] Throwable [Link] [Link]
3 Em geral, nunca use catch para tratar um objeto Error

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Exceções devem ser Tratadas

1 Tratamento:
1 Uso de try e catch
2 Uso de throws
2 Java exige tratamento de toda exceção que não estenda
Error ou [Link]

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Blocos try-finally

1 É possível usar try e finally sem tratar exceções


2 Objetivo: garantir finalização de procedimentos (fechar
arquivos, conexões, etc), mesmo com break, continue ou
return
3 Uso de throws

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Pacotes Importantes

1 [Link]
2 [Link]
3 [Link]
1 ref
2 reflect
4 [Link]
5 [Link]
6 [Link]
1 acl
2 cert
3 interfaces
4 spec

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Pacotes Importantes

1 [Link]
2 [Link]
1 jar
2 zip
3 [Link]
Além disso temos SWING (interface gráfica), criptografia,
conectividade, bases de dados, etc.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

String

String S = “exemplo” + “!”;


Método toString() em todo objeto → usado para imprimir.
1 [Link]();
2 [Link](4); // de 4 ao final
3 [Link](4,6); // caracteres 4 e 5
4 [Link](3);
5 [Link]();
6 [Link]();
7 [Link]();

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

String

1 [Link](“ab”);
2 [Link](“ab”);
3 [Link](“ab”);
1 < 0 se s < “ab00
2 = 0 se s = “ab00
3 > 0 se s > “ab00
4 [Link]();
5 [Link](“ab”);

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Ainda sobre Strings

1 Método toString() aplicado a todo objeto: String s =


[Link]();
2 Classe StringBuffer: – capacity, length, charAt, append,
insert, reverse
3 Classe StringTokenizer (muito útil!)
4 Escapes: – \b, \t, \n, \”,\xxx...

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Classes “Empacotadoras”

1 Boolean Byte, Short, Integer, Long, Float, Double,


Character
2 Métodos: [Link](String s)
3 [Link], [Link].
4 [Link](int x), [Link](int x),
Integer.MAX_VALUE, Integer.MIN_VALUE.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Math, System

1 [Link]/sin/tan/acos/asin/atan/exp/log/pow/
ceil/floor/round/toDegrees.
2 Note: [Link] contém BigInteger, BigDecimal.
3 System: exit, currentTimeMillis, arraycopy
4 System:
1 PrintStream out, err
2 InputStream in

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

[Link]

1 Pacote para Entrada/Saída de dados (arquivos, teclado,


monitor)
2 Classe File: permite manipular arquivos e diretórios
(tamanhos, datas, permissões).
3 InputStream e OutputStream: ler e escrever sequências de
bytes.
4 Reader e Writer: ler e escrever sequências de caracteres.

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Ler do teclado

Variável [Link]:
import j a v a . i o . ∗ ;
BufferedReader b r =
new BufferedReader (new
InputStreamReader ( System . i n ) ) ;
String n;
try {
n = br . readLine ( ) ;
} catch ( IOException e ) { }

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Ler de arquivo

import j a v a . i o . ∗ ;
try {
BufferedReader b r =
new BufferedReader (new F i l e R e a d e r ( ’ ’ h . t x t ’ ’ ) ) ;
S t r i n g l i n e = br . readLine ( ) ;
while ( l i n e ! = n u l l ) {
System . o u t . p r i n t l n ( l i n e ) ;
l i n e = br . readLine ( ) ;
}
br . close ( ) ;
} catch ( IOException e ) { }

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Escrever em arquivo

Classe PrintWriter:
import j a v a . i o . ∗ ;
try {
F i l e f = new F i l e ( ’ ’ d i r ’ ’ , ’ ’ hey . t x t ’ ’ ) ;
P r i n t W r i t e r pw =
new P r i n t W r i t e r (new F i l e W r i t e r ( f ) ) ;
pw . p r i n t l n ( ’ ’HEY! F i l e w i t h ’ ’ + f . l e n g t h ( ) ) ;
pw . c l o s e ( ) ;
} catch ( IOException e ) { }

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Outros Métodos

Existem muitos outros métodos para:


1 ler de arquivos binários
2 ler de strings
3 ler da rede
4 ler dados comprimidos
5 ler dados criptografados
6 escrever nas mesmas condições

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

[Link]

import j a v a . n e t . ∗ ;
import j a v a . i o . ∗ ;
public class Download {
public s t a t i c void main ( S t r i n g args [ ] ) {
String linha ;
i f ( args . l e n g t h >0) {
try {
URL u = new URL( args [ 0 ] ) ;
DataInputStream h t m l =
new DataInputStream ( u . openStream ( ) ) ;
while ( ( l i n h a = h t m l . r e a d L i n e ( ) ) ! = n u l l )
System . o u t . p r i n t l n ( l i n h a ) ;
html . close ( ) ;
} catch ( E x c e p t i o n e ) { System . e r r . p r i n t l n ( e ) ; }
}
}

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem


Introdução Dicas Linguagem OO Classe Recursos Pacotes Abstratas Exceções Packages... Classes..

Collections
Até Java 1.1, tinhamos na plataforma Java:
Vector: sequência de itens com tamanho variável,
implementada com vetor;
Stack: implementação de Pilha;
Hashtable: implementação de Hashtable.
Após Java 1.1 foram introduzidas várias classes:

Thiago Martins, Fabio Cozman Java - Introdução à Linguagem

Você também pode gostar