curso disciplina linguagem de programação ii curso ...parte-2).pdf · apoo curso 1 disciplina...

83
APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem de Programação – II Introdução aos conceitos para aplicação da POO Site : http://www1.univap.br/~wagner/ec.html Prof. Wagner Santos C. de Jesus [email protected]

Upload: others

Post on 26-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

APOO

Curso

1

Disciplina Linguagem de Programação IICurso Engenharia da Computação

Disciplina Linguagem de Programação – II

Introdução aos conceitos para aplicação da POO

Site : http://www1.univap.br/~wagner/ec.html

Prof. Wagner Santos C. de Jesus

[email protected]

Page 2: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Introdução a Linguagem JavaLinguagemJava temorigem com nome Inspirado em

uma xícara de café quente por durante as fases de projeto dalinguagemos programadores tomavammuito café.

Símbolo Mascote

2Prof. Wagner Santos C. de Jesus [email protected]

Page 3: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Aplicações• Genéricas (comercial ou científica)

• Criação de servidores (redes)

• Criação de Interfaces para jogos

• Criação de Framewoks

• Criação de softwares para área de Biociências.

• Criação de softwares para celulares

• Criação de softwares embarcados

3Prof. Wagner Santos C. de Jesus [email protected]

Page 4: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

A Linguagem Java• Desenvolvida na

década de 90 por umaequipe deprogramadoreschefiada por JamesGosling, na empresaSun Microsystems.

Programador Canadense Foto 2005

Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling.

4Prof. Wagner Santos C. de Jesus [email protected]

Page 5: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Histórico sobre (Java)

A linguagemJava se tornou oficial a todo omundo em1995, depois que a Netscape alicenciou para o uso do navegadorNavigator. Atualmente existemoutrasopções para a Web mais quando alinguagemJava foi criada ela revolucionoua natureza de páginas na web. Os (Applets)Java. Essa linguageme um produto criadopela empresa norte americanaSunMicrosystem.

5Prof. Wagner Santos C. de Jesus [email protected]

Page 6: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

As ferramentas de programação Rad (Desenvolvimento Rápido de Aplicações) 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)• NetBeans (Comunidade NetBeans; Apache

Software Foundation)• LJ-Java (Colégio Técnico A.T.F.) Univap - 2002

6Prof. Wagner Santos C. de Jesus [email protected]

Page 7: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Principais Características da Linguagem Java• A linguagem Java foi projetada tendo em vista os seguintes objetivos:• Orientação a objeto- Baseado no modelo de Smalltalk e Simula67; • Portabilidade - Independência de plataforma -"write once run anywhere"; • Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a

cooperação com protocolos TCP/IP, como HTTP e FTP; • Segurança - Pode executar programas via rede com restrições de execução; • Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:• Sintaxe similar a Linguagem C/C++ e principalmente, a C#. • Facilidades de Internacionalização - Suporta nativamente caracteres Unicode; • Simplicidade na especificação, tanto da linguagem como do "ambiente" de

execução (JVM); • É distribuída com um vasto conjunto de bibliotecas (ou APIs); • Possui facilidades para criação de programas distribuídos e multitarefa

(múltiplas linhas de execução num mesmo programa); • Desalocação de memória automática por processo de coletor de lixo (garbage

collector); • Carga Dinâmica de Código - Programas em Java são formados por uma

coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.

7Prof. Wagner Santos C. de Jesus [email protected]

Page 8: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

8

Diferença entre Java e C++.

• Ausência de estruturas e uniões.

• Ausência de #define.

• Ausência de ponteiros.

• Não é possível usar funções individuais

• Proibido o uso de goto.

• Sobrecarregamento de operadores não será permitido.

Prof. Wagner Santos C. de Jesus [email protected]

Page 9: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Funcionamento do Compilador

Java9Prof. Wagner Santos C. de Jesus

[email protected]

Page 10: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Um programa Java atinge essa independência através de um recurso denominado como Máquina Virtual Java(JVM).

Exemplo : Um programa tradicional Compilado.(Delphi)

----------------

---------------------------

