1 / 38

Java Básico Aula 2 por Flávio Juvenal

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;

keefer
Download Presentation

Java Básico Aula 2 por Flávio Juvenal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Básico Aula 2por Flávio Juvenal

  2. 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;

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

  4. 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

  5. Palavras reservadas

  6. Identificadores • Evitem nomes sem significado (ou sem sentido) • Evitem siglas cujo significado não seja claro • Sigam o padrão para nomenclatura

  7. 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

  8. Tipos Primitivos booleantrue 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)

  9. Declaração de variáveis • Declarações corretas: int soma; char primeiraLetra; boolean achou; • Declarações incorretas: integer soma; char 1letra; double #saldo;

  10. 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

  11. 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”;

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

  13. Operadores aritméticos • Servem para realizar as 4 operações básicas, mais a operação de módulo + - * / % • Exemplos: soma = soma + 10; // 13 intidade = 21; // 21 doublesaldo = 300 * 1.05; // 315 intresto = 5 % 2; // 1

  14. Operador de concatenação • Serve para concatenar (juntar) duas Strings + • Exemplos: String nomeDoCurso = “Java” + “ Básico”; //Java Básico

  15. Operadores relacionais • Servem para representar os conceitos de igualdade e desigualdade > < >= <= == != • Exemplos booleanresultado = 10 > 5; // true resultado = 10 != 5; // true resultado = 10 == 5; // false

  16. Operadores lógicos • Realizam operações de lógica booleana && || • Exemplos: booleanvaiParaFinal = media >= 3 && media < 7; boolean teste = true || false;

  17. Operadores de atribuição • Executam uma (ou nenhuma) operação e atribuem o resultado à variável = += *= -= /= %= • Exemplos: intx = 3; x *= 5; // x = x * 5 == 15 x %= 4; // x = x % 4 == 1

  18. Operadores unários • Tem apenas um operando e servem para incrementar, decrementar, inverter o sinal e negar. ++ -- ! - • Exemplos: booleanb = !false; int x = 13; inty = -x;

  19. 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: • intx = 0; • inty = x++; // y == 0, x == 1 • intz = ++y; // z == 1, y == 1;

  20. Operador condicional • O único operador ternário de Java, só deve ser usado para condicionais simples ?: • Exemplos: booleancondicao =true; intvalor = condicao ? 3 : 4;//valor == 3

  21. 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 = += -= *= /= %= &= ^= |= <<= >>= >>>=

  22. Associatividade • Operadores 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 intx = 6 / 1 + 2; // 8 int y = 6 / (1 + 2); // 2

  23. 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

  24. Estruturas de controle • O ifpermite que um determinado trecho execute se a sua condição for true • Sintaxe: if (expressao_booleana) { //código }

  25. Estruturas de controle • Fluxo: if true false Comandos Comandos

  26. Estruturas de controle • O if-else permite que um trecho execute se a condição for true, ou outro, caso a condição seja false if (expressao_booleana) { //código } else{ //código alternativo }

  27. Estruturas de controle • Fluxo: if-else true false Comandos Comandos Comandos

  28. 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 }

  29. Estruturas de controle • O switch permite executar trechos de código baseado em tipos inteiros ou char • Sintaxe: switch (inteiro) { case1: //comandos case47: //comandos default: //comandos } switch (caractere) { case ‘a’: //comandos case ‘b’: //comandos default: //comandos }

  30. Estruturas de controle • É necessário usar break para que o switch não entre em mais de um case intx = 3; switch (x) { case3: System.out.println(“É 3”); break; default: System.out.println(“Não é 3”); }

  31. 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

  32. Escopo • Exemplo de escopo local: public static void main(String[] args) { int inteiroDoMain = 0; boolean condicao = true || false; if (condicao) { intinteiroDoIf = 1; inteiroDoMain = inteiroDoIf + 2;//a linha acima funciona normal } inteiroDoMain = inteiroDoIf + 1; //a linha acima dá erro }

  33. Tipos Primitivos (novamente!) booleantrue 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)

  34. Conversão de tipos • É 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!

  35. Conversão implícita • A conversão implícita é feita quando os tipos são compatíveis • Exemplos: int valorInteiroDe32bits = 9292;long valorInteiroDe64bits = valorInteiroDe32bits;doublevalorRealDe64bits = valorInteiroDe64bits;

  36. Conversão explícita • 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;

  37. Prática! • 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 • Faça um programa que leia 3 inteiros do usuário e imprima seu produto • 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 = newScanner(System.in); intnumero = input.nextInt();

  38. 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

More Related