java básico aula 2 por flávio juvenal

38
+ Java Básico Aula 2 por Flávio Juvenal

Upload: keefer

Post on 19-Jan-2016

37 views

Category:

Documents


2 download

DESCRIPTION

Java Básico Aula 2 por Flávio Juvenal. Sintaxe e Semântica. Sintaxe: parte da estrutura gramatical de uma língua que contém as regras relativas à combinação das palavras em unidades maiores (como as orações), e as relações existentes entre as palavras dentro dessas unidades; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java Básico Aula 2 por Flávio Juvenal

+

Java BásicoAula 2

por Flávio Juvenal

Page 2: Java Básico Aula 2 por Flávio Juvenal

++Sintaxe e Semântica

Sintaxe: parte da estrutura gramatical de uma língua que contém as regras relativas à combinação das palavras em unidades maiores (como as orações), e as relações existentes entre as palavras dentro dessas unidades;

Semântica: estudo da linguagem humana do ponto de vista do significado das palavras e dos enunciados;

2

Page 3: Java Básico Aula 2 por Flávio Juvenal

++Identificadores

Podem ser usados para dar nome a: Variáveis Métodos Atributos Classes ...

3

Page 4: Java Básico Aula 2 por Flávio Juvenal

++Identificadores

Devem começar por uma letra, um _ (underscore) ou um $ (cifrão)

O restante dos caracteres podem ser letras, números, underscores ou cifrões

São case sensitive (há diferença entre maiúsculas e minúsculas)

Não pode ser nenhuma palavra reservada

4

Page 5: Java Básico Aula 2 por Flávio Juvenal

++Palavras reservadas

5

Page 6: Java Básico Aula 2 por Flávio Juvenal

++Identificadores

Evitem nomes sem significado (ou sem sentido)

Evitem siglas cujo significado não seja claro

Sigam o padrão para nomenclatura

6

Page 7: Java Básico Aula 2 por Flávio Juvenal

++Declaração de variáveis

Sintaxe:TipoDaVariavel nome;

Padrão de nomeclatura: Começam com letras minúsculas, Se houver mais do que uma palavra, a seguinte começa

com letra maiúscula

7

Page 8: Java Básico Aula 2 por Flávio Juvenal

+Tipos Primitivos

boolean true ou false

char caracteres (16 bits Unicode)

byte inteiro (8 bits)

short inteiro (16 bits)

int inteiro (32 bits)

long inteiro (64 bits)

float ponto flutuante (32 bits)

double ponto flutuante (64 bits)

8

Page 9: Java Básico Aula 2 por Flávio Juvenal

++Declaração de variáveis

Declarações corretas:int soma;

char primeiraLetra;

boolean achou;

Declarações incorretas:integer soma;

char 1letra;

double #saldo;

9

Page 10: Java Básico Aula 2 por Flávio Juvenal

++Strings

String representa uma cadeia ordenada de caracteres;

Não são tipos primitivos!String s = “Olá Mundo!”;

Note que String começa com uma letra maiúscula diferentemente dos tipos primitivos

10

Page 11: Java Básico Aula 2 por Flávio Juvenal

++Inicialização de variáveis

Para dar um valor a uma variável, utilizamos a seguinte sintaxe:identificadorDaVariavel = valor_valido;

Exemplos:int soma = 3;int mesmaSoma = soma;double saldo = 350.30;boolean achou = false;String nomeDoInstrutor = “Flávio”;

11

Page 12: Java Básico Aula 2 por Flávio Juvenal

++Operadores

Existem 7 tipos de operadores: Aritméticos Concantenação Relacionais Lógicos Atribuição Unários Condicional

12

Page 13: Java Básico Aula 2 por Flávio Juvenal

++Operadores aritméticos

Servem para realizar as 4 operações básicas, mais a operação de módulo

+ - * / %Exemplos:soma = soma + 10; // 13

int idade = 21; // 21

double saldo = 300 * 1.05; // 315

int resto = 5 % 2; // 1

13

Page 14: Java Básico Aula 2 por Flávio Juvenal

++Operador de concatenação

Serve para concatenar (juntar) duas Strings

+Exemplos:String nomeDoCurso = “Java” + “ Básico”; //Java Básico

14

Page 15: Java Básico Aula 2 por Flávio Juvenal

++Operadores relacionais

Servem para representar os conceitos de igualdade e desigualdade

> < >= <= == !=Exemplosboolean resultado = 10 > 5; // true

resultado = 10 != 5; // true

resultado = 10 == 5; // false

15

Page 16: Java Básico Aula 2 por Flávio Juvenal

++Operadores lógicos

Realizam operações de lógica booleana

&& ||Exemplos:

boolean vaiParaFinal = media >= 3 && media < 7;

boolean teste = true || false;

16

Page 17: Java Básico Aula 2 por Flávio Juvenal

++Operadores de atribuição

Executam uma (ou nenhuma) operação e atribuem o resultado à variável

= += *= -= /= %=Exemplos:int x = 3;

x *= 5; // x = x * 5 == 15

x %= 4; // x = x % 4 == 1

17

Page 18: Java Básico Aula 2 por Flávio Juvenal

++Operadores unários

Tem apenas um operando e servem para incrementar, decrementar, inverter o sinal e negar.

++ -- ! -Exemplos:boolean b = !false;

int x = 13;

int y = -x;

18

Page 19: Java Básico Aula 2 por Flávio Juvenal

++Operadores unários

Os operadores ++ e –- tem uma peculiaridade: podem ser prefixados ou posfixados

A diferença aparece na hora em que o valor é usado

Exemplo: int x = 0; int y = x++; // y == 0, x == 1 int z = ++y; // z == 1, y == 1;