Seu Código(Delphi) Compilador

Windows

Compilador Mact.

CompiladorLinux

Arquivo BinárioWindows

Arquivo BinárioMact.

Arquivo BinárioLinux

10Prof. Wagner Santos C. de Jesus [email protected]

Page 11: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

O que (JVM)

O termo emJava para representar umprocesso parecido como de cima mais deforma que qualquer plataforma consigaentender e executar suas instruções échamado deByteCode.(Que vema ser amáquina virtual Java). Que é conhecidacomo interpretador Java ou runtimeJava.

11Prof. Wagner Santos C. de Jesus [email protected]

Page 12: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Javac hello.java

Hello.class

SOByte Code Verifier

Code Generator

hardware

Class Loader

interpretador

RunTime

Compile Runtime

Funcionamento da JVM

12Prof. Wagner Santos C. de Jesus [email protected]

Page 13: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

O que é o ByteCode

Obs : O bytecode é semelhante ao código demáquina produzido por outras linguagens,mas ele não é específico de nenhumprocessador. Ele acrescenta umnível entre ocódigo-fonte e o código de Máquina.

13Prof. Wagner Santos C. de Jesus [email protected]

Page 14: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Programa Multiplataforma da Linguagem Java.

----------------

---------------------------

Código Java

Compilador Java

Bytecode Java(Independente

da Plataforma)

Interpretador Java(Windows)

Interpretador Java(Mac)

Interpretador Java(Linux)

14Prof. Wagner Santos C. de Jesus [email protected]

Page 15: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

A linguagem Java é Orientada a Objetos.

A programação Orientada a Objetos -Também chamada(OOP) é ummodo deconceituar umprograma de computadorcomo um conjunto de objetos que seinteragem. Para alguns, ela é apenas ummodo de organizar programas emqualquerlinguagem pode ser usada para criarprogramas orientados a objetos.

15Prof. Wagner Santos C. de Jesus [email protected]

Page 16: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Introdução aos Conceito Aplicados de

Orientação à Objetos

16Prof. Wagner Santos C. de Jesus [email protected]

Page 17: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

ClasseVem a ser uma estrutura de dados criada

para dar origem ou modelar um objeto.

Carro

Propriedades

Marcha

FreioEmbreagemMotor

17Prof. Wagner Santos C. de Jesus [email protected]

Page 18: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Método :

Método vema ser umgrupo de instruçõesem uma classe que define como os objetosda classe se comportarão. Os métodos sãoanálogos às funções emoutras linguagens.

18Prof. Wagner Santos C. de Jesus [email protected]

Page 19: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Método da classe carroDevem ser descritos comuma ação

(verbo) que podemcontrolar o estado doobjeto.

Exemplo :

Mudar_Marcha(estado_marcha)

Marcha = estado_marcha{0,1,2,3,4....}

Freiar_carro(estado_freio)

Freio = estado_freio{true,false}

19Prof. Wagner Santos C. de Jesus [email protected]

Page 20: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Estrutura de uma classeCarro

Propriedades

Marcha

FreioEmbreagemMotor

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

20Prof. Wagner Santos C. de Jesus [email protected]

Page 21: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Objeto

É uma instância de uma classe. Umobjeto é capaz de armazenar estados atravésde seus atributos e reagir a mensagensenviadas a ele, assimcomo se relacionar eenviar mensagens a outros objetos.

21Prof. Wagner Santos C. de Jesus [email protected]

Page 22: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo de objeto

Carroobj_carro1= Carro ()

Carroobj_carro2= Carro ()

obj_carro1.Freiar_carro(true)

obj_carro1.Mudar_Marcha(3)

obj_carro2.Freiar_carro(false)

22Prof. Wagner Santos C. de Jesus [email protected]

Page 23: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

HerançaHerança (ou generalização) é o mecanismo

pelo qual uma classe (sub-classe) pode estenderoutra classe (super-classe), aproveitando seuscomportamentos (métodos) e variáveis possíveis(atributos). Há Herança múltipla quando umasub-classe possui mais de uma super-classe. Essarelação é normalmente chamada de relação "éum". Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, umHumanoé ummamífero.

