• Nenhum resultado encontrado

Alexandre de Andrade Barbosa

N/A
N/A
Protected

Academic year: 2019

Share "Alexandre de Andrade Barbosa"

Copied!
38
0
0

Texto

(1)

Laborat´orio de Programa¸c˜ao 2 (LP2)

02 - Introdu¸c˜ao `a programa¸c˜ao em Java

Alexandre de Andrade Barbosa

(2)

Objetivos

Objetivos

Descrever como criar e executar programas Java

Implementar programas Java utilizando:

tipos de dados e declara¸c˜ao de vari´aveis; operadores relacionais, l´ogicos e matem´aticos; convers˜oes entre tipos de dados;

entrada e sa´ıda de dados.

(3)

Introdu¸c˜ao `a programa¸c˜ao em Java

Helo World!

Python

1 p r i n t ’ H e l l o w o r l d ! ’

C

1 main ( ) {

2 p r i n t f ( ” H e l l o World ! ” ) ; 3 }

Java

1 p u b l i c c l a s s E x e c u t a v e l {

2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

(4)

Introdu¸c˜ao `a programa¸c˜ao em Java

Compila¸c˜ao e Interpreta¸c˜ao

(5)

Introdu¸c˜ao `a programa¸c˜ao em Java

(6)

Introdu¸c˜ao `a programa¸c˜ao em Java

Programa¸c˜ao e Java

(7)

Introdu¸c˜ao `a programa¸c˜ao em Java

(8)

Introdu¸c˜ao `a programa¸c˜ao em Java

Programa¸c˜ao e Java

(9)

Introdu¸c˜ao `a programa¸c˜ao em Java

Programa¸c˜ao e Java - Primeiro programa

1 c l a s s P r i m e i r o {

2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

3 System . o u t . p r i n t l n ( ”Meu p r i m e i r o programa em

J a v a ! ” ) ;

4 }

5 }

(10)

Introdu¸c˜ao `a programa¸c˜ao em Java

Programa¸c˜ao e Java - Primeiro programa

Compilando o programa

1 $ j a v a c P r i m e i r o . j a v a

Executando / interpretando o programa

(11)

Introdu¸c˜ao `a programa¸c˜ao em Java

Programa¸c˜ao e Java - Primeiro programa

Vis˜ao no terminal

1 $ j a v a c P r i m e i r o . j a v a 2 $ j a v a P r i m e i r o

(12)

Introdu¸c˜ao `a programa¸c˜ao em Java

Tipos de Dados

Para representar inteiros:

byte

,

short

,

int

e

long

Classes relacionadas:

Byte

,

Short

,

Integer

e

Long

Para representar ponto flutuante:

float

e

double

Classes relacionadas:

Float

e

Double

Para representar valores l´ogicos:

boolean

Para representar um caractere:

char

(13)

Introdu¸c˜ao `a programa¸c˜ao em Java

Vari´aveis

Declara¸c˜oes devem descrever o tipo da vari´avel

Atribui¸c˜oes podem ser realizadas em um momento posterior a

declara¸c˜ao

1 c l a s s T i p o s {

2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

3 i n t i n t e i r o ;

4 i n t e i r o = 5 ;

5 }

(14)

Introdu¸c˜ao `a programa¸c˜ao em Java

Operadores

Os operadores de atribui¸c˜ao e compara¸c˜ao em Java s˜ao,

respectivamente: = e ==

Operadores relacionais Java s˜ao os mesmos adotados em C:

<

,

>

,

<

=,

>

=, ! =. == e =

Operadores matem´aticos Java s˜ao os mesmos adotados em C: +,

-, /, % e *

Operadores l´ogicos Java s˜ao representados por: && (E l´ogico),

||

(OU l´ogico) e !(Nega¸c˜ao l´ogica)

Entrada e sa´ıda em Java pode ser realizada pelo console (System

/ in / out / Scanner)

(15)

Introdu¸c˜ao `a programa¸c˜ao em Java

Exerc´ıcios

Exerc´ıcio

1 Indique qual ´e o resultado das seguintes avalia¸c˜oes:

1 5>2

2 1>9

3 6<4

4 −1<0

5 5>= 2

6 1>= 1

7 1<= 5

1 6 + 3

2 6−3

3 6∗3

4 6/3

5 6%3

6 18.0/5

7 18/5

1 true&&false

2 true||false

