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

Cap. 02 - Características Iniciais de Java

Java, lançada em 1995 pela Sun Microsystems, é uma linguagem de programação orientada a objetos com sintaxe similar a C/C++. Possui uma vasta biblioteca de classes, é independente de plataforma e utiliza um modelo de compilação e interpretação através da Máquina Virtual Java. O documento também aborda a estrutura básica de programas Java, tipos de dados, manipulação de strings, operadores aritméticos e conceitos de métodos e construtores.

Enviado por

Jesse Aguiar
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)
19 visualizações30 páginas

Cap. 02 - Características Iniciais de Java

Java, lançada em 1995 pela Sun Microsystems, é uma linguagem de programação orientada a objetos com sintaxe similar a C/C++. Possui uma vasta biblioteca de classes, é independente de plataforma e utiliza um modelo de compilação e interpretação através da Máquina Virtual Java. O documento também aborda a estrutura básica de programas Java, tipos de dados, manipulação de strings, operadores aritméticos e conceitos de métodos e construtores.

Enviado por

Jesse Aguiar
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
Você está na página 1/ 30

2.

Características Iniciais de Java


- Lançada pela Sun Mycrosystems em 1995
- Linguagem gratuita (http://java.sun.com)
- J2SDK ( Java 2 Software Development Kit - kit de
desenvolvimento fornecido pela Sun - antiga versão 1.2)
- Sintaxe similar a C / C++
- Java (local de origem de um tipo de café)
- Orientada a Objetos
- Java apresenta uma biblioteca de classes bastante grande
- tipos de programas:
Applets: programas que são inseridos dentro de páginas
www. São transportados pela rede quando a página é acessada e executados
pelo navegador.
Aplicativos: programas normais que são executados em um
computador.
Isaias Camilo Boratti
- Independente de plataforma: um programa Java pode ser executado
com qualquer arquitetura de hardware e com qualquer sistema operacional
sem necessidade de recompilação (necessita da máquina virtual Java).

- Linguagem compilada e interpretada

Código fonte ByteCode java Interpretador


Compilador
Java java (Pentium)
...............
(Pentium) ............... (Máquina Virtual Java)
............... ...............
............... ...............
................ ................ Interpretador
Compilador
Java java (Sparc)
(arquivo .java) (arquivo .class)
(Sparc)

Isaias Camilo Boratti


- Toda classe em java deve ser salva em um arquivo com nome igual ao
nome da classe e com extensão .java

- Um programa Java pode ser compilado por linha de comando (prompt do


MS-DOS, por exemplo) através execução compilador fornecido pela Sun.
Para compilar: javac Principal.java

- Para cada classe compilada é gerado um arquivo em Bytecodes com o


nome da classe e cuja extensão será .class

- Para ativar a Máquina Virtual Java, ou seja para interpretar (executar):


java Principal

-Encontram-se no mercado softwares que fornecem um ambiente integrado


de desenvolvimento (IDE’s). Tais softwares utilizam o compilador e
interpretador fornecido pela Sun.
Jcreator (Xinox), JEdit, NetBeans, Borland Jbuilder, Symantec Café,
Microsoft Visual J++, etc.
// Um exemplo de programa Java
public class Principal
{
public static void main(String arg[])
{
System.out.println(“Este programa imprime esta mensagem”);
}
}

Observações:
- Todo programa java deve pelo menos uma classe contendo um método
main;
- Ao final de cada instrução devemos colocar o ; (ponto e vírgula)
- Documentação
Para colocarmos documentação em uma linha pode-se usar duas
barras consecutivas (//) enquanto que para múltiplas linhas de
documentação, deve-se iniciar com /* e finalizar com */
Isaias Camilo Boratti
public class Principal
{
/* Programa que calcula a distancia entre dois pontos
Data : 04/02/2003
Autor :Isaias */

public static void main( String x[] )


{
Interface umaI; // declara a classe do objeto umaI
umaI = new Interface(); // instancia o objeto umaI
..................................
.................................
}
}

Isaias Camilo Boratti


- Toda classe em Java tem a forma :

public class NomeDaClasse


{
“Corpo da classe - declarações de atributos e métodos”
}

-Por convenção todos os nomes de classes iniciam com letra maiúscula;


-Por convenção, os nomes de objetos, variáveis, métodos começam com letra
minúscula.
-Palavras reservadas (public, class, return, etc.) devem ser escritas sempre
em minúsculo.
-Um identificador em Java (nome de classe, nome de objeto, nome de
variável, nome de método, etc) pode ser formado por letras, dígitos,
sublinhado ( _ ) e cifrão ($) sendo que o primeiro caracter do identificador
não pode ser um dígito. Não pode ser uma palavra reservada.
- Java é “case-sensitive” ou seja, letras maiúsculas são diferentes de letras
minúsculas.
// Outro exemplo
public class Principal
{
public static void main ( String x[])
{
System.out.print(“Primeira”);
System.out.println(“linha \nSegunda linha”);
}
}

println - Após impressão posiciona o cursor no inicio da próxima linha


print - Não avança o cursor
Caracteres especiais:
\n - posiciona o cursor no inicio da próxima linha
\t - posiciona o cursor na próxima tabulação
\r - move o cursor para o início da linha atual
\\ - se quiser imprimir a barra invertida
\” - se quiser imprimir as aspas
Isaias Camilo Boratti
- As classes da biblioteca de classes de Java são agrupadas por categoria.
Estes grupos denominam-se pacotes. O comando
import javax.swing.JOptionPane;
faz com que seja importada a classe JOptionPane do pacote javax.swing

- Muitas classes da biblioteca encontram-se no pacote java.lang o qual é


automaticamente incorporado ao aplicativo em desenvolvimento (System,
Double, por exemplo)

Tipos de dados primitivos em Java


a) tipo int - dados tipo int representam quantidades inteiras. Uma
variável tipo int ocupa 4 bytes de memória. Amplitude: de -2147483648 a
2147483647
Exemplo: int a,b,c;
a = -132;
b = 2003;
b) tipo long - Representam quantidades inteiras. Ocupam 8 bytes e a
amplitude é de: -9223372036854775808 a 9223372036854775807
Exemplo: long a, b = 90; // não inicializa a variável a
a =12L; // inicializa a com 12 transf. para tipo long

