You are on page 1of 78

Universidade do Vale do Paraba

Colgio Tcnico Antnio Teixeira Fernandes


Disciplina Programao Orientada a Objetos - III

Material I-Bimestre
Fundamentos da linguagem Java
(Programao Orientada a Objetos)
Site : http://www1.univap.br/~wagner

Prof. Responsvel
Wagner Santos C. de Jesus
Introduo a Linguagem Java
Linguagem Java tem origem com nome
Inspirado em uma xcara de caf quente por
durante as fases de projeto da linguagem os
programadores tomavam muito caf.

Smbolo Mascote
Aplicaes
Genricas (comercial ou cientfica)
Criao de servidores (redes)
Criao de Interfaces para jogos
Criao de Framewoks
Criao de softwares para rea de
Biocincias.
Criao de softwares para celulares
Criao de softwares embarcados
A Linguagem Java
Desenvolvida na
dcada de 90 por uma
equipe de
programadores
chefiada por James
Gosling, na empresa
Sun Microsystems.
Os mentores do projeto
eram Patrick Naughton,
Mike Sheridan, e James
Programador Canadense
Gosling. Foto 2005
Histrico sobre (Java)
A linguagem Java se tornou oficial a todo o
mundo em 1995, depois que a Netscape a
licenciou para o uso do navegador
Navigator. Atualmente existem outras
opes para a Web mais quando a
linguagem Java foi criada ela revolucionou
a natureza de pginas na web. Os (Applets)
Java. Essa linguagem e um produto criado
pela empresa norte americana Sun
Microsystem.
As ferramentas de programao Rad
(Desenvolvimento Rpido de Aplicaes) para Java.

Jbuilder empresa (Borland)


Forte empresa (Sun) FreeWare
SunSoft (Sun)
Java WorkShop (sun)
JDK, JSDK (Sun) FreeWare (*)
Visual Caf (Symantec)
VisualAge for Java (IBM)
LJ-Java (Colgio Tcnico A.T.F.) Univap - 2002
Principais Caractersticas da Linguagem Java
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
Orientao a objeto - Baseado no modelo de Smalltalk e Simula67;
Portabilidade - Independncia de plataforma - "write once run anywhere";
Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a
cooperao com protocolos TCP/IP, como HTTP e FTP;
Segurana - Pode executar programas via rede com restries de execuo;
Alm disso, podem-se destacar outras vantagens apresentadas pela linguagem:
Sintaxe similar a Linguagem C/C++ e principalmente, a C#.
Facilidades de Internacionalizao - Suporta nativamente caracteres Unicode;
Simplicidade na especificao, tanto da linguagem como do "ambiente" de
execuo (JVM);
distribuda com um vasto conjunto de bibliotecas (ou APIs);
Possui facilidades para criao de programas distribudos e multitarefa
(mltiplas linhas de execuo num mesmo programa);
Desalocao de memria automtica por processo de coletor de lixo (garbage
collector);
Carga Dinmica de Cdigo - Programas em Java so formados por uma
coleo de classes armazenadas independentemente e que podem ser
carregadas no momento de utilizao.
Um programa Java atinge essa independncia atravs de um recurso
denominado como Mquina Virtual Java(JVM).

Exemplo : Um programa tradicional Compilado.(Delphi)

Seu
Cdigo(Delphi) Compilador
Windows Arquivo Binrio
Windows

----------
Compilador
------ Mact.
---------- Arquivo Binrio
--------- Mact.
Compilador
-------- Linux
Arquivo Binrio
Linux
O que (JVM)
O termo em Java para representar um
processo parecido com o de cima mais de
forma que qualquer plataforma consiga
entender e executar suas instrues
chamado de ByteCode. (Que vem a ser a
mquina virtual Java). Que conhecida
como interpretador Java ou runtime
Java.
Funcionamento da JVM
Compile Runtime
Class Loader

Byte Code Verifier


SO
Javac hello.java
interpretador Code Generator

Hello.class RunTime
hardware
O que o ByteCode

Obs : O bytecode semelhante ao cdigo de


mquina produzido por outras linguagens,
mas ele no especfico de nenhum
processador. Ele acrescenta um nvel entre o
cdigo-fonte e o cdigo de Mquina.
Programa Multiplataforma da Linguagem Java.

Cdigo
Java Interpretador
Bytecode Java(Windows)
Java(Independente
---------- da Plataforma)
------ Interpretador
---------- Java(Mac)
--------- Compilador
-------- Java Interpretador
Java(Linux)
A linguagem Java Orientada a Objetos.

A programao Orientada a Objetos -