23Prof. Wagner Santos C. de Jesus [email protected]

Page 24: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Estrutura de Herança

Veiculo

Propriedades

Marcha

Freio

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

24Prof. Wagner Santos C. de Jesus [email protected]

Page 25: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo: Herança (Especialização)

Carro

Veiculo

Moto Bicicleta

25Prof. Wagner Santos C. de Jesus [email protected]

Page 26: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

PolimorfismoPolimorfismo é o princípio pelo qual duas ou mais

classes derivadas de uma mesma superclasse podeminvocar métodos que têma mesma assinatura (lista deparâmetros e retorno) mas comportamentos distintos,especializados para cada classe derivada, usando para tantouma referência a umobjeto do tipo da superclasse. Adecisão sobre qual o método que deve ser selecionado, deacordo como tipo da classe derivada, é tomada emtempode execução, através do mecanismo de ligação tardia. Nocaso de polimorfismo, é necessário que os métodos tenhamexatamente a mesma identificação, sendo utilizado omecanismo de redefinição de métodos. Esse mecanismo deredefinição não deve ser confundido como mecanismo desobrecarga de métodos.

26Prof. Wagner Santos C. de Jesus [email protected]

Page 27: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo: Polimorfismo

Carro

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

VeiculoHerda

27Prof. Wagner Santos C. de Jesus [email protected]

Page 28: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

PolimorfismoPodem haver implementações diferentes para o mesmo método.

Cachorro

Animal

Gato Cavalo

Barulho()

Barulho()

Latir

Barulho()

Miar

Barulho()

Relinchar 28Prof. Wagner Santos C. de Jesus [email protected]

Page 29: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Polimorfismo ou sobrecarga parâmetros:

:

Mudar_Marcha(bool estado_marcha)

:

:

Mudar_Marcha(char estado_marcha)

:

:

29Prof. Wagner Santos C. de Jesus [email protected]

Page 30: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Introdução a Programação em Java

30Prof. Wagner Santos C. de Jesus [email protected]

Page 31: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Definindo um programa em JavaClasses :

Todo programa na linguagemJava é uma classeque permite nela atribuir métodos e objetospertencentes a ela.

Uma classe vema ser ummodelo para o objeto quecontémvariáveis para descrevê-los e métodos paradescrever como eles se comportam. As Classespodem herdar variáveis e métodos de outrasclasses.

31Prof. Wagner Santos C. de Jesus [email protected]

Page 32: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Tipos Básicos (ou) Primitivos

Os tipos básicos de dados emJava sãoString, (Alfanuméricos), int (númerosInteiros) e double (números comcasasdecimais) boolean(Operadores true, false).

32Prof. Wagner Santos C. de Jesus [email protected]

Page 33: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Tabela de tipos de dados

String ........

Objetos manipulador de Caracteres.

-128 a 127

33

Prof. Wagner Santos C. de Jesus [email protected]

-2.147.483.648 a 2.147.483.647

-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

±5.0 × 10−324 a ±1.7 × 10308

±1,5 x 10−45 a ±3,4 x 1038

0 a 255

Page 34: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

34Prof. Wagner Santos C. de Jesus [email protected]

Page 35: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Faixa dos Tipos de DadosSystem.out.println("Tipos de dados em Java: ");System.out.println("Menor Byte: " + Byte.MIN_VALUE) ;System.out.println("Maior Byte: " + Byte.MAX_VALUE) ;System.out.println("Menor Short Int: " + Short.MIN_ VALUE);System.out.println("Maior Short Int: " + Short.MAX_ VALUE);System.out.println("Menor Int: " + Integer.MIN_VALU E);System.out.println("Maior Int: " + Integer.MAX_VALU E);System.out.println("Menor Long: " + Long.MIN_VALUE) ;System.out.println("Maior Long:" + Long.MAX_VALUE);System.out.println("Menor Float: " + Float.MIN_VALU E);System.out.println("Maior Float: " + Float.MAX_VALU E);System.out.println("Menor Double: " + Double.MIN_VA LUE);System.out.println("Maior Double: " + Double.MAX_VA LUE);