c) tipo byte - Representam quantidades inteiras. Ocupam 1 byte e a


amplitude é de-128 a 127

d) tipo short - Representam quantidades inteiras. Ocupam 2 bytes e a


amplitude é de: -32768 a 32767

e) tipo float - Representam quantidades reais. Ocupam 4 bytes e a


amplitude é de: -3.40292347E+38 a 3.40292347E+38
Exemplo: float valorSalario, a;
valorSalario = 240.00f;
a = 3.056E-5f;

f) tipo double - Representam quantidades reais. Ocupam 8 bytes e a


amplitude é de -1.79769313486231570E+308 a 1.79769313486231570E+308
Exemplo: double x = 12.45d; double valor = 3.89e2;

Isaias Camilo Boratti


g) tipo char - Representam um caracter. Ocupam dois bytes e são
sempre representados entre apóstrofos.
Exemplo: char letra = ‘a’;

h) tipo boolean - São apenas dois valores: true e false. Ocupam 1 byte
Exemplo:
boolean adulto, crianca;
int idade = 21;
adulto = idade > 18;
crianca = false;

Isaias Camilo Boratti


Valores inteiros (int , byte, long e short) também podem ser representados
na base 8 ou base 16.
Base 8 --> representação deve iniciar por zero
Base 16 --> representação deve iniciar por 0x ou 0X

Exemplo: int a = 010; a b


int b = 0xA;
int c = a+b;
8 10
c
18

Isaias Camilo Boratti


Manipulação de Strings
Em Java, uma seqüência de caracteres (um string) é um objeto da
classe String (pacote java.lang).
Exemplos:
String nome, endereco, frase;
nome = new String(“Isaias”); // constrói o objeto e inicializa
endereco = “Rua A”; // constrói e inicializa
frase = new String(); /* constrói um string inicializando com
nulo */
Um valor (objeto sem identificação) da classe String deve sempre ser
especificado entre aspas.

Um valor (objeto sem identificação) da classe String pode ser


concatenado com qualquer outro valor.
String x,y; x y
x = 10 + “Isto”+20; 10Isto20 2020A
y = 10 + 10 + “” + 20+’A’;
Isaias Camilo Boratti
Operadores Aritméticos
+ --> adição
- --> subtração
* --> multiplicação
/ --> divisão inteira ou divisão real
% --> resto da divisão inteira

