minicurso java – como programar

Upload: joao-constantino

Post on 06-Apr-2018

243 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Minicurso Java Como programar

    1/53

    Minicurso Java Como

    programarJean SilvaAluno do Curso de Informtica 4 Perodo - [email protected]

    mailto:[email protected]:[email protected]
  • 8/3/2019 Minicurso Java Como programar

    2/53

    Introduo a linguagem

    Java

    Plataforma e Ambiente de

    Execuo

  • 8/3/2019 Minicurso Java Como programar

    3/53

    Histrico da Linguagem

    1991 Sun Microsystems financia projeto de pesquisa, projeto Green

    Objetivo: Elaborar um pequena linguagem de programao que pudesseser usada em eletrodomsticos

    Baseada em C++ Cdigo independente de uma plataforma O cdigo podia ser usado em qualquer mquina que tivesse o

    interpretador correto Resultou numa linguagem baseada em C++, chamada Oak Descobriu-se que j havia chamada Oak Equipe da Sun foi a uma cafeteria onde tiveram a ideia de colocar o

    nome da linguagem de Java, cidade de origem de um caf importado

    1992 Projeto Green lana primeiro produto

    "*7 No obteve sucesso

  • 8/3/2019 Minicurso Java Como programar

    4/53

    Histrico da Linguagem Surgimento da WWW - World Wide Web

    Criaram um navegador capaz de executar cdigos dentro da pgina web - HotJava

    1996 Lanada a primeira verso do Java: Java 1.0 Java 1.1

    1998 Java 1.2 Java 2 Standard Edition Development Kit Version 1.2

    Micro Edition

    Enterprise Edition

    Posteriormente as verses 1.3 e 1.4 s houve melhorias incrementais

    2004 Primeira verso desde a 1.1 que atualizada de maneira significativa

    A verso 1.5 pulou para 5.0 na conferncia JavaOne

  • 8/3/2019 Minicurso Java Como programar

    5/53

    O que JAVA

    Linguagem de programao Desenvolvida e mantida pela Sun Especificada pelo JCP (Java Community Process)

    www.jcp.org

    Plataforma de desenvolvimento Composta de

    Ferramentas APIs (Application Programming Interface)

    Extensa biblioteca de classes Java

    Ambiente de execuo (JRE)

    http://www.jcp.org/http://www.jcp.org/
  • 8/3/2019 Minicurso Java Como programar

    6/53

    Caractersticas de JAVA

    Simples No contm redundncias e fcil de entender, implementar e usar.

    Orientada a objetos Suporta os principais conceitos de orientao a objetos. Favorece extensibilidade e reusabilidade

    Multithread Suporte a aplicaes concorrentes Interpretada Independncia de plataforma Portabilidade

    Aplicaes funcionam do mesmo jeito em qualquer ambiente Alto desempenho Robusta

    Fortemente tipada. Programas so confiveis. Reduz imprevistos em tempo de execuo

    Segura

  • 8/3/2019 Minicurso Java Como programar

    7/53

    Plataforma de Desenvolvimento

    Ambiente de execuo JRE (Java Runtime Environment)

    Tudo necessrio para executar aplicaes JAVA

    Kit de desenvolvimento JDK (Java Development Kit)

    JRE

    Ferramentas para desenvolvimento Compilador (javac), depurador (jdb), empacotador (jar), etc

  • 8/3/2019 Minicurso Java Como programar

    8/53

    JVM

    Java Virtual Machine Write once, run anywhere Mquina imaginria implementada como uma

    aplicao de software em uma mquina real JVM l os bytecodesos traduz para uma

    linguagem que o computador possa entender

  • 8/3/2019 Minicurso Java Como programar

    9/53

    O papel da JVM

  • 8/3/2019 Minicurso Java Como programar

    10/53

    Edies Java

    Java atua em trs plataformas tentando atender todas asnecessidades: J2SE J2EE J2ME

  • 8/3/2019 Minicurso Java Como programar

    11/53

    J2SE

    Java Standard Edition Tecnologia Java para computadores pessoais,

    notebooks e arquiteturas com poder de

    processamento e memria considerveis Possui duas divises:

    JDK JRE

    Considerada plataforma padro

  • 8/3/2019 Minicurso Java Como programar

    12/53

    J2EE

    Java Enterprise Edition Tecnologia Java para aplicaes corporativas

    Na internet ou no

    Servidores de aplicao Principal preocupao a segurana

  • 8/3/2019 Minicurso Java Como programar

    13/53

    J2ME

    Java Micro Edition Tecnologia Java para dispositivos mveis com

    limitao de memria e processamento

    APIs bem mais simples e leves Usados para desenvolver sistemas em

    Celulares Palm tops Pocket pcs Smartphones Javacards

  • 8/3/2019 Minicurso Java Como programar

    14/53

    Introduo a Prtica

    Nosso primeiro Aplicativo

    JAVA

  • 8/3/2019 Minicurso Java Como programar

    15/53

    O que preciso para programarem JAVA?

    JDKJava Development Kit Kit de Desenvolvimento Pode ser baixado em:

    http://download.oracle.com/javase/index.html

    Instrues de instalao: http://www.oracle.com/technetwork/java/javase/index-137561.html

    Um editor de Texto ou IDE O que voc preferir, desde que o formato gravado seja texto puro

    Ex.: gedit (Linux), notepad (bloco de notas) ou notepad++ (windows) IDE (Integrated Development Environment Ambiente de

    desenvolvimento integrado) Contm ferramentas para facilitar o desenvolvimento Ex.: NetBeans, Eclipse;

    http://download.oracle.com/javase/index.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://www.oracle.com/technetwork/java/javase/index-137561.htmlhttp://download.oracle.com/javase/index.html
  • 8/3/2019 Minicurso Java Como programar

    16/53

    Nosso primeiro aplicativo JAVA

    Abra seu editor de texto Digite o cdigo fonte do programa abaixo Salve com a extenso PrimeiroPrograma.java

    O nome do arquivo deve ser o mesmo nome da classe coma extenso.java

    Abra o Console/Prompt de Comando Compile o programa

    javac PrimeiroPrograma.java

    publicclassPrimeiroPrograma{publicstaticvoidmain(String[] args) {

    System.out.println("Bem Vindo Minicurso:Programando em JAVA!");

    }}

  • 8/3/2019 Minicurso Java Como programar

    17/53

    Nosso primeiro aplicativo JAVA

    Execute o programa java PrimeiroPrograma

    Compilando

    Arquivo .class contendoos bytecodes gerado

    Executandona JVM

    Sada

  • 8/3/2019 Minicurso Java Como programar

    18/53

    Variveis, tipos, expresses,comandos e blocos

  • 8/3/2019 Minicurso Java Como programar

    19/53

    Variveis

    Dois grupos de variveis Tipos primitivos Referncia a Objetos

    Java possui oito tipos primitivos byte , short, int, long, float, double , char, boolean Os valores das variveis ficam armazenadas na pilha Declarao

    int x,y;short s1,s2;char c;

    float nota1;

  • 8/3/2019 Minicurso Java Como programar

    20/53

    Tipos Primitivos

    Palavra Descrio Tamanho/formato

    Inteiros

    byte Inteiro de um byte 8 bits

    short Inteiro pequeno 16 bits

    int Inteiro 32 bits

    long Inteiro Longo 64 bits

    Reais

    float 32 bitsdouble 64 bits

    Outros tipos

    char 16 bits - Unicode

    boolean true or false

  • 8/3/2019 Minicurso Java Como programar

    21/53

    Tipos Primitivos

    Inteiros (int) 10 ; 832 ; 2 ; -832 ; 131

    Ponto flutuante (double) 3.2 ; 4.3 ; 1232.1232 ; 32.2

    Caractere (char) a; b; c

    Booleano (boolean) true ; false

  • 8/3/2019 Minicurso Java Como programar

    22/53

    Nome de Variveis

    Podem conter caracteres, dgitos , _ e $ No podem comear com dgitos No podem conter espaos Maisculas diferentes de minsculas Exemplos

    nota, x, y, precoTotal, valorTotal, media1,media$total, media_alunos

  • 8/3/2019 Minicurso Java Como programar

    23/53

    Comentrios em JAVA

    Podemos usar duas formas de comentar: Comentrio de uma linha:

    Comentrio de mltiplas linhas:

    //Este um comentrio de uma linha

    /*Este um

    comentrio

    de mltiplas

    linhas*/

  • 8/3/2019 Minicurso Java Como programar

    24/53

    OperadoresOperao Funo

    Aritmticos

    + Soma

    - Subtrao

    * Multiplicao

    / Diviso

    % Resto de diviso

    Lgicos

    && e

    || ou

    == igual

    != No-igual, diferente

    Bit-a-bit

    & e

    | ou

    ^ Xor ou exclusivo

    ~ complemento

    > Deslocamento a esquerda>>> Deslocamento a direita com zero

  • 8/3/2019 Minicurso Java Como programar

    25/53

    Operadores Aritmticos

    Operaes entre elementos de tipos diferentes H converso do tipo menor ao maior

    double a=9.997;int b = (int)a;

    //ou melhor

    double a = 9.997;

    int b = (int)Math.round(a);//arredondamento

  • 8/3/2019 Minicurso Java Como programar

    26/53

    Precedncia

    Parnteses determina precedncia x = (nota1*2 + nota2*3) / 5;

    TABELA DE PRECEDNCIA

    ++ -- ! ~ Operadores unrios

    * / % Operadores Multiplicativos+ - Operadores Aditivos

    > >>> Deslocamento de Bits

    < > = Operadores Relacionais

    == != Operadores de Igualdade

    & And Bit-a-bit^ Xor Bit-a-bit

    | Or Bit-a-bit

    && And Lgico

    || Or Lgico

    = op= Atribuies

  • 8/3/2019 Minicurso Java Como programar

    27/53

    Incremento e decremento

    int a = 10;int b = 20;int c, d;

    c = a++;// c recebe 10d = ++b;// d recebe 21

    a e b so incrementados em 1, porm as incrementado depois de usado,enquanto b e incrementado antes de serusado

  • 8/3/2019 Minicurso Java Como programar

    28/53

    Comandos

    Escrever dados ClasseSystem

    Atributoout

    Mtodo print() e println()

    Ler dados

    ClasseScanner

    Condicionais if-else; switch-case

    Laos de repetio(loop)

    while; do-while; for

    Bloco de comandos Agrupa mais de um

    comando

  • 8/3/2019 Minicurso Java Como programar

    29/53

    Lendo e apresentando dados

    Entre com Seu nome: Jean

    Bem Vindo Jean!

    publicclass IOJava{

    publicstaticvoidmain(String[] args){

    java.util.Scanner sc = new

    java.util.Scanner(System.in);

    System.out.println("Entre com seu nome");

    String nome = sc.nextLine();System.out.println("Bem Vindo "+nome+"!");

    }

    }

  • 8/3/2019 Minicurso Java Como programar

    30/53

    Leitura de Dados

    Tipos primitivos

    nextByte () nextShort()

    nextInt() nextLong() nextFloat() nextDouble() nextBoolean()

    Objetos

    next() nextLine()

    nextBigDecimal() nextBigInteger()

  • 8/3/2019 Minicurso Java Como programar

    31/53

    Comandos Condicionais:if-else

    Sintaxe

    Condio booleana qualquer expresso que retorne true ou false else opcional; depende da aplicao

    if(condioBoleana){cdigo;

    }else

    cdigo;

    int idade = 13;if(idade>=18)

    System.out.println("Voce ehmaior de Idade!");

    elseSystem.out.println("Voce eh

    menor de Idade!");

  • 8/3/2019 Minicurso Java Como programar

    32/53

    Selees MltiplasO comando switch

    Usa-as quando h varias selees com muitas alternativas. Sintaxe:

    switch(opcao){

    case 1:comando;break;case 2:

    comando;break;

    case 3:comando;break;

    }

    Scanner sc = new Scanner(System.in);

  • 8/3/2019 Minicurso Java Como programar

    33/53

    int opcao;do{

    System.out.println("1 - Flamengo\n" +"2 - Vasco\n" +"3 - Fluminense\n" +"4 - So Paulo\n" +

    "0 - Sair");System.out.println("Entre com a opo: ");opcao = sc.nextInt();switch(opcao){//escolha opcao

    case 0:break;case 1://caso seja 1 faa:

    System.out.println("Campeo...melhor do Brasil");break;case 2:

    System.out.println(" fregus do mengo");break;case 3:

    System.out.println("Murici o tcnico...");break;

    case 4:System.out.println("Time de Boto!");

    break;default:

    System.out.println("Opo invlida, entre comopes vlidas");

    break;}

    }while(opcao!=0);

  • 8/3/2019 Minicurso Java Como programar

    34/53

    Laos de Repetio:while e do-while

    Usados para fazer loop Repetir trecho de cdigo algumas vezes

    Sintaxe

    do-while executa ainstruo pelo menos

    uma vez

    while(expresso)comando;

    do{comando;

    }while(expresso);

    inti = 1;int soma = 0;

    while (i < 10)soma +=i++;/*soma=soma+1 e

    depois incrementa a i em 1*/

    System.out.println(soma);

    inti = 1;int soma = 0;do{

    soma+=i;//mesmo que soma=soma+1i++;

    }while(i

  • 8/3/2019 Minicurso Java Como programar

    35/53

    Laos de Repetio:for

    Usado tambm para fazer loop Sintaxe

    for (inicializaes ; expresso ; passo)

    comando;

    int soma = 0;for (int i = 0 ; i < 10 ; i++)

    soma+=i;System.out.println("A soma "+soma);

  • 8/3/2019 Minicurso Java Como programar

    36/53

    Programao Orientada

    a Objetos

    Uma alternativa a

    programao procedural

  • 8/3/2019 Minicurso Java Como programar

    37/53

    O que POO

    O problema da programao procedural Dificuldade em ler o cdigo que foi escrito por outro

    desenvolvedor e descobrir como ele funcionainternamente

    Paradigma POO Torna mais fcil a implementao de programas mais

    complexos

    Facilita a litura de cdigo escrito por outra pessoa Escreve menos cdigo Aplicao mais flexvel a mudanas Reusabilidade do cdigo

    Aumento da produtividade

  • 8/3/2019 Minicurso Java Como programar

    38/53

    O que POO

    Programao orientada a objetos ,

    portanto, uma maneira de fazer softwareutilizando-se abstraes matemticas doselementos do mundo real presentes nodomnio da aplicao

  • 8/3/2019 Minicurso Java Como programar

    39/53

    Abstrao

  • 8/3/2019 Minicurso Java Como programar

    40/53

    Objetos

    O ser humano conhece o mundo e gerencia sua

    complexidade atravs de objetos Um objeto representa um item identificvel,

    uma unidade, ou entidade, individual, seja realou abstrato, com uma regra bem definida

    Objeto = dados + operaes

  • 8/3/2019 Minicurso Java Como programar

    41/53

    Objetos

    Os objetos possuem Estado

    Representado pelos valores dos atributos de um objeto

    Os atributos so as caractersticas do meu objeto Comportamento

    Definido pelo conjunto de mtodos do objeto Estado representa o resultado cumulativo de seu

    comportamento Identidade

    Forma que conhecemos o objeto, a referncia aoobjeto

  • 8/3/2019 Minicurso Java Como programar

    42/53

    Classes e Objetos

    Classe Define um objeto, ou seja onde conceituamos o

    objeto

    Define os atributos e mtodos Objeto uma instncia de uma classe

    Instncia cada um dos objetos criados durante aexecuo de um aplicativo

    Objetos so gravados na heap quando criados eremovidos pelo Garbage Collector do java quandono so mais uteis ao programa

  • 8/3/2019 Minicurso Java Como programar

    43/53

    Visibilidade de atributos emtodos

  • 8/3/2019 Minicurso Java Como programar

    44/53

    A classe Math

    Localizada no pacote java.lang.Math Diretrios para organizar as classes H classes j predefinidas em java Consulta API

    API Documentation

    A classe Math Mtodos estticos

    No precisam ser instanciados So referenciados pelo nome da classeint x = 9;

    Math.sqrt(x);//retorna a raiz quadrada de x

    http://download.oracle.com/javase/6/docs/api/index.htmlhttp://download.oracle.com/javase/6/docs/api/index.htmlhttp://download.oracle.com/javase/6/docs/api/index.htmlhttp://download.oracle.com/javase/6/docs/api/index.html
  • 8/3/2019 Minicurso Java Como programar

    45/53

    A classe String

    Pacote java.lang.String Cadeia de caracteres Manipulando Strings:

    String a = new String(Jean);//criando uma String

    String b = Silva;

    String nome = a+b;//valor de nome Jean Silva

    nome+=10;//o valor de nome agora Jean Silva10

  • 8/3/2019 Minicurso Java Como programar

    46/53

    Mtodos uteis para trabalhar comcadeias de caracteres

    int length() retorna o tamanho da String

    char charAt(int i) retorna o caractere no ndice i

    int indexOf(char c) Retorna o indice do caractere c

    char[] toCharArray(); Retorna a String em forma de

    array String toLowerCase ();

    Retorna nova String todaminscula

    String toUpperCase (); Re torna nova String toda

    maiscula

    String trim();

    Re torna nova String sem osespaos no inicio e fim

    int compareTo(String s); Compara duas Strings

  • 8/3/2019 Minicurso Java Como programar

    47/53

    Arrays

    So objetos Preciso ser instanciados Sequncia de tipos (tipos primitivos ou objetos)

    Declarao e instnciaint a[] = new int[10];//array dimensional ou vetor

    double b[][] = new double[12];//array bidimensionalou matriz

    String nomes[] = new String[20]; Indexao comea em 0

  • 8/3/2019 Minicurso Java Como programar

    48/53

    Arrays

    Scanner sc=new Scanner(System.in);

    int v[]= newint[10];

    //preencher array

    for(int i=0; i

  • 8/3/2019 Minicurso Java Como programar

    49/53

    Colees

    Pacote java.util Coleo uma estrutura de dados um objeto Armazena referncia de outros objetos e

    normalmente do mesmo tipo Alto desempenho Alta qualidade Reutilizao de software Minimizam a quantidade de codificao

  • 8/3/2019 Minicurso Java Como programar

    50/53

    Usando Colees

    InstnciaList lista = new ArrayList();

    Manipulao

    Addlista.add(objeto);

    RemoveLista.remove(objeto);

    Ex:List nomes = new ArrayList();

    String a = jean;

    String b = Astrobildo;

    nomes.add(a);

    nomes.add(b)

    nomes.remove(b);

  • 8/3/2019 Minicurso Java Como programar

    51/53

    Aplicando o

    conhecimento

    Construindo uma aplicao

    em java usando o IDENetBeans

  • 8/3/2019 Minicurso Java Como programar

    52/53

    Agenda Telefnica Simples

  • 8/3/2019 Minicurso Java Como programar

    53/53

    Referncias e Indicaes