Tambm chamada(OOP) um modo de
conceituar um programa de computador
como um conjunto de objetos que se
interagem. Para alguns, ela apenas um
modo de organizar programas em qualquer
linguagem pode ser usada para criar
programas orientados a objetos.
Introduo ao Conceito
de Orientao
Objetos
Classe
Vem a ser uma estrutura de dados criada
para dar origem ou modelar um objeto.

Carro

Propriedades

Marcha
Freio
Embreagem
Motor
Mtodo :

Mtodo vem a ser um grupo de instrues


em uma classe que define como os objetos
da classe se comportaro. Os mtodos so
anlogos s funes em outras linguagens.
Mtodo da classe carro
Devem ser descritos com uma ao
(verbo) que podem controlar o estado do
objeto.
Exemplo :
Mudar_Marcha(estado_marcha)
Marcha = estado_marcha{0,1,2,3,4....}
Freiar_carro(estado_freio)
Freio = estado_freio{true,false}
Estrutura de uma classe
Carro

Propriedades

Marcha
Freio
Embreagem
Motor

Mtodos
Mudar_Marcha(..)
Freiar_Carro(..)
Objetos

uma instncia de uma classe. Um


objeto capaz de armazenar estados atravs
de seus atributos e reagir a mensagens
enviadas a ele, assim como se relacionar e
enviar mensagens a outros objetos.
Exemplo de objeto
Carro obj_carro1 = Carro ()
Carro obj_carro2 = Carro ()

obj_carro1.Freiar_carro(true)
obj_carro1.Mudar_Marcha(3)
obj_carro2.Freiar_carro(false)
Herana
Herana (ou generalizao) o mecanismo
pelo qual uma classe (sub-classe) pode estender
outra classe (super-classe), aproveitando seus
comportamentos (mtodos) e variveis possveis
(atributos). H Herana mltipla quando uma
sub-classe possui mais de uma super-classe. Essa
relao normalmente chamada de relao "
um". Um exemplo de herana: Mamfero super-
classe de Humano. Ou seja, um Humano um
mamfero.
Estrutura de Herana

Veiculo

Propriedades

Marcha
Freio
Mtodos
Mudar_Marcha(..)
Freiar_Carro(..)
Exemplo: Herana

Veiculo

Carro Moto Bicicleta


Polimorfismo
Polimorfismo o princpio pelo qual duas ou mais
classes derivadas de uma mesma superclasse podem
invocar mtodos que tm a mesma assinatura (lista de
parmetros e retorno) mas comportamentos distintos,
especializados para cada classe derivada, usando para tanto
uma referncia a um objeto do tipo da superclasse. A
deciso sobre qual o mtodo que deve ser selecionado, de
acordo com o tipo da classe derivada, tomada em tempo
de execuo, atravs do mecanismo de ligao tardia. No
caso de polimorfismo, necessrio que os mtodos tenham
exatamente a mesma identificao, sendo utilizado o
mecanismo de redefinio de mtodos. Esse mecanismo de
redefinio no deve ser confundido com o mecanismo de
sobrecarga de mtodos.
Exemplo: Polimorfismo
Herda
Carro Veiculo

Mtodos
Mudar_Marcha(..)
Freiar_Carro(..)
Polimorfismo
Podem haver implementaes diferentes
para o mesmo mtodo.

Animal Barulho()

Cachorro Gato Cavalo

Barulho() Barulho() Barulho()


Latir Miar Relinchar
Polimorfismo ou sobrecarga
parmetros
:
:
Mudar_Marcha(bool estado_marcha)
:
:
Mudar_Marcha(char estado_marcha)
:
:
Introduo a
Programao em Java
Definindo um programa em Java
Classes :

Todo programa na linguagem Java uma classe que


permite nela atribuir mtodos e objetos
pertencentes a ela.

Uma classe vem a ser um modelo para o objeto que


contm variveis para descrev-los e mtodos para
descrever como eles se comportam. As Classes
podem herdar variveis e mtodos de outras
classes.
Tipos Bsicos

Os tipos bsicos de dados em Java so


String, (Alfanumricos), int (nmeros
Inteiros) e double (nmeros com casas
decimais) boolean(Operadores true, false).
Exemplo de declarao de tipos em Java.
String a = "null"; (Cria a varivel a para receber uma
String)

int x = 0; (Cria a varivel x para receber um inteiro).


boolean teste = true; (Cria a varivel teste para receber
um boolean).

double lista = 2.3; (Cria a varivel lista para receber um


nmero fracionrio).

Obs : poder ser criada a varivel sem atribuir valores


para a mesma em alguns casos.
Exemplo: String x;
Operadores Aritmticos do Java.