Hierarquia das Operações Aritméticas


1) (........)
2) * , / , % (o que aparecer primeiro da esquerda para direita)
3) + , - (o que aparecer primeiro da esquerda para direita)

Isaias Camilo Boratti


Exemplo

int a, b, c, d; a b
double x; 10 25
a = 10;
b = 25;
c= b/a; c x d
x = ( a+b-4.5)*1.5 - 2*c; 2 41.75 5
d = b % a;

Atribuições permitidas
double <-- float <-- long <-- int <-- short <-- byte <-- char

Conversão de tipo
int x = (int) 3.4; // neste caso ocorre perda por truncamento
double y = (double) 4;
int valor = (int) ’a’; // armazena o código do caracter a
Exponenciação
Java não apresenta um operador para exponenciação. Para efetuar a
operação de exponenciação, usa-se o método pow da classe Math.
Exemplo:
double y = Math.pow(x,b); // calcula x elevado a potência b
(Math é uma classe do pacote java.lang)

Variáveis x Objetos
Uma variável consiste em uma posição de memória que armazena um
determinado valor.
Exemplo:
int a, b; a b
double x;
12 12
a = 12;
b = a; x
x = a*b;
144.0
Um identificador de objeto consiste em uma posição de memória que,
após a construção do objeto, conterá o endereço do objeto. Diz-se então que o
nome de um objeto é uma referência ao objeto.
Exemplo:
Circulo c1, c2;
c1 = new Circulo(10.0);
c2 = new Circulo(5.0);
c2 = c1;
// a partir deste ponto, c1 e c2 representam (referem) o
// mesmo objeto
c1 c2

raio raio
10.0 5.0
Se quisermos inicializar uma variável que identifica um objeto sem
instanciá-lo, basta fazer:

Circulo umCirculo;
umCirculo = null; /* contem um valor de endereço válido que não
não aponta para nenhum lugar */
umCirculo

Isaias Camilo Boratti


Métodos construtores

- São utilizados para construir instâncias da classe (alocar espaço e


inicializar os atributos);
- Caso o construtor não inicialize explicitamente algum atributo, Java
fará a inicialização com determinados valores (0, ‘’, false, null) ;
- Recebem o mesmo nome da sua classe e não apresentam tipo de
retorno (nem void);
- Caso a classe não especifique nenhum construtor, o compilador
colocará automaticamente um construtor padrão, sem parâmetros;
- Para construir uma instância :
nomeDoObjeto = new NomeDoConstrutor (argumentos) ;

- Pode-se ter vários construtores na mesma classe, entretanto cada


um deve ter assinatura diferente. A assinatura de um método refere-se a
quantidade e tipos dos parâmetros.

Isaias Camilo Boratti


Java permite que um método comum tenha o mesmo nome da
classe. Neste caso, o método deve ter um tipo de retorno ou ser declarado
como void. Não é recomendável definir métodos que tenham o mesmo
nome da classe (exceto construtores onde é obrigatório que tenham o
mesmo nome da classe)

Isaias Camilo Boratti


Métodos
Na declaração de um método comum deve sempre ser especificado
qual o tipo do resultado que retornará. Caso o método não retorne nenhum
resultado seu tipo será void.

Um método é encerrado quando:


- Caso não tenha nenhum valor de retorno (void), quando for encontrado o
comando
return;
ou quando for encontrado o final do método ( } )

- Caso o método tenha um tipo, quando for encontrado o comando


return expressão;
Ocorrerá um erro de compilação caso o método tenha um tipo e não
apresente o comando return expressão;

Isaias Camilo Boratti


public class Pessoa
{
protected static int cont = 0; //atributo de classe
protected String nome; // atributo de instância
protected int idade; // atributo de instância
protected char sexo; // atributo de instância
// um construtor
public Pessoa()
{ cont = cont + 1;
}
// outro construtor
public Pessoa ( String vNome, int vIdade, char vSexo)
{ cont = cont + 1;
nome = vNome;
idade = vIdade;
sexo = vSexo;
}
Isaias Camilo Boratti
// método de classe
public static int informeQuantidade()
{ return cont;
}
// método de instância
public void recebaValorNome(String vNome)
{ nome = vNome;}
public String informeNome()
{ return nome;}
public void recebaValorIdade( int vIdade)
{ idade = vIdade;}
public int informeIdade()
{ return idade;}
public void recebaValorSexo( char vSexo)
{ sexo = vSexo;}
public char informeSexo()
{ return sexo;}
public void facaAniversario()
{
idade = idade + 1;
}
protected void finalize()
{ cont = cont –1; }
}
Observações:
1) Um atributo declarado com o modificador static será um atributo da
classe (variável de classe). Este atributo estará disponível dentro de qualquer
método da classe podendo ser acessado (compartilhado) portanto também por
todas as instâncias da classe. Entretanto, um atributo de classe é único e pertence
a classe.

