You are on page 1of 43

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Universidade Federal de Alagoas - UFAL Campus Arapiraca

Programa c ao 2 (P2)
02 Programa c ao estruturada em Java

Alexandre de Andrade Barbosa alexandre146@gmail.com

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Objetivos

Objetivos Descrever como criar e executar programas Java Apresentar os conceitos b asicos de programa c ao na linguagem Java:

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.

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Helo World!

Python
1 print Hello world !

C
1 main ( ) { 2 p r i n t f ( H e l l o World ! ) ; 3 }

Java
1 public class Executavel { 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 ( H e l l o World ! ) ; 4 } 5 }

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Compila c ao e Interpreta c ao

Interpreta c ao em Python

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Compila c ao e Interpreta c ao

Compila c ao em C

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java

Compila c ao e interpreta c ao em Java

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java

Compila c ao e interpreta c ao em Java

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java

Compila c ao e interpreta c ao em Java

Programa c ao 2 (P2)

alexandre146@gmail.com

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


M aquina virtual Java

Instala c ao da m aquina virtual Java http://www.java.com/pt_BR/download/help/index_ installing.xml https://help.ubuntu.com/community/Java (en) http://wiki.ubuntu-br.org/Java (pt br, JVM antiga) Observa c oes: JDK (para desenvolvimento) e JRE (para execu c ao) Oracle JVM ser a usada na disciplina (JVM OpenJDK possui APIs diferentes) Vers ao mais recente JVM 1.7 (Java 7 update 45) Download da JVM em: http://www.oracle.com/ technetwork/java/javase/downloads/index.html
Programa c ao 2 (P2) alexandre146@gmail.com 9

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Python e Java

Python Multiparadigma Tipagem forte e din amica Multiplataforma Puramente interpretada Ambiente interativo

Java Orientada a objetos Tipagem forte e est atica Multiplataforma H brida (compilada e interpretada) -

Programa c ao 2 (P2)

alexandre146@gmail.com

10

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java - Primeiro programa

1 class Primeiro { 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 }

Programa c ao 2 (P2)

alexandre146@gmail.com

11

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java - Primeiro programa

Compilando o programa
1 $ javac Primeiro . java

Executando / interpretando o programa


1 $ java Primeiro

Programa c ao 2 (P2)

alexandre146@gmail.com

12

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java - Primeiro programa

Vis ao no terminal
1 $ javac Primeiro . java 2 $ java Primeiro 3 Meu p r i m e i r o programa em J a v a !

Programa c ao 2 (P2)

alexandre146@gmail.com

13

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Programa c ao e Java - Primeiro programa

Observa c oes:
1

O nome do arquivo deve ser igual ao nome da classe Primeiro.java Fun c ao(M etodo) main determina o in cio do programa Os blocos de c odigo s ao delimitados por { e } Identa c ao n ao determina os blocos (mas continue usando) Instru c oes s ao nalizadas com ; Sempre que alterar o c odigo e necess ario compilar novamente (javac)

2 3 4 5 6

Programa c ao 2 (P2)

alexandre146@gmail.com

14

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Tipos de Dados

Python e uma linguagem com tipagem forte e din amica Java e uma linguagem com tipagem forte e est atica C e uma linguagem com tipagem forte e est atica E necess ario declarar uma vari avel em Java e estabelecer seu tipo, que ser a imut avel durante toda a execu c ao do programa

Programa c ao 2 (P2)

alexandre146@gmail.com

15

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Tipos de Dados

int - para representar n umeros inteiros; byte - para representar n umeros inteiros entre 128 e 127; short - para representar n umeros inteiros entre 32.768 e 32.767; long - para representar n umeros inteiros entre 263 e 263 1

Programa c ao 2 (P2)

alexandre146@gmail.com

16

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Tipos de Dados

oat - para representar n umeros reais (ponto-utuante); double - para representar n umeros reais (ponto-utuante), com maior precis ao que oat; boolean - para representar valores l ogicos: true (verdadeiro) ou false (falso); char - para representar um caractere Unicode; String - para representar cadeias de caracteres Unicode;