(+) - soma
(-) - Subtrao
(*) - Multiplicao
(/) - Diviso
(%) - Mdulo (Resto da Diviso)
Exemplo de Operaes :
int a=3;
a *= 5; // multiplica o valor da varivel a
por 5 o resultado ser 15.
int k = 3;
int j = 2;
int m = k % j; // O resto da diviso de trs por
2 igual 1 portanto o resultado ser 1.
Operadores Relacionais.
>- Maior que
< - Menor que
= = - Igual a ( somente para nmeros)
!= - Diferente de
>= - Maior ou Igual
<= - Menor ou Igual
Operadores Lgicos.

&& - and
|| - or
! - not
? : - Abreviao do if/then/else
Exemplo de Operador ?:

int a = 5;
int b = 7;
boolean valor = b > a ? true : false;
Operadores de Incremento e Decremento.

++ => Equivalente x++ / x = x + 1


_ _ => Equivalente y-- / y = y - 1
Estruturas de Controle da
linguagem Java.
Em Java como em qualquer linguagem
temos as trs estruturas bsicas de
programao so elas.

a) Condio
b) Atribuio
c) Repetio
Se a for igual a 3. Exemplo.

b = a++ (O valor da varivel b ser 3 e da


varivel a = 4).

b = ++a ( O valor da varival b ser 4 e da


varivel a = 4).

Obs : Idem para operao de subtrao


if( ) - Analisa se uma condio verdadeira
ou falsa.

Sintaxe :

if (<condio>) {
<Bloco de Instrues-1>
}
else { <Bloco de Instrues-2> }

Obs : Em Java o smbolo ( { )- Representa Begin e ( } ) -


Representa end
Exemplo : if()

int a = 1;
if( a == 5)
System.out.println("Valor de (a) esta Correto");
else
System.out.println("Valor de (a) esta Invalido !!!!");

Obs : A classe System.out.Println() permite imprimir uma


informao no video.(saida padro)
while( ) - Cria uma repetio
condicional.

Sintaxe :

while( <condio> ) {
<Instruo>
}
Exemplo: while()

int a = 1;
while( a <= 5) {

System.out.println(a);
a++;
}
for ( ) - Cria uma repetio sequncial mediante a
uma condio.

Sintaxe :

for (<varivel de inicializao>;< condio >;<varivel de incremento>) {


<Bloco de Instrues>
}
Exemplo : for()

for(int i=1;i<=5;i++) {
System.out.println(i);
}
Observao Importante : Todos os comandos da
linguagem Java devem estar escritos em letras
minsculas.
Comandos break e continue.

Exemplo do comando break:

int a=1;
while(a <= 5) {
if(a == 3)
break;
System.out.println(a);
a++; }
Exemplo do comando continue:
int a=1;
while(a <= 5) {
if(a = = 3) {
a=1;
continue;
}
System.out.println(a);
a++;
}
Usar a estrutura switch(), que corresponde ao case do delphi
o select case VB.

switch(<Varm>) {
Exemplo:
case valor1 :
.....................
break;
case valor2 :
........................
break;
case valor3 :
........................
break;
default :
........................
}
Exemplo. switch

switch(opcao) {

case 1 :
System.out.println("UM");
break;
case 2 :
System.out.println("DOIS");
break;
case 3 :
System.out.println("TRS");
break;
default :
System.out.println("Nenhum desses nmeros foi teclado !!!!");
}
Estrutura de um programa em Java

class : Declara uma classe em Java.

Como todo programa em Java vem a ser


uma classe ento toda a vez que formos
escrever um programa Java devemos usar o
comando class que declara uma classe.
Exemplo :

class teste {
:
<Bloco de Instrues>
}
Mtodo
Por sua vez toda as classe so composta de
mtodos que realizam tarefas como no
exemplo abaixo.

public static void main(String args[]) {


:
:
}
public - Onde a palavra chave public
significa que esse mtodo ser reconhecido
por todas as outras classes e mtodos.
(objetos)

static - Significa que esse mtodo no ser


nunca instnciado.

void - Significa que o mtodo no ir


retornar nenhum valor.
main - Vem a ser o prprio mtodo que
onde toda a aplicao escrita ir funcionar.

args[] - Vem a ser um vetor criado pelo


Java automaticamente com parmetros
passados pela linha de comandos esse vetor
ser sempre do tipo String.
Exemplo de um programa Java para ser
compilado em laboratrio.

class exemplo2 {
public static void main(String args[]) {
System.out.println("Alo Mundo!!!!");
}
}
Estudando o Vetor de parmetros da
Linguagem Java

Em Java o mtodo main() aceita um parmetro


que permite com que informaes sejam passadas
da linha de comandos direto para o programa esse
argumento(Parmetro) tem o nome simblico de
args[] mais pode ser alterado para qualquer outro
nome como qualquer outra varivel.

Obs : Esse argumento que deve ser passado para o


mtodo main() deve ser sempre uma String. Como
j foi visto.
Exemplo Prtico:

public static void main(String args[]) {


System.out.println(args[0])
}
Exemplo de execuo de um programa
Java com passagem de parmetros