35Prof. Wagner Santos C. de Jesus [email protected]

Page 36: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo de declaração de tipos em Java.

String a = "null"; (Cria a variável a para receber umaString)

int x = 0; (Cria a variável x para receber um inteiro).boolean teste = true; (Cria a variável teste para receber

um boolean).

double lista = 2.3; (Cria a variável lista para receber umnúmero fracionário).

Obs : poderá ser criada a variável sematribuir valorespara a mesma emalguns casos.

Exemplo:String x; 36Prof. Wagner Santos C. de Jesus [email protected]

Page 37: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Operadores Aritméticos do Java.

(+) - soma

(-) - Subtração

(*) - Multiplicação

(/) - Divisão

(%) - Módulo (Resto da Divisão)

37Prof. Wagner Santos C. de Jesus [email protected]

Page 38: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo de Operações :

int a=3;

a *= 5; // multiplica o valor da variável apor 5 o resultado será 15.

int k = 3;

int j = 2;

int m = k % j; // O resto da divisão de três por2 é igual 1 portanto o resultado será 1.

38Prof. Wagner Santos C. de Jesus [email protected]

Page 39: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Operadores Relacionais.

>- Maior que

< - Menor que

= = - Igual a ( somente para números)

!= - Diferente de

>= - Maior ou Igual

<= - Menor ou Igual

39Prof. Wagner Santos C. de Jesus [email protected]

Page 40: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Operadores Lógicos.

&& - and

|| - or

! - not

? : - Abreviação do if/then/else

40Prof. Wagner Santos C. de Jesus [email protected]

Page 41: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo de Operador ?:

int a = 5;

int b = 7;

boolean valor = b > a ? true : false;

41Prof. Wagner Santos C. de Jesus [email protected]

Page 42: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Operadores de Incremento e Decremento.

++ => Equivalente à x++/ x = x + 1_ _ =>Equivalente à y-- / y = y - 1

42Prof. Wagner Santos C. de Jesus [email protected]

Page 43: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Estruturas de Controle da linguagem Java.

Em Java como emqualquer linguagemtemos as três estruturas básicas deprogramação são elas.

a) Condiçãob) Atribuiçãoc) Repetição

43Prof. Wagner Santos C. de Jesus [email protected]

Page 44: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Se a for igual a 3. Exemplo.

b = a++ (O valor da variável b será 3 e davariável a = 4).

b = ++a ( O valor da variával b será 4 e davariável a = 4).

Obs : Idem para operação de subtração

44Prof. Wagner Santos C. de Jesus [email protected]

Page 45: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Tipos de problemas

Além dos possíveis valores numéricos queuma variável de ponto flutuante pode assumirhá tambémos seguintes:

• menos infinito

• mais infinito

• zero

• NAN - not a number45Prof. Wagner Santos C. de Jesus

[email protected]

Page 46: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

if( ) - Analisa se uma condição é verdadeira ou falsa.

Sintaxe :

if (<condição>) {<Bloco de Instruções-1>

}else { <Bloco de Instruções-2> }

Obs : Em Java o símbolo ( { )- Representa Begin e ( } ) -Representa end

46Prof. Wagner Santos C. de Jesus [email protected]

Page 47: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

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 umainformação no video.(saida padrão)

47Prof. Wagner Santos C. de Jesus [email protected]

Page 48: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

while( ) - Cria uma repetição condicional.

Sintaxe :

while( <condição>) {<Instrução>

}

48Prof. Wagner Santos C. de Jesus [email protected]

Page 49: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo: while()

int a = 1;

while( a <= 5) {

System.out.println(a);

a++;

}49Prof. Wagner Santos C. de Jesus

[email protected]

Page 50: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

for ( ) - Cria uma repetição sequêncial mediante a uma condição.

Sintaxe :

for (<variável de inicialização>;< condição >;<variável de incremento>) {<Bloco de Instruções>

}

50Prof. Wagner Santos C. de Jesus [email protected]

Page 51: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo : for()