2) Um método declarado com o modificador static será um método da


classe. Pode ser executado tanto pela classe quanto por uma instância da classe.
Entretanto, dentro de um método de classe não estão disponíveis os atributos de
instância (variáveis de instância).

Isaias Camilo Boratti


3) Os atributos de instância (variáveis de instância) serão aqueles que
toda instância da classe terá e estão disponíveis portanto dentro de qualquer
método de instância.

4) Um método de instância só poderá ser executado por uma instância.

5) Uma classe pode, opcionalmente, apresentar um método destrutor.


Em Java, um método destrutor tem por objetivo executar determinadas tarefas
quando o objeto for destruído, isto é, quando a área de memória alocada para o
objeto for liberada.

6) O destrutor deve ter o nome de finalize() e não pode apresentar


parâmetros.

7) O método destrutor finalize() é um método que será ativado pelo


coletor de lixo (Garbage Colector), isto é, será executado quando o coletor de
lixo for executado. O coletor de lixo tem a função de liberar a memória
originalmente alocada para objetos mas que já não é mais referida por nenhuma
variável.

Isaias Camilo Boratti


8) O coletor de lixo é executado automaticamente pelo interpretador sem a
necessidade da aplicação ativá-lo. Uma aplicação pode ativá-lo através:
System.gc();
Entretanto a execução do método gc() pela classe System faz apenas
uma sugestão ao interpretador (Java Virtual Machine) para que execute o
coletor de lixo.

Isaias Camilo Boratti


System.out.println(“Este programa imprime esta mensagem”);

Método Argumento

Atributo de
classe (objeto)

Classe

Isaias Camilo Boratti


Regras de escopo
public class MinhaClasse
{
protected static int x = 0; // atributo de classe
protected int valor; // atributo de instância
public MinhaClasse( int dado) // construtor
{
double dist;
// aqui podem ser acessados x, valor, dado e dist
// aqui podem ser acessados quaisquer métodos
}
public static void facaAlgo() // método de classe
{
long a;
// aqui podem ser acessados x, a – bem como qualquer
// método de classe
}

Isaias Camilo Boratti


public double execute( int entrada, char letra) // método de instância
{ // aqui podem ser acessados entrada, letra, x, valor - bem como
// qualquer método (de classe ou de instância)
String s = new String();
Pessoa umaPessoa = new Pessoa();
// aqui podem ser acessados entrada, letra, x, valor, s, umaPessoa
..........................
{ // inicio de um bloco
char alfa;
/* aqui podem ser acessados entrada, letra, x, valor, s,
umaPessoa e alfa */
} // fim do bloco
// aqui não existe a variável alfa
/* este método deve obrigatoriamente apresentar um comando
return com um valor tipo double */
} // fim do método
}
Se dentro de um método for declarada uma variável com o mesmo
nome de um atributo, então para este método, esta declaração se sobrepõe a
declaração do atributo. Neste caso, o atributo pode ser acessado dentro do
método através this.
public class MinhaClasse
{ protected int valor;
public int fornecaAlgo()
{ int valor = 12;
return this.valor+valor;
}
}
Se for feita uma tentativa de usar uma variável (não atributo) que não
tenha sido declarada ou que não tenha sido inicializada, isto causará uma
situação de erro.

int soma;
soma = soma + 10; // ERRO

Isaias Camilo Boratti


Variáveis declaradas dentro de um método ou declaradas dentro de
um bloco são locais a este método ou bloco. Tais variáveis só existem
durante a execução do bloco ou método.

Apesar de que Java permite colocar as declarações de atributos e


métodos em qualquer ordem é boa norma de programação declarar primeiro
os atributos e após os métodos.

Isaias Camilo Boratti

Você também pode gostar