(16)

Introdu¸c˜ao `a programa¸c˜ao em Java

Operadores

Atribui¸c˜ao autom´atica ( +=, -=, *=, /=, %= )

1 i n t a = 6 ;

2 i n t b = 3 ;

3 b += a ; // e q u i v a l e n t e b = b + a ;

1 i n t a = 6 ;

2 i n t b = 3 ;

(17)

Introdu¸c˜ao `a programa¸c˜ao em Java

Operadores

Incremento e decremento(++a, a++, –a, a–)

1 i n t a = 0

2 System . o u t . p r i n t l n ( a++) ; // 0 3 System . o u t . p r i n t l n ( a ) ; // 1

1 i n t a = 0

(18)

Introdu¸c˜ao `a programa¸c˜ao em Java

Convers˜oes

Impl´ıcita - quando a vari´avel que recebe a atribui¸c˜ao possui um

tipo mais abrangente que o valor que ser´a recebido

1 f l o a t a ;

2 i n t b = 5 ;

3 a = b ;

Expl´ıcita (ou cast) - quando a vari´avel que recebe a atribui¸c˜ao

possui um tipo menos abrangente que o valor que ser´a recebido

1 f l o a t a = 5 . 3 f ;

2 i n t b ;

(19)

Introdu¸c˜ao `a programa¸c˜ao em Java

Convers˜oes

Convertendo String para n´

umero

1 S t r i n g s = ‘ ‘ 8 ’ ’ ;

2 i n t b ;

(20)

Introdu¸c˜ao `a programa¸c˜ao em Java

Entrada e sa´ıda de dados

Entrada a partir da linha de comando

1 S c a n n e r s = new S c a n n e r ( System . i n ) ; 2 s . n e x t I n t ( ) ;

3 s . n e x t L i n e ( ) ;

Sa´ıda a partir da linha de comando

(21)

Introdu¸c˜ao `a programa¸c˜ao em Java

Entrada e sa´ıda de dados

1 import j a v a . u t i l . S c a n n e r ;

2