for(int i=1;i<=5;i++) {System.out.println(i) ;

}

51Prof. Wagner Santos C. de Jesus [email protected]

Page 52: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Observação Importante :Todos os comandos da linguagem Java devem estar escritos em letras

minúsculas.

Comandos break e continue.

Exemplo do comando break:

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

if(a == 3)break;System.out.println(a);a++; }

52Prof. Wagner Santos C. de Jesus [email protected]

Page 53: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo do comando continue:

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

if(a = = 3) {a=1;continue;

}System.out.println(a);a++;

} 53Prof. Wagner Santos C. de Jesus [email protected]

Page 54: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Usar a estrutura switch(), que corresponde ao case do delphi o select case VB.

switch(<Varm>) {case valor1 :

.....................break;

case valor2 :........................break;

case valor3 :........................break;

default :........................

}

Exemplo:

54Prof. Wagner Santos C. de Jesus [email protected]

Page 55: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo. switch

switch(opcao) {

case 1 :System.out.println("UM");break;

case 2 :System.out.println("DOIS");break;

case 3 :System.out.println("TRÊS");break;

default :System.out.println("Nenhum desses números foi teclado !!!!");

}55Prof. Wagner Santos C. de Jesus

[email protected]

Page 56: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Estrutura de um programa em Java

class :Declara uma classe emJava.

Como todo programa emJava vema seruma classe então toda a vez que formosescrever umprograma Java devemos usar ocomandoclassque declara uma classe.

56Prof. Wagner Santos C. de Jesus [email protected]

Page 57: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo :

class teste{:<Blocode Instruções>

}

57Prof. Wagner Santos C. de Jesus [email protected]

Page 58: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Método

Por sua vez toda as classe são composta demétodos que realizamtarefas como noexemplo abaixo.

public static void main(String args[]) {::

}

58Prof. Wagner Santos C. de Jesus [email protected]

Page 59: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

• public - Onde a palavra chave publicsignifica que esse método será reconhecidopor todas as outras classes e métodos.(objetos)

• static - Significa que esse método não seránunca instânciado.

• void - Significa que o método não iráretornar nenhumvalor.

59Prof. Wagner Santos C. de Jesus [email protected]

Page 60: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

• main - Vem a ser o próprio método que éonde toda a aplicação escrita irá funcionar.

• args[] - Vem a ser umvetor criado peloJava automaticamente comparâmetrospassados pela linha de comandos esse vetorserá sempre do tipo String.

60Prof. Wagner Santos C. de Jesus [email protected]

Page 61: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo de um programa Java para sercompilado emlaboratório.

class exemplo2 {public static void main(String args[]) {

System.out.println("Alo Mundo!!!!");}

}

61Prof. Wagner Santos C. de Jesus [email protected]

Page 62: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Estudando o Vetor de parâmetros da Linguagem Java

• Em Java o métodomain() aceita umparâmetroque permite comque informações sejampassadasda linha de comandos direto para o programa esseargumento(Parâmetro) temo nome simbólico deargs[] mais pode ser alterado para qualquer outronome como qualquer outra variável.

• Obs : Esse argumento que deve ser passado para ométodomain() deve ser sempre uma String. Comojá foi visto.

62Prof. Wagner Santos C. de Jesus [email protected]

Page 63: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo Prático:

public static void main(String args[]) {System.out.println(args[0])

}

63Prof. Wagner Santos C. de Jesus [email protected]

Page 64: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo de execução de um programa Java com passagem de parâmetros.

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

64Prof. Wagner Santos C. de Jesus [email protected]

Page 65: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Na posição 0 como foi ilustrado na figuraacima existe a string maria e na posição 1do vetor a string pedro.

Exemplo : args[0] = "Maria"

args[1] = "Pedro"

65Prof. Wagner Santos C. de Jesus [email protected]

Page 66: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Método : parseInt() - Converte uma string em número inteiro.

Exemplo :

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

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

número inteiro.

66Prof. Wagner Santos C. de Jesus [email protected]

Page 67: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Método : parseDouble() -Converte uma string em número ponto flutuante.