Programa c ao 2 (P2)

alexandre146@gmail.com

17

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Vari aveis

Algumas regras para nomear vari aveis em Java n ao podem iniciar com n umeros caixa (alta ou baixa) diferencia os nomes (case sensitive) Algumas conven c oes para nomear vari aveis em Java CamelCase - nome deve iniciar com min usculas e cada nome composto deve ter sua inicial mai uscula (ex. nome, nomeCompleto, nomePessoaFisica) n ao iniciar nomes de vari aveis com
Observe todas as recomenda c oes em: http://www.oracle.com/technetwork/java/codeconv-138413.html

ou $

Programa c ao 2 (P2)

alexandre146@gmail.com

18

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Vari aveis

1 2 3 4 5 6 7 8 9 10 11 12

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 ) { // d e f i n e um i n t e i r o int i n t e i r o = 5; // d e f i n e um r e a l ( f l o a t ) f l o a t f = 5 . 0 f ; // o b s e r v e o L no f i n a l // d e f i n e um l o n g l o n g l o n g o = 2550 L ; // o b s e r v e o L no f i n a l System . o u t . p r i n t l n ( i n t e i r o ) ; System . o u t . p r i n t l n ( f ) ; System . o u t . p r i n t l n ( l o n g o ) ; }

Programa c ao 2 (P2)

alexandre146@gmail.com

19

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Operadores

Atribui c ao ( = )
1 int a = 5;

Compara c ao ( = = )
1 int a = 5; 2 int b = 5; 3 a == b r e s u l t a em t r u e

Programa c ao 2 (P2)

alexandre146@gmail.com

20

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Operadores

Rela c ao maior que ( > )


1 5 > 2 r e s u l t a em t r u e 2 1 > 9 r e s u l t a em f a l s e ;

Rela c ao maior ou igual ( >= )


1 5 >= 2 r e s u l t a em t r u e 2 1 >= 1 r e s u l t a em t r u e

Rela c ao maior que ( < )


1 6 < 4 r e s u l t a em f a l s e 2 ?1 < 0 r e s u l t a em t r u e

Rela c ao menor ou igual ( <= )


1 2 <= 2 r e s u l t a em t r u e 2 1 <= 5 r e s u l t a em t r u e

Programa c ao 2 (P2)

alexandre146@gmail.com

21

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Operadores

Aritm etico adi c ao ( + )


1 6 + 3 r e s u l t a em 9

Aritm etico multiplica c ao ( )


1 6 3 r e s u l t a em 18

Aritm etico subtra c ao ( )


1 6 3 r e s u l t a em 3

Aritm etico divis ao ( / )


1 6 / 3 r e s u l t a em 2

Resto da divis ao ( % )
1 6 / 3 r e s u l t a em 0

Programa c ao 2 (P2)

alexandre146@gmail.com

22

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Operadores

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


1 int a = 6; 2 int b = 3; 3 b += a ; // e q u i v a l e n t e a b = b + a ;

1 int a = 6; 2 int b = 3; 3 b /= a ; // e q u i v a l e n t e a b = b / a ;

Programa c ao 2 (P2)

alexandre146@gmail.com

23

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Operadores

Incrementos (x + +, + + x )
1 2 3 4 5 6 7 8 // x++ P r i m e i r o u t i l i z a o v a l o r da v a r i avel , depois incrementa int x = 0; System . o u t . p r i n t l n ( x++) ; System . o u t . p r i n t l n ( x ) ; // ++x P r i m e i r o i n c r e m e n t a o v a l o r da v a r i avel , depois u t i l i z a int x = 0; System . o u t . p r i n t l n (++x ) ; System . o u t . p r i n t l n ( x ) ;

Decrementos (x , x )
1 2 3 4 5 6 7 8 // x P r i m e i r o u t i l i z a o v a l o r da v a r i a v e l , depois decrementa int x = 2; System . o u t . p r i n t l n ( x); System . o u t . p r i n t l n ( x ) ; // x P r i m e i r o d e c r e m e n t a o v a l o r da v a r i avel , depois u t i l i z a int x = 2; System . o u t . p r i n t l n (x ) ; System . o u t . p r i n t l n ( x ) ;

Programa c ao 2 (P2)

alexandre146@gmail.com

24

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Operadores

Opera c ao l ogica E ( && )


1 t r u e && f a l s e r e s u l t a em f a l s e 2 t r u e && t r u e r e s u l t a em t r u e

Opera c ao l ogica OU ( || )
1 t r u e | | f a l s e r e s u l t a em t r u e 2 t r u e | | t r u e r e s u l t a em t r u e

(!) Opera c ao l ogica NEGAC AO


1 boolean a = true ; 2 !a equivalente a false

Programa c ao 2 (P2)

alexandre146@gmail.com

25

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada 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 float a; 2 int b = 5; 3 a = b;

Programa c ao 2 (P2)

alexandre146@gmail.com

26

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Convers oes

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 int b; 3 b = ( int ) a ;

Programa c ao 2 (P2)

alexandre146@gmail.com

27

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Convers oes

Convertendo String para n umero


1 String s = 8 ; 2 int b; 3 b = Integer . parseInt ( s ) ;

Programa c ao 2 (P2)

alexandre146@gmail.com

28

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada 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 . nextInt () ; 3 s . nextLine () ;

Sa da a partir da linha de comando


1 System . o u t . p r i n t l n ( Texto ) ;

Programa c ao 2 (P2)

alexandre146@gmail.com

29

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Entrada e sa da de dados

Exemplo
1 import j a v a . u t i l . Scanner ; 2 3 public c l a s s EntradaSaida01 { 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 int idade = s . nextInt () ; 12 13 System . o u t . p r i n t l n ( nome + tem + i d a d e + a n o s . ) ; 14 } 15 }