3 p u b l i c c l a s s E n t r a d a {

4 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

5 S c a n n e r s = new S c a n n e r ( System . i n ) ; 6

7 System . o u t . p r i n t l n ( ” D i g i t e s e u nome” ) ; 8 S t r i n g nome = s . n e x t L i n e ( ) ;

9

10 System . o u t . p r i n t l n ( ” D i g i t e s u a i d a d e ” ) ;

11 i n t i d a d e = s . n e x t I n t ( ) ;

12

13 System . o u t . p r i n t l n ( nome + ” tem ” + i d a d e + ”

(22)

Introdu¸c˜ao `a programa¸c˜ao em Java

Entrada e sa´ıda de dados

Entrada a partir de um painel

1 J O p t i o n P a n e . s h o w I n p u t D i a l o g ( ” t e x t o ” ) ;

Sa´ıda a partir de um painel

(23)

Introdu¸c˜ao `a programa¸c˜ao em Java

Entrada e sa´ıda de dados

1 import j a v a x . s w i n g . J O p t i o n P a n e ;

2

3 p u b l i c c l a s s E n t r a d a P a n e l {

4 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

5 S t r i n g nome =

J O p t i o n P a n e . s h o w I n p u t D i a l o g ( ” D i g i t e s e u nome” ) ;

6 S t r i n g i d a d e S t r =

J O p t i o n P a n e . s h o w I n p u t D i a l o g ( ” D i g i t e s u a i d a d e ” ) ;

7 i n t i d a d e = I n t e g e r . p a r s e I n t ( i d a d e S t r ) ;

8

9 J O p t i o n P a n e . s h o w M e s s a g e D i a l o g (n u l l, nome + ”

(24)

Introdu¸c˜ao `a programa¸c˜ao em Java

Entrada e sa´ıda de dados

Argumentos da linha de comando

1 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s )

2

3 S t r i n g [ ] a r g s

Executando o programa e passando parametros

(25)

Introdu¸c˜ao `a programa¸c˜ao em Java

Entrada e sa´ıda de dados

1 p u b l i c c l a s s IOExemplo {

2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

3 System . o u t . p r i n t l n ( ” P r i m e i r o v a l o r : ” +

a r g s [ 0 ] ) ;

4 System . o u t . p r i n t l n ( ” Segundo v a l o r : ” +

a r g s [ 1 ] ) ;

5 System . o u t . p r i n t l n ( ” T e r c e i r o v a l o r : ” +

a r g s [ 2 ] ) ;

6 }

7 }

Se a quantidade de valores passado como parametro for diferente...

(26)

Introdu¸c˜ao `a programa¸c˜ao em Java

Coment´arios

Existem trˆes tipos de coment´ario na linguagem:

coment´ario de linha (//texto)

coment´ario de v´arias linhas (/∗ texto∗/) coment´ario javadoc (/∗ ∗texto∗/)

1 // l i n h a comentada 2 /∗ l i n h a 1 do c o m e n t a r i o 3 l i n h a 2 do c o m e n t a r i o 4 l i n h a 3 do c o m e n t a r i o 5 ∗/

6 /∗ ∗

(27)

Introdu¸c˜ao `a programa¸c˜ao em Java

Strings

Strings s˜ao classes em Java, portanto possuem m´etodos j´a

implementados

O operador “+” serve para concatena¸c˜ao de strings

Alguns m´etodos:

(28)

Introdu¸c˜ao `a programa¸c˜ao em Java

Strings

1 p u b l i c c l a s s E x S t r i n g {

2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {

3 S t r i n g s t r = ” Seu nome ´e ” ;

4 S t r i n g nome1 = ” A l e x a n d r e ” ; 5 S t r i n g sobrenome = ” B a r b o s a ” ; 6 S t r i n g nome2 = ” A l e x a n d r e ” ;

7 S t r i n g nome3 = new S t r i n g ( ” A l e x a n d r e ” ) ; 8

9 System . o u t . p r i n t l n ( s t r + nome1 + sobrenome ) ; 10 System . o u t . p r i n t l n ( nome1 . t o L o w e r C a s e ( ) ) ; 11 System . o u t . p r i n t l n ( nome1 . t o U p p e r C a s e ( ) ) ; 12 System . o u t . p r i n t l n ( nome1 . e q u a l s ( sobrenome ) ) ; 13 System . o u t . p r i n t l n ( nome1 == sobrenome ) ; 14 System . o u t . p r i n t l n ( nome1 . e q u a l s ( nome2 ) ) ; 15 System . o u t . p r i n t l n ( nome1 == nome2 ) ; 16 System . o u t . p r i n t l n ( nome1 == nome3 ) ;

(29)

Introdu¸c˜ao `a programa¸c˜ao em Java

Estruturas de controle

As estruturas de controle em Java s˜ao as mesmas presentes em C

A sintaxe das estruturas de controle de Java ´e igual a sintaxe de

C

if, if-else (Condicional) switch (Condicional)

operador condicional (Condicional) for (Repeti¸c˜ao)

(30)

Introdu¸c˜ao `a programa¸c˜ao em Java

Estruturas de condi¸c˜ao

Sintaxe:

1 i f ( [ exp . c o n d i c i o n a l ] ) {

2 [ comandos ]

3 }

Sintaxe:

1 i f ( [ exp . c o n d i c i o n a l ] ) {

2 [ comandos ]

3 } e l s e {

4 [ comandos ]

(31)

Introdu¸c˜ao `a programa¸c˜ao em Java

Estruturas de condi¸c˜ao

Sintaxe:

1 [ v a r i ´a v e l ] = [ exp . c o n d i c i o n a l ] ? [ exp . 1 ] : [ exp . 2 ] ;

Sintaxe:

1 s w i t c h ( [ exp . ] ) {

2 c a s e [ c o n s t a n t e 1 ] :

3 [ comandos ]

4 c a s e [ c o n s t a n t e 2 ] :

5 [ comandos ]

6 d e f a u l t:

(32)

Introdu¸c˜ao `a programa¸c˜ao em Java

Estrutura de repeti¸c˜ao

Sintaxe:

1 f o r ( [ i n i c i a l i z a ¸c ˜a o ] ; [ c o n d i ¸c ˜a o de r e p e t i ¸c ˜a o ] ;

[ i n c r e m e n t o s ] ) {

2 [ comandos ]

3 }

Sintaxe:

1 w h i l e ( c o n d i ¸c ˜a o ) {

2 [ comandos ] ;

3 }

Sintaxe:

1 do {

2 [ comandos ]

(33)

Introdu¸c˜ao `a programa¸c˜ao em Java

Fun¸c˜oes

Sintaxe:

1 s t a t i c [ t i p o de r e t o r n o ] [ nome ] ( [ a r g u m e n t o s ] ) {

2 [ comandos ] ;

3 r e t u r n [ v a l o r de r e t o r n o ] ;

4 }

Exemplo:

1 . . .

2 s t a t i c b o ol e an p a r i d a d e (i n t numero ) {

3 r e t u r n numero % 2 = = 0 ; // r e t o r n a um v a l o r

(34)

Introdu¸c˜ao `a programa¸c˜ao em Java

Exerc´ıcios

Exerc´ıcio

1 Exerc´ıcios das p´aginas 52 e 53 do livro “Java 6 - Ensino Did´atico”

2 Exerc´ıcios 4 e 5 das p´aginas 94 e 95 do livro “Java 6 - Ensino Did´atico”

3 Exerc´ıcios das p´aginas 72, 73 e 74 do livro “Java 6 - Ensino Did´atico” (n˜ao ´e necess´ario utilizar exce¸c˜oes)

(35)

Introdu¸c˜ao `a programa¸c˜ao em Java

Resumo

Resumo

Java ´e uma linguagem multiplataforma e orientada a objetos, que foi criada com base na linguagem C++

O projeto da linguagem tornou alguns conceitos transparentes ao programador (ex. ponteiros e aloca¸c˜ao de mem´oria)

Os tipos de dados primitivos existentes em Java s˜ao: byte, short, int, long, float, double e char

Os tipos de dados representados por classes em Java s˜ao: Byte, Short, Integer, Long, Float, Double, Character e String

Operadores relacionais Java s˜ao os mesmos adotados em C:<,>,<=,>=, ! =. == e =

(36)

Introdu¸c˜ao `a programa¸c˜ao em Java

Resumo

Resumo

Entrada e sa´ıda em Java pode ser realizada pelo console (System / in / out / Scanner)

Entrada e sa´ıda em Java pode ser realizada atrav´es da classe JOptionPane Estruturas de controle est˜ao presentes em todas as linguagens imperativas (ex. estruturas e orientadas a objetos)

A sintaxe pode variar de uma linguagem para outra, a semˆantica ´e ”sempre”a mesma

Java possui as seguintes estruturas de controle

if, if-else (Condicional) switch (Condicional)

operador condicional (Condicional) for (Repeti¸c˜ao)

(37)

Leituras recomendadas

FURGERI, S.

Java 6 - Ensino Did´atico Cap´ıtulo 01: Java 6 - Linguagem e

plataforma

Cap´ıtulo 02: Aspectos fundamentais sobre Java

Cap´ıtulo 3: Comandos adicionais e estruturas de controle em Java

Se¸c˜ao 4.2: Fun¸c˜oes com strings

Cap´ıtulo 5: Cria¸c˜ao de M´etodos em Java

Caelum

(38)

Introdu¸c˜ao `a programa¸c˜ao em Java

Perguntas?

Referências

Documentos relacionados

Art.7º - Na hipótese de não ser alcançada a Mediação ou se assim decidirem as partes em comum acordo, a controvérsia poderá ser submetida à Arbitragem, observada a existência

II - A expressão “Peramanca” ou “Pêra-manca” está usada nas marcas “Vinho Pera-Manca Tinto” e “Vinho Pera-Manca” de forma fantasiosa (e não para designar a

Por derradeiro, o período depurador, posterior ao qual as faltas disciplinares não mais influirão para a certificação de boa conduta carcerária, tem evidente

de burlar as disposições do presente Regulamento e suas regras, o consumidor perderá o direito aos dotz, sem prejuízo de qualquer outra iniciativa por parte

Para instalar o porteiro AM-PPR com apenas uma tecla reservada para central AM-C100 é necessário colocar o “JUMPER” J1 e retirar o “JUMPER” J2 existente na placa

Neste caso, embora possam existir nestes locais, forrageiras de alta qualidade, como o capim-de-capivara (Hymenachne amplexicaulis), a disponibilidade de recursos forrageiros vai

A este respeito Valene Smith (1989) refere que a atividade turística nem sem- pre é negativa ou prejudicial para as culturas e povos locais, pois muitas vezes os turistas

Explico: assim como Freud, a contragosto, viu desmontada a teoria da sedução pela constatação de que, para o inconsciente, fato e fantasia intensamente carregada tem