• Exemplo :

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

• Converte o valor da String a = "123" para um número de ponto flutuante.

67Prof. Wagner Santos C. de Jesus [email protected]

Page 68: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Formatando saídas:

printf ( ) – Método que realiza a formatação dos valores na saída padrão; Por intermédio do símbolo de porcentagem.

Sintaxe :

System.out.printf(“%<formato>”,<Varm>);

68Prof. Wagner Santos C. de Jesus [email protected]

Page 69: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Formatos válidosFormato 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

%o Valor inteiro octal

%x Valor inteiro hexadecimal

%% Caracter %

\n Pula uma linha após impressão

69Prof. Wagner Santos C. de Jesus [email protected]

Page 70: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo :

double a = 2.2;

System.out.printf("%2.3f\n",a);

Resultado : 2,200

int b = 255;

System.out.printf("%4d\n",b);

Resultado : b255

b = Espaço em branco70Prof. Wagner Santos C. de Jesus

[email protected]

Page 71: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

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 : a71Prof. Wagner Santos C. de Jesus

[email protected]

Page 72: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

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

72Prof. Wagner Santos C. de Jesus [email protected]

Page 73: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

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

73Prof. Wagner Santos C. de Jesus [email protected]

Page 74: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Escopo com variáveis

Quando umvariável emjava é declaradano interior de uma estrutura seus valores ereferências serão mantidos durante omomento emque a estrutura estiver sendoexecutada, depois disso essa variável nãomais terá finalidade para o programadevendo ser destruída, caso o programadortente usar essa variável logo após aexecução dessa estrutura o compilador irádetectar erro.

74Prof. Wagner Santos C. de Jesus [email protected]

Page 75: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Variável : Permanência de valor

Variável

Estrutura de repetição

Estrutura de Condição

Variável

Permanece o valorda variável caso amesma estejadeclarada fora deuma estrutura.

75Prof. Wagner Santos C. de Jesus [email protected]

Page 76: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Variável : Não Permanência de valor

Estrutura de repetição

Estrutura de Condição

Variável

Não Permanece ovalor da variávelcaso a mesma estejadeclarada fora deuma estrutura.

Variável

Não Existe essa variável

76Prof. Wagner Santos C. de Jesus [email protected]

Page 77: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo : Variável 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 não reconhecer o símbolo (i), mas para a variável (a) estaria tudo correto.

77Prof. Wagner Santos C. de Jesus [email protected]

Page 78: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo : Variável Globalclass 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 coma variável (i) estariacorreto, o funcionamento do programa estariacomprometido pela variável (a).

78Prof. Wagner Santos C. de Jesus [email protected]

Page 79: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Criando Entrada de dados (padrão)

Importar o pacote util, indicando as classe Scanner; Apartir da versão (5.0)

Exemplo :

import java.util.Scanner;

79Prof. Wagner Santos C. de Jesus [email protected]

Page 80: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Diagrama UML (associação Scanner)

classe ProgScanner

java.util

80Prof. Wagner Santos C. de Jesus [email protected]

Page 81: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo

Cria um objeto da classe Scanner.

Exemplo:

Scanner scan = new Scanner( System.in );

81Prof. Wagner Santos C. de Jesus [email protected]

Page 82: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Usando os métodos da classe Scanner.

Métodos 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 precisão dupla pelo teclado.

nextBoolean() Realiza a leitura de um boolean pelo teclado.

nextFloat() Realiza a leitura de um float pelo teclado. 82Prof. Wagner Santos C. de Jesus

[email protected]

Page 83: Curso Disciplina Linguagem de Programação II Curso ...Parte-2).pdf · APOO Curso 1 Disciplina Linguagem de Programação II Curso Engenharia da Computação Disciplina Linguagem

Exemplo programa :import java.util.Scanner;

public class EntradaDados {

public static void main( String [] args ) {

Scanner scan = new Scanner( System.in );

System.out.print("Qual seu nome: "); String seuNome = scan.next( );

} }

83Prof. Wagner Santos C. de Jesus [email protected]