19

Page 20: Java Básico Aula 2 por Flávio Juvenal

++Operador condicional

O único operador ternário de Java, só deve ser usado para condicionais simples

?:Exemplos:boolean condicao = true;

int valor = condicao ? 3 : 4; //valor == 3

20

Page 21: Java Básico Aula 2 por Flávio Juvenal

+Ordem de Avaliação dos Operadores

Do maior para o menor: Unário Posfixado expr++ expr-- Unário Prefixado ++expr --expr +expr -expr ~ ! Multiplicativos * / % Aditivos + - Shift << >> >>> Relacionais < > <= >= instanceof Igualdade == != Bit-a-bit AND & Bit-a-bit exclusive OR ^ Bit-a-bit inclusive OR | Lógico AND && Lógico OR || Ternário ? : Atribuição = += -= *= /= %= &= ^= |= <<= >>= >>>=

21

Page 22: Java Básico Aula 2 por Flávio Juvenal

++AssociatividadeOperadores com a mesma precedência são avalidados da

esquerda para a direita:

a + b + c equivale a (a + b) + c

Com exceção da atribuição!

a = b = c equivale a a = (b = c)

Podemos alterar a associatividade ou a ordem de avaliação utilizando parênteses

int x = 6 / 1 + 2; // 8

int y = 6 / (1 + 2); // 2

22

Page 23: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

Servem para alterar o fluxo normal de um programa com a possibilidade de escolhas e repetições. São elas: if if-else if-else-if switch while do-while for

23

Page 24: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

O if permite que um determinado trecho execute se a sua condição for true

Sintaxe:if (expressao_booleana) {

//código

}

24

Page 25: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

Fluxo:

ifif

ComandosComandos

true

ComandosComandos

false

25

Page 26: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

O if-else permite que um trecho execute se a condição for true, ou outro, caso a condição seja falseif (expressao_booleana) {

//código

}

else {

//código alternativo

}

26

Page 27: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

Fluxo:

if-elseif-else

ComandosComandos

true

ComandosComandos

false

ComandosComandos

27

Page 28: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

O if-else-if é como um novo if dentro do else

Sintaxe:if (expressao_booleana) {

//código

}

else if (outra_expressao_booleana) {

//outro código

}

else {

//ainda outro código

}

28

Page 29: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

O switch permite executar trechos de código baseado em tipos inteiros ou char

Sintaxe:switch (inteiro) {

case 1:

//comandos

case 47:

//comandos

default:

//comandos

}

29

switch (caractere) {

case ‘a’:

//comandos

case ‘b’:

//comandos

default:

//comandos

}

Page 30: Java Básico Aula 2 por Flávio Juvenal

++Estruturas de controle

É necessário usar break para que o switch não entre em mais de um caseint x = 3;

switch (x) {

case 3:

System.out.println(“É 3”);

break;

default:

System.out.println(“Não é 3”);

}

30

Page 31: Java Básico Aula 2 por Flávio Juvenal

++Escopo

O escopo de uma variável determina onde ela é visível, ou seja, onde ela pode ser usada

A regra é: dentro das chaves onde a declaração foi feita a variável é visível, fora das chaves, resulta em erro de compilação

31

Page 32: Java Básico Aula 2 por Flávio Juvenal

++Escopo

Exemplo de escopo local:public static void main(String[] args) {

int inteiroDoMain = 0;

boolean condicao = true || false;

if (condicao) {

int inteiroDoIf = 1;inteiroDoMain = inteiroDoIf + 2;//a linha acima funciona normal

}

inteiroDoMain = inteiroDoIf + 1;

//a linha acima dá erro

}

32

Page 33: Java Básico Aula 2 por Flávio Juvenal

+Tipos Primitivos (novamente!)

boolean true ou false

char caracteres (16 bits Unicode)

byte inteiro (8 bits)

short inteiro (16 bits)

int inteiro (32 bits)

long inteiro (64 bits)

float ponto flutuante (32 bits)

double ponto flutuante (64 bits)

33

Page 34: Java Básico Aula 2 por Flávio Juvenal

+Conversão de tipos

34

É possível converter um valor para um novo valor de outro tipo

Java suporta conversão implícita e explícita de tipos

Como os tipos em Java possuem diferentes quantidades de bits cada um, pode-se perder dados na conversão explícita!

Page 35: Java Básico Aula 2 por Flávio Juvenal

+Conversão implícita

35

A conversão implícita é feita quando os tipos são compatíveis

Exemplos:

int valorInteiroDe32bits = 9292;long valorInteiroDe64bits = valorInteiroDe32bits;double valorRealDe64bits = valorInteiroDe64bits;

Page 36: Java Básico Aula 2 por Flávio Juvenal

+Conversão explícita

36

A conversão explícita é feita colocando o nome do tipo entre parênteses ao lado esquerdo do valor a ser convertido

Exemplos:

double numeroReal = 10.0 / 3.0;int numeroInteiro = (int) numeroReal;

Page 37: Java Básico Aula 2 por Flávio Juvenal

++Prática!

1. Faça um programa que leia entrada do usuário e diga se o número digitado é par e se ele é múltiplo de 3

2. Faça um programa que leia 3 inteiros do usuário e imprima seu produto

3. Faça um programa que leia 3 inteiros do usuário e imprima o maior dos 3

OBS: Para ler entrada do usuário utilize as seguintes linhas:Scanner input = new Scanner(System.in);

int numero = input.nextInt();

37

Page 38: Java Básico Aula 2 por Flávio Juvenal

+Referências http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/java/nutsandbolts/index.html

http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/java/index.html