C:\java\aula\>java exemplo2 Maria Pedro


Na posio 0 como foi ilustrado na figura
acima existe a string maria e na posio 1
do vetor a string pedro.

Exemplo : args[0] = "Maria"


args[1] = "Pedro"
Mtodo : parseInt() - Converte uma string em
nmero inteiro.

Exemplo :

String a = "123";
int x = Integer.parseInt(a);

Converte o valor da String a = "123" para um


nmero inteiro.
Mtodo : parseDouble() - Converte uma
string em nmero ponto flutuante.
Exemplo :

String a = "123.75";
double x = Double.parseDouble(a);

Converte o valor da String a = "123" para


um nmero de ponto flutuante.
Formatando sadas:

printf ( ) Mtodo que realiza a formatao


dos valores na sada padro; Por intermdio
do smbolo de porcentagem.

Sintaxe :
System.out.printf(%<formato>,<Varm>);
Formatos vlidos
Formato Tipo do Valor
%d Valor inteiro decimal
%f Valor em ponto flutuante
%c Caracter em formato ASCII
%s String de caracteres
%u Inteiro decimal sem sinal
%i Valor inteiro decimal
%o Valor inteiro octal
%x Valor inteiro hexadecimal
%% Caracter %
\n Pula uma linha aps impresso
Exemplo :
double a = 2.2;
System.out.printf("%2.3f\n",);
Resultado : 2,200

int b = 255;
System.out.printf("%4d\n",b);
Resultado : b255

b = Espao em branco
int b = 255;
System.out.printf("%X\n",b);
Resultado : FF

System.out.printf("%o\n",b);
Resultado : 377

int ch = 97;
System.out.printf("%c\n",ch);
Resultado : a
double a = 2.2;
System.out.printf("%e\n",a);
Resultado : 2.20000e+00

System.out.printf("%d %2d %3d\n",3,5,7);


Resultado : 3bb5bbb7
String str1 = ana;
System.out.printf("%s\n",str1);
Resultado : ana

System.out.printf("%S\n",str1);
Resultado : ANA

double a = 2.2;
String st = ana;
System.out.printf("%S %1.1f\n",st,a);
Resultado : ANA 2,2
Escopo com variveis
Quando um varivel em java declarada
no interior de uma estrutura seus valores e
referncias sero mantidos durante o
momento em que a estrutura estiver sendo
executada, depois disso essa varivel no
mais ter finalidade para o programa
devendo ser destruda, caso o programador
tente usar essa varivel logo aps a
execuo dessa estrutura o compilador ir
detectar erro.
Varivel : Permanncia de valor
Varivel

Estrutura de Permanece o valor


repetio da varivel caso a
mesma esteja
declarada fora de
Estrutura de uma estrutura.
Condio

Varivel
Varivel : No Permanncia de
valor

Estrutura de
No Permanece o
repetio
valor da varivel
caso a mesma esteja
Varivel
declarada fora de
uma estrutura.
Estrutura de
Condio

No Existe essa
Varivel
varivel
Exemplo : Varivel Global
int a = 1;
for( int i=1;i<=10;i++) {
System.out.println(i);
}
System.out.println(i);
System.out.println(a);

Neste exemplo o compilador ir enviar um erro de


sintaxe dizendo no reconhecer o smbolo (i), mas
para a varivel (a) estaria tudo correto.
Exemplo : Varivel Global
class teste{
public static void main(String args[]){

int i=1;
for(;i<=10;i++) {
int a = 1;
System.out.println(i);
}
System.out.println(i);
System.out.println(a);
}}
Neste exemplo o tratamento com a varivel (i) estaria
correto, o funcionamento do programa estaria
comprometido pela varivel (a).
Criando Entrada de dados (padro)

Importar o pacote util, indicando as classe


Scanner; Apartir da verso (5.0)
Exemplo :
import java.util.Scanner;
Diagrama UML (associao Scanner)

classe Prog
Scanner

java.util
Exemplo

Cria um objeto da classe Scanner.

Exemplo:

Scanner scan = new Scanner( System.in );


Usando os mtodos da classe Scanner.
Mtodos Resultado
next() Realiza a leitura de uma string pelo
teclado.
nextInt() Realiza a leitura de um inteiro pelo
teclado.
nextDouble() Realiza a leitura de um ponto
flutuante preciso dupla pelo teclado.
nextBoolean() Realiza a leitura de um boolean pelo
teclado.
nextFloat() Realiza a leitura de um float pelo
teclado.
Exemplo programa :
import java.util.Scanner;

public class scan


{
public static void main( String [] args )
{
Scanner scan = new Scanner( System.in );

System.out.print("Qual seu nome: ");


String seuNome = scan.next( );

}
}

You might also like