Obs. 1: A classe scanner e localizada em diferentes pacotes depdndendo da JVM utilizada Obs. 2: O exemplo em exibido foi implementado com a JVM da sun/oracle

Programa c ao 2 (P2)

alexandre146@gmail.com

30

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Entrada e sa da de dados

Entrada a partir de um painel


1 JOptionPane . 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
1 JOptionPane . showMessageDialog ( n u l l , t e x t o ) ;

Programa c ao 2 (P2)

alexandre146@gmail.com

31

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Entrada e sa da de dados

Exemplo
1 import j a v a x . swing . JOptionPane ; 2 3 public c l a s s EntradaSaida02 { 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 = JOptionPane . s h o w I n p u t D i a l o g ( D i g i t e sua i d a d e ) ; 7 int idade = Integer . parseInt ( idadeStr ) ; 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 + tem + i d a d e + a n o s . ) ; 10 } 11 }

Programa c ao 2 (P2)

alexandre146@gmail.com

32

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada 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:
equals - verica se duas strings possuem o mesmo conte udo toLowerCase - transforma o conte udo da string para caixa baixa toUpperCase - transforma o conte udo da string para caixa alta length() - retorna o tamanho da string

Programa c ao 2 (P2)

alexandre146@gmail.com

33

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Entrada e sa da de dados

Exemplo
1 public class ExString { 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 String str = Seu nome e ; 4 S t r i n g nome1 = Alexandre ; 5 S t r i n g sobrenome = Barbosa ; 6 S t r i n g nome2 = Alexandre ; 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 + s o b r e n o m e ) ; 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 ( s o b r e n o m e ) ) ; 13 System . o u t . p r i n t l n ( nome1 == s o b r e n o m e ) ; 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 ) ; 17 } 18 }

Programa c ao 2 (P2)

alexandre146@gmail.com

34

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Coment arios em Java

