A02 - Introduç_o a linguagem Java.pdf

download A02 - Introduç_o a linguagem Java.pdf

of 46

Transcript of A02 - Introduç_o a linguagem Java.pdf

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    1/46

    Introduo a linguagem Java

    Parte 1

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    2/46

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    3/46

    Lgica, Sintaxe e Semntica

    A Lgicacontm as tarefas que um programadeve fazer

    Nada tem a ver com linguagem de

    programao Pensar na lgica pensar quais as sequencias

    de passos que ser realizada para atingir umobjetivo. estruturar seu raciocnio paraentender o que o programa deve fazer

    Uma lgica bem feita garante que o programafuncione corretamente

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    4/46

    Lgica, Sintaxe e Semntica

    Sintaxe a estrutura do cdigo. como asinstrues so escritas

    Sintaxe est relacionada com a compilao do cdigo

    Se a sintaxe no estiver correta, o cdigo no compila,e no ser possvel gerar o arquivo .class (em Java)

    Cada linguagem de programao tem umasintaxe, ou seja uma forma de escrever a lgicade programao Em cada linguagem a lgica a mesma, o que muda

    a sintaxe

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    5/46

    Lgica, Sintaxe e Semntica

    Por exemplo, blocos de programao soescritos de formas diferentes em algumaslinguagens programao:

    Java{

    // fazer alguma tarefa}

    Pascalbegin

    // fazer alguma tarefaend

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    6/46

    Lgica, Sintaxe e Semntica

    Semntica o significadodo programa e dasinstrues que voc escreveu A semntica est relacionada com a execuo do

    programa

    Se o programa executado, a sintaxe est correta. Ouseja, no h erros na estrutura do programa Entretanto, isso no significa que o programa vai

    realizar o que voc planejou. Erros de semntica esto relacionados com a lgica

    que voc elaborou. Se a lgica no estiver correta, a semntica tambm

    estar errada e o programa vai se comportar de formainesperada

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    7/46

    Caractersticas da linguagem Java

    Java uma linguagem de programao de alto nvel,criada com sob o conceito de Write once, runanywhere.

    Ou seja, uma vez escrito o programa em Java, ele podeser executado em qualquer computador, independenteda arquitetura de hardware e software.

    O nico pr-requisito que haja uma mquina virtualjava no computador. Existem diversas verses demquinas virtuais para diferentes arquiteturas.

    A mquina virtual Java responsvel por executar osprogramas Java.

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    8/46

    Caractersticas da linguagem Java

    A mquina virtual Java responsvel porexecutar os programas Java.

    Dois softwares principais

    Java Development Kit (JDK): plataforma paradesenvolvimento

    Java Runtime Enviroment (JRE): plataforma de

    execuo

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    9/46

    Caractersticas da linguagem Java

    JDK e JRE

    Na verso atual, vem em um s pacote

    http://java.com/en/download/index.jsp

    Editor de textos ou IDE

    Notepad, Notepad++, Eclipse, Netbeans

    Para testes, pode-se utilizar uma ferramentaonline

    http://www.compileonline.com/compile_java_online.php

    http://java.com/en/download/index.jsphttp://www.compileonline.com/compile_java_online.phphttp://www.compileonline.com/compile_java_online.phphttp://www.compileonline.com/compile_java_online.phphttp://www.compileonline.com/compile_java_online.phphttp://java.com/en/download/index.jsp
  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    10/46

    Caractersticas da linguagem Java

    Linguagem largamente utilizada para desenvolversistemas desktop, sistemas web, plugins,aplicativos mveis, firmwares, sistemas de TV,etc.

    Java uma linguagem de programao orientadaa objeto. QUASEtudo em Java um objeto

    Objeto uma abstrao do mundo real Um carro, uma casa, uma pessoa, um nmero Neste curso no veremos programao Orientada

    o Objeto (OO). Mas para programar em Java,temos que conhecer pelo menos o bsico

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    11/46

    Caractersticas da linguagem Java

    Atualmente, Java encontra-se na verso 7 Porque importante saber a verso atual do Java

    e a verso que voc est trabalhando?

    Existem alteraes significativas entre umaverso e outra, o que pode fazer com que umprograma escrito em uma verso mais antiga daJDK no execute na plataforma mais nova da JRE,e vice-versa

    Existem situaes em que o programa escritocompila, mas no executa, por algum problemaentre as verses utilizadas para programar e paraexecutar.

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    12/46

    Caractersticas da linguagem Java

    Java tem uma caracterstica especial. Ela compilada e interpretada

    O programador escreve o cdigo em

    linguagem Java e salva um arquivo comextenso .java

    Um programa em Java um arquivo de texto, que

    o computador ainda no entende Este programa deve ser compilado para gerar

    um arquivo binrio (.class), que o

    programador no entende.

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    13/46

    Caractersticas da linguagem Java

    Este arquivo .class ainda no entendido peloSO do computador, mas sim pela mquinavirtual java (JVM)

    A execuo do arquivo .class pela mquinavirtual feita linha a linha. Ou seja, interpretado.

    Essa caracterstica possibilita que seja criado

    um programa binrio (onde o cdigo dedifcil leitura por seres humanos), mas no qual possvel rastrear erros em tempo de

    execuo

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    14/46

    O programa Java

    Um programa java pode ser composto por vriosarquivos

    Cada arquivo corresponde a uma classe, ou seja

    uma estrutura de dados que encapsula uma sriede caractersticas e comportamentos

    Neste curso utilizaremos apenas uma classe, e

    consequentemente, 1 arquivo Mas vamos ver alguns exemplos para entender o

    que uma classe...

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    15/46

    Classes em Java

    Suponha que vamos escrever jogo de corrida decarros

    Quais objetos conseguimos enxergar nesta imagem?

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    16/46

    Classes em Java

    Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    17/46

    Classes em Java

    Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?

    Cor

    Nome Modelo

    Marca

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    18/46

    Classes em Java

    Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?

    Cor

    Nome Modelo

    Marca

    Quais os comportamentos de um Carro?

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    19/46

    Classes em Java

    Vamos pegar o exemplo do Carro. Quais as caractersticas de um Carro?

    Cor

    Nome Modelo

    Marca

    Quais os comportamentos de um Carro?

    Acelerar

    Frear

    Virar

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    20/46

    Classes em Java

    Em java podemos representar um Carro (ou qualqueroutro objeto do mundo real) como uma classe. Ouseja, as caractersticas e comportamentos destecarro estaro dentro de um nico arquivo

    /* Carro.java */

    public class Carro {

    String cor; String nome;

    public bool acelerar (double x) {...}

    }

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    21/46

    Voltando s caractersticas...

    Relembrando, nesta disciplina vamos utilizar apenasuma classe e consequentemente apenas um arquivopara escrever nossos programas

    Em java, o nome da classe sempredever ser omesmo nome do arquivo

    Se a classe chama-se Carro, o nome do arquivo dever serCarro.java

    O nome do arquivo deve ser idnticoao da classe,considerando maisculas e minsculas

    Mas onde est o nome da classe?

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    22/46

    package nomeDoAluno;import caminhoENomeDoPacote;

    public class NomeDoPrograma{

    public static void main ( String args [ ] ) {

    }}

    Qual deve ser o nome do arquivo neste exemplo?

    Estrutura bsica

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    23/46

    Explorando a estrutura bsica

    Para escrever uma classe em Java precisoseguir algumas regras

    Temos que escrever o programa na sintaxe correta

    para que ele possa ser compilado

    Vamos ver quais as regras para escrever aestrutura bsica

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    24/46

    package nomeDoAluno;

    package informa qual pacote um arquivo Java

    pertence Um pacote uma pasta dentro do seu projeto que

    agrupa um conjunto de classes

    Inserido apenas uma vez por arquivo

    No obrigatrio. Porm, quando inserido nocdigo, deve ser a primeira linha escrita

    Estrutura bsica - Pacote

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    25/46

    import caminhoENomeDoPacote;

    importinforma uma biblioteca ou classe Java que a classeatual vai utilizar.

    Pode ser inserido mais de uma vez no arquivo, um para cadabiblioteca ou classe importada

    No obrigatrio. Porm, quando inserido no cdigo, deve virapspackage, quando este existir, ou ser a primeira linha no

    arquivo. Todas as importaes devem vir antes da declaraoda classe.

    Ex.: importjava.io.*Biblioteca para trabalhar comarquivos

    Estrutura bsica - Import

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    26/46

    public class NomeDoPrograma{...

    }

    Declarao da classe. A palavra reservada class

    identifica que a estrutura ser uma classe Deve vir logo aps import, quando este existir, oupackage, quando este existir. Caso nenhum dos dois

    existam, ser a primeira linha do arquivo

    Elemento obrigatrio no arquivo. O nome do arquivodeve ser o mesmo da classe (NomeDoPrograma .java)

    As chaves {} identificam o corpo da classe, e soelementos obrigatrios para identificar onde a classeinicia e acaba.

    Estrutura bsica - Classe

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    27/46

    public static void main ( String args [ ] ) {...

    }

    Uma classe pode conter um ou mais mtodos.Mtodos so regies do cdigo que definem ocomportamento do se programa

    Em java existe um mtodo especial chamadomain.

    Este mtodo informa o ponto de incio do seuprograma

    Cada programa deve ter apenas uma classe com omtodomain

    Estrutura bsica - Mtodos

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    28/46

    Modificadores

    Modificadores so palavras reservadas da linguagemJava que modificam as caractersticas de classes emtodos em Java

    Nesta disciplina no estudaremos os modificadores,mas eles estaro presentes em nossos programas

    Por hora, devemos saber que: A classe ter o modificadorpublic, e deve ser a primeira

    palavra na declarao da classe

    Os mtodos tero os modificadorespublic staticvoid, e devem vir nessa ordem, antes do nome domtodo

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    29/46

    Smbolos Especiais em Java

    Ao fim de uma instruo, usa-se ;(ponto e vrgula) Blocos de instrues so demarcados com { } (chaves)

    Inclui classes e mtodos

    Aps as chaves no se usa ;

    Comentrios no cdigo-fonte: // ou /* */ Linha com comentrio:

    // comentrio na linha

    bloco de linhas com comentrios:

    /* primeira linha com comentrios . . .

    ltima linha comentada */ Comentrios no so considerados como parte da lgica do

    programa, e podem ser inseridos em qualquer parte do seu cdigo

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    30/46

    Palavras chave reservadas

    So palavras identificadas pelo compilador para executartarefas especficas no cdigo executvel

    No podem ser utilizadas como identificadores dentro doseu programa (nome de classe, mtodos e variveis)

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    31/46

    Falando de identificadores e variveis...

    Identificadores so os nomes que os programadoresdo para classes, mtodos e variveis

    public class Carro{}

    public int soma(int a, int b) {} int $numero; String palavra; char_letra;

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    32/46

    Mais regras...

    Identificadores em Java podem conter apenas

    caracteres unicode (letras), nmeros, cifro ($) eunderscore (_), com as seguintes regras:

    Devem comear com uma letra, $ ou _

    Nopodem comear com nmeros

    Aps o primeiro caractere pode-se utilizar qualquercombinao de letras, nmeros, $ e _

    No se pode utilizar palavras reservadas

    Os identificadores, assim como toda a linguagem Java, socase-sensitive. Aluno e aluno so identificadores diferentes

    No h limite de caracteres para identificadores

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    33/46

    Mais regras...

    Caso essas regras no sejam seguidas, pode causar

    Erro de sintaxe

    Se comear com nmero

    Se utilizar palavras reservadas

    Trocar maisculas por minsculas Erro de semntica

    Trocar maisculas por minsculas

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    34/46

    Exerccios

    Relembrando:

    O que ocorre se o programa tiver erros de sintaxe?

    O que ocorre se o programa tiver erros de

    semntica?

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    35/46

    Exerccios1) Quais das opes abaixo so identificadores vlidos em Java?

    $metodo

    _private

    NOMEPESSOA

    NomeMetodo

    numero

    _Classenome_aluno

    _variavel_a_

    enum

    $enum

    _______a

    a________

    _

    $variavel

    $ClasseNome

    $nomeAluno

    metodo

    Classe

    Metodo_nome

    aluno1Variavel8

    *aluno

    nome^aluno

    $nome$aluno$

    $

    Char

    char

    $$$$$

    &nome

    cONTINUE

    $_$_$_$

    nomeClasse

    1$

    $2_2

    _$nome

    8variavel

    ______

    $nome_aluno$

    new_

    nomePessoa

    1_2

    Classe23

    identificador

    Variavel

    13

    $_1000

    mome-aluno#hashtag

    metodo@adiciona

    nomeAluno3

    $$$adiciona$$

    $_nome

    _nome$aluno_

    private

    (aluno)

    $identificador_com_nome_grande_e_caracteres_especiais_100

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    36/46

    Variveis

    Variveis so estruturas que armazenam valoresdentro do seu programa

    So quase que indispensveis para implementar sua

    lgica Podem armazenar qualquer tipo de dado que a

    linguagem suporta

    Nmeros, palavras e objetos complexos

    As variveis em Java tem um tipo definido, epermanecem com esse tipo at serem descartadas

    Inteiros, palavras, decimais, objetos complexos

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    37/46

    Declarao de Variveis

    Forma geral (em java):tipoDoDado nomeDaVariavel ; // comentrio

    Exemplos:int valor; // varivel que guarda valor inteiro

    double area; // nmero real de preciso dupla

    char letra; // guarda um caractere

    String frase; // guarda uma cadeia de caracteres

    boolean aceso; // guarda verdadeiro/falso

    Observe:nome de varivel inicia com letra minscula!

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    38/46

    Tipos de Dados Primitivos em Java

    Os tipos de dados que mais usaremos so:

    int(nmeros inteiros)

    double(nmeros reais, com preciso dupla)

    boolean(tipo lgico; vale trueou false) char(caractere)

    byte, short, long (inteiros com outros tamanhos)

    float(nmeros reais com preciso simples)

    Observe: todas as letras minsculasnesses tipos Lembrando que Java diferencia minsculas de maisculas

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    39/46

    Tipos de Dados Primitivos em Java

    Tipo Tamanho Intervalo

    boolean 1 bit false e true

    byte 8 bits -128 a +127

    char 16 bits \u0000 a \uFFFF

    short 16 bits -32.768 a +32.767

    int 32 bits -2.147.483.648 a -2.147.483.647

    float 32 bits 1.4e-45

    a 3.4e38

    double 64 bits 4.9e-324 a 1.7e308

    long 64 bits -9.223.372.036.854.775.808 a-9.223.372.036.854.775.807

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    40/46

    Tipos de Dados Compostos em Java

    Os tipos de dados compostos sero desenvolvidos nadisciplina de Linguagem de Programao II

    De incio, usaremos apenas um tipo composto jdefinido na Java:

    o tipo cadeia de caracteres: String

    observe: S maisculo

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    41/46

    Operadores - Atribuio

    As variveis em um programa Java podem, edevem, receber valores

    A atribuio server para que a varivelarmazene algum valor

    Operador de atribuio: =int nota = 3; // LEIA-SE: varivel nota recebe3

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    42/46

    Sada de dados

    Quando estamos escrevendo um programa, porvezes queremos que este mostre alguma informao

    Podemos ento mostrar a sada de dados no console

    Java possui alguns mtodo para isso// mostra Ol na tela

    System.out.print(Ol);

    // mostra Ol na tela e pela uma linha

    System.out.println(Ol);

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    43/46

    Sada de dados

    Podemos imprimir tambm valores devariveis// define uma variavel x com valor 1

    int x = 1;

    // imprime o valor de x

    System.out.println(x);

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    44/46

    Colocando tudo isso em um programa

    Vamos fazer um programa que mostre na telaa mensagem Ol Mundo

    Ainda se lembram tudo que tem que fazer

    para fazer um programa em Java?

    Vamos fazer de duas formas. Utilizando obloco de notas e depois o Eclipse

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    45/46

    Colocando tudo isso em um programa

    1) Abra o bloco de notas

    2) Escreva o nome da classe: OlaMundo

    3) Declare o mtodo principal (main0

    4) Imprima a mensagem Ol mundoutilizando o mtodo que acabamos de ver

  • 7/21/2019 A02 - Introdu_o a linguagem Java.pdf

    46/46

    Exerccios

    2) Vamos criar outro programa que declare umavarivel x, atribua o valor 2 para essa varivel eimprima este valor.