Você está na página 1de 51

Lio 4

Fundamentos da programao
Introduo Programao I 1

Objetivos
Ao final desta lio, o estudante ser capaz de:

Identificar as partes bsicas de um programa em Java Reconhecer as diferenas entre os tipos primitivos, variveis, identificadores e operadores Desenvolver um simples programa em Java usando os conceitos estudados nesta lio

Introduo Programao I

Entendendo meu primeiro programa em Java


1 2 3 4 5 6 7 8 9 10

public class Hello { /** * Meu primeiro programa em Java */ public static void main(String[] args) { // Mostra a mensagem "Hello world" na tela System.out.println(Hello world); } }

Introduo Programao I

Entendendo meu primeiro programa em Java


1 2 3 4 5

public class Hello { /** * Meu primeiro programa em Java */

O nome da classe Hello Em Java todo e qualquer cdigo deve pertencer a uma classe Esta classe usa um identificador de acesso public. Indica que est acessvel para outras classes de diferentes pacotes (pacotes so colees de classes)
Introduo Programao I 4

Entendendo meu primeiro programa em Java


1 2 3 4 5

public class Hello { /** * Meu primeiro programa em Java */

A prxima linha contm uma chave { e indica o incio de um bloco de instrues

Introduo Programao I

Entendendo meu primeiro programa em Java


1 2 3 4 5

public class Hello { /** * Meu primeiro programa em Java */

As prximas 3 linhas indicam um comentrio em Java Um comentrio:


Explicao usada para a documentao do cdigo No faz parte do programa em si, mas sim de sua documentao uma boa prtica de programao adicionar comentrios aos programas

Introduo Programao I

Entendendo meu primeiro programa em Java


1 2 3 4 5 6

public class Hello { /** * Meu primeiro programa em Java */ public static void main(String[] args) {

A linha 6 indica a declarao de um mtodo em Java, neste caso, o mtodo main O mtodo main o ponto de partida dos programas em Java Todos os programas, com exceo de applets, escritos em Java, se iniciam pelo mtodo main
Introduo Programao I 7

Entendendo meu primeiro programa em Java


1 2 3 4 5 6 7

public class Hello { /** * Meu primeiro programa em Java */ public static void main( String[] args ){ // Mostra a mensagem Hello World na tela

A linha seguinte um comentrio de linha

Introduo Programao I

Entendendo meu primeiro programa em Java


1 2 3 4 5 6 7 8

public class Hello { /** * My first Java program */ public static void main( String[] args ){ // Mostra a mensagem Hello World na tela System.out.println(Hello world);

A instruo System.out.println(), mostra, na sada padro, o texto descrito entre as aspas


Introduo Programao I 9

Entendendo meu primeiro programa em Java


1 2 3 4 5 6 7 8 9 10

public class Hello { /** * Meu primeiro programa em Java */ public static void main( String[] args ){ // Mostra a mensagem Hello World na tela System.out.println(Hello world); } }

As ltimas duas linhas, que contm somente uma chave em cada, simbolizam, respectivamente, o fechamento do mtodo main e da classe
Introduo Programao I 10

Comentrios em Java

Notas escritas para fins de documentao Estas notas no fazem parte do programa e no afetam seu fluxo Java possui 3 tipos de comentrios:

Comentrio de linha Comentrio de bloco Comentrio estilo Javadoc

Introduo Programao I

11

Instrues e Blocos em Java

Uma instruo composta de uma ou mais linhas terminadas por ponto-e-vrgula Exemplo: System.out.println(Hello world);

Introduo Programao I

12

Instrues e Blocos em Java

Um bloco formado por uma ou mais instrues agrupadas entre chaves { } indicando que formam uma s unidade Blocos podem ser organizados em estruturas aninhadas indefinidamente Qualquer quantidade de espaos em branco permitida Exemplo: public static void main (String[] args) { System.out.println("Hello"); System.out.println("world); }

Introduo Programao I

13

Identificadores em Java

Identificadores so representaes de nomes de variveis, mtodos, classes, etc Exemplos de identificadores podem ser: Hello, main, System, out Os identificadores so case-sensitive.

Isto significa que o identificador Hello no o mesmo que hello.

Introduo Programao I

14

Identificadores em Java

Iniciam com Letra (A-Z, a-z), Underscore _, ou Sinal de cifro $. Aos caracteres subseqentes adicionam nmeros (0-9) No pode utilizar nomes iguais as palavras-chave

Introduo Programao I

15

Palavras-chave em Java

Palavras-chave so identificadores pr-definidos e reservados por Java para propsitos especficos

Introduo Programao I

16

Tipos de dados em Java

Java Possui 4 tipos de dados, divididos em:


Boolean Character Integer Floating-Point

Introduo Programao I

17

Tipos de dados primitivos

A linguagem Java possui 8 tipos de dados primitivos

Introduo Programao I

18

Tipos de dados primitivos: lgico

O tipo booleano pode representar dois estados: true ou false

boolean result = true;

Na instruo acima, declarada uma varivel chamada result do tipo boolean e lhe atribuda o valor true

Introduo Programao I

19

Tipos de dados primitivos: inteiro


byte b = 97; char c = 97; short s = 97; int i = 97;

Nas instrues acima, so declaradas variveis chamadas b, c, s e i, cada uma representando um determinado tipo inteiro e lhes so atribudas o valor 97 Se a instruo System.out.println(c) for executada; o resultado mostrado ser o caractere 'a'

Introduo Programao I

20

Tipos de dados primitivos: inteiro longo


long z = 10L;

Na instruo acima, declarada uma varivel chamada z, do tipo inteiro longo, e lhe atribuda o valor 10 Representa-se um inteiro longo adicionando-se a letra L aps o nmero, preferencialmente em maiscula para evitar confuso com o nmero 1

Introduo Programao I

21

Tamanhos dos tipos: byte, char, short, int e long

Introduo Programao I

22

Tipos de dados primitivos: float e double

Os nmeros flutuantes possuem um ponto decimal ou um dos seguintes caracteres:

E ou e // expoente F ou f // float D ou d // double

So exemplos:
3.14 6.02E23 2.718F 123.4E+306D // // // // tipo tipo tipo tipo sem marcao(double por padro) double com expoente float double

Introduo Programao I

23

Tamanho dos tipos: float e double

Os dados de tipo ponto-flutuante representam as seguintes faixas de valores:

Introduo Programao I

24

Variveis

Uma varivel um espao na memria usado para armazenar o estado de um objeto Uma varivei possui:

Tipo que indica o tipo de dado que ela pode conter Nome que deve seguir as regras para identificadores

Introduo Programao I

25

Declarando e inicializando variveis

< tipo do dado > < nome > [ = valor inicial ];

Introduo Programao I

26

Declarando e inicializando variveis: Exemplo


public class VariableSamples { public static void main( String[] args ){ boolean result; char option; option = 'C'; } double grade = 0.0;

Introduo Programao I

27

Exibindo o valor de uma varivel

Para exibir na tela, ou em outro dispositivo, o valor de uma varivel, pode-se fazer uso das seguintes instrues: System.out.println() System.out.print()

Introduo Programao I

28

Exibindo o valor de uma varivel: Exemplo


1 2 3 4 5 6 7 8 9

public class OutputVariable { public static void main(String[] args) { int value = 10; char x; x = 'A'; System.out.println(value); System.out.println("The value of x=" + x); } }

Introduo Programao I

29

System.out.println() e System.out.print()

System.out.println()

Ao final da exibio do seu contedo, inicia uma nova linha no inicia uma nova linha.

System.out.print()

Introduo Programao I

30

Referncia de variveis e Valor de variveis

Temos dois tipos de acesso suportados:


Por valor Por referncia

Valor

armazenam dados no exato espao de memria onde a varivel est. armazenam o endereo de memria onde o dado est armazenado

Referncia

Introduo Programao I

31

Referncia de variveis: Exemplo

Supondo que existam estas duas variveis dos tipos int e String (varivel de classe). int num = 10; String nome = "Hello"

Introduo Programao I

32

Referncia de variveis: Exemplo

O quadro abaixo representa a memria do computador, com seus endereos de memria, o nome das variveis e os tipos de dados nela armazenados
Endereo de memria 1001 : 1563 : : 2000 Nome da varivel num nome dado 10 : endereo(2000) : : "Hello"

Introduo Programao I

33

Operadores

Os diferentes tipos de operadores so:


Operadores aritmticos Operadores relacionais Operadores lgicos Operadores condicionais

Estes operadores obedecem uma ordem de precedncia para que o compilador saiba em qual seqencia executar as operaes

Introduo Programao I

34

Operadores Aritmticos

Introduo Programao I

35

Operadores de Incremento e Decremento


Operador unrio de incremento (++) Operador unrio de decremento (--) Operadores de incremento ou decremento somam ou subtraem em 1 o valor da varivel Por exemplo, a expresso: count = count + 1;

ou: count++;
Introduo Programao I 36

Operadores de Incremento e Decremento

Introduo Programao I

37

Operadores de Incremento e Decremento


Os operadores de incremento e decremento podem ser usados tanto antes quanto aps o operando Quando usado antes do operando, provoca o acrscimo ou decrscimo de seu valor antes da avaliao da expresso em que este operador utilizado Por exemplo:
int int int k = i = j = k = ++j 10; 3; 0; + i; //resultar em k = 4+10 = 14

Introduo Programao I

38

Operadores de Incremento e Decremento

Quando usado depois do operando, provoca acrscimo ou decrscimo de seu valor somente aps a avaliao da expresso em que este operador utilizado Por exemplo:

int i = 10; int j = 3; i = j++ + i; //resultar em k = 3+10 = 13

Introduo Programao I

39

Operadores Relacionais

Os operadores relacionais so usados para comparar dois valores e determinar o relacionamento entre eles A sada desta avaliao ser dada com um valor lgico: true ou false

Introduo Programao I

40

Operadores Lgicos

Operadores lgicos avaliam um ou dois operandos lgicos e resultam em um nico valor lgico: true ou false Os operadores lgicos so seis:

&& (e lgico) & (e binrio) || (ou lgico) | (ou binrio) ^ (ou exclusivo binrio) ! (negao)

Introduo Programao I

41

Operadores Lgicos: && (e lgico) e & (e binrio)

Introduo Programao I

42

Operadores Lgicos: || (ou lgico) e | (ou binrio)

Introduo Programao I

43

Operadores Lgicos: ^ (ou exclusivo binrio)

Introduo Programao I

44

Operadores Lgicos: ! (negao)

A negao pode ser utilizada para avaliar um argumento. Este argumento pode ser uma expresso, varivel ou constante

x1 VERDADEIRO FALSO

Resultado FALSO VERDADEIRO

Introduo Programao I

45

Operadores Lgicos: ?: (Condicional)

expLgica?expCasoTrue:expCasoFalse

Introduo Programao I

46

Operadores Lgicos: ?: (Condicional)

Introduo Programao I

47

Precedncia de Operadores

Introduo Programao I

48

Precedncia de Operadores

Dada a seguinte expresso complexa: 6%2*5+4/2+88-10 pode-se fazer uso de parnteses para reescrev-la de maneira mais clara: ((6%2)*5)+(4/2)+88-10

Introduo Programao I

49

Sumrio

Comentrios em Java (estilo C++, C e Javadoc) Instrues, blocos, identificadores e palavras-chave Tipos de dados (integer, ponto-flutuante, boolean e char) Tipos de dados primitivos (boolean, char, byte, short, int, long, float e double) Variveis (declarao, inicializao, sada) System.out.println() vs. System.out.print() Referncia vs. Valor Operadores (aritmticos, de incremento e decremento, relacionais, lgicos, condicional Precedncia dos operadores

Introduo Programao I

50

Parceiros

Os seguintes parceiros tornaram JEDI possvel em Lngua Portuguesa:

Introduo Programao I

51

Você também pode gostar