Exemplo
1 p u b l i c c l a s s Comentarios { 2 / 3 r a i z c a l c u l a r a i z quadrada e r e t o r n a o v a l o r 4 @param i o n u mero p a r a o q u a l s e d e s e j a c a l c u l a r a r a i z q u a d r a d a 5 @ r e t u r n um d o u b l e c o r r e s p o n d e n d o a r a i z q u a d r a d a de i 6 / 7 p u b l i c s t a t i c double r a i z ( f l o a t i ) { 8 // c a l c u l a r a i z q u a d r a d a e r e t o r n a o v a l o r 9 r e t u r n Math . s q r t ( i ) ; 10 } 11 12 / 13 @param a r g s a r g u m e n t o s da l i n h a de comando 14 / 15 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 ) { 16 / 17 Um programa s i m p l e s p a r a c a l c u l a r 18 o v a l o r da r a i z q u a d r a d a de um n u mero 19 / 20 f l o a t valor = 4.0 f ; 21 System . o u t . p r i n t l n ( r a i z ( v a l o r ) ) ; 22 } 23 24 }

Programa c ao 2 (P2)

alexandre146@gmail.com

35

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Parametros na linha de comando

Exemplo
1 p u b l i c c l a s s LinhaComando { 2 3 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 System . o u t . p r i n t l n ( a r g s [ 0 ] ) ; 5 System . o u t . p r i n t l n ( a r g s [ 1 ] ) ; 6 } 7 8 }

Programa c ao 2 (P2)

alexandre146@gmail.com

36

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada 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) Todo programa Java deve ser criado em uma classe Cada classe deve ser denida em seu proprio arquivo Os tipos de dados primitivos existentes em Java s ao: byte, short, int, long, oat, double e char Os tipos de dados representados por classes em Java s ao: Byte, Short, Integer, Long, Float, Double, Character e String

Programa c ao 2 (P2)

alexandre146@gmail.com

37

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Resumo

Resumo 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) Entrada e sa da em Java pode ser realizada atrav es da classe JOptionPane

Programa c ao 2 (P2)

alexandre146@gmail.com

38

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Exerc cios
Exerc cio
1

Crie programas em Java para:


1

2 3

receber dois valores fornecidos pelo usu ario e apresentar o resultado das quatro opera c oes calcular a m edia de duas notas fornecidas pelo usu ario apresentar um menu de op c oes para o usu ario, onde cada op c ao deve ser exibida em uma linha diferente ler dois valores fornecidos pelo usu ario, armazenar nas vari aveis A e B, e realizar a troca do conte udo destas ler um texto e um caractere fornecidos pelo usuario e indicar se o caractere est a presente ou n ao no texto ler um texto e um caractere fornecidos pelo usuario e indicar qual a primeira posi c ao que o caractere e exibido ler um texto e um caractere fornecidos pelo usuario e substituir as ocorr encias do caractere no texto
Programa c ao 2 (P2) alexandre146@gmail.com 39

Para observar fun co es u teis, visite: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java


Exerc cios

Exerc cio
1 2 3

Revise a implementa c ao dos algoritmos implementados nas diciplinas P1 e LP1 Exerc cios das p aginas 52 e 53 do livro Java 6 - Ensino Did atico Exerc cios 4 e 5 das p aginas 94 e 95 do livro Java 6 - Ensino Did atico

Programa c ao 2 (P2)

alexandre146@gmail.com

40

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Leituras recomendadas

FURGERI, S. Java 6 - Ensino Did atico Cap tulo 01: Java 6 - Linguagem e plataforma Cap tulo 02: Aspectos fundamentais sobre Java Se c ao 4.2: Fun c oes com strings Caelum Java e Orienta c ao a Objetos, 2011. Cap tulo 01: Como aprender Java? Cap tulo 02: O que e Java Cap tulo 03: Vari aveis primitivas e Controle de uxo

Programa c ao 2 (P2)

alexandre146@gmail.com

41

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Bibliograa

Caelum Java e Orienta c ao a Objetos, 2011. Allen B. Downey How to Think Like a Computer Scientist - Java Version, 2008.

Programa c ao 2 (P2)

alexandre146@gmail.com

42

Tipos de Dados, vari aveis e operadores Entrada e sa da de dados

Programa c ao estruturada em Java

Perguntas?
Alexandre de Andrade Barbosa alexandre146@gmail.com

Programa c ao 2 (P2)

alexandre146@gmail.com

43

You might also like