Unidade I: “Dê um mergulho rápido” Aprofundando-se, Como o JAVA funciona, O que você fará em JAVA, Um histórico bem resumido de JAVA e Estrutura de código em JAVA Para começar! Como funciona JAVA? • Vamos supor que desejamos desenvolver um convite que “rode” em qualquer dispositivo. O que você fará em JAVA? • Criará um CÓDIGO-FONTE em JAVA; • Compilará o CÓDIGO-FONTE; • Executará o BYTECODE em uma MÁQUINA VIRTUAL JAVA. Estrutura do código em JAVA • O que existe em um arquivoFONTE? – Um arquivo de código-fonte (sempre com a extensão .java) contém uma definição de classe. – Uma classe representa uma parte de seu programa, embora programas muito pequenos possuam apenas uma classe. – Uma classe sempre ficará entre um par de chaves (“{ }”). Estrutura do código JAVA • O que existe em uma CLASSE? – Uma classe tem um ou mais MÉTODOS. – Na classe Dog, o MÉTODO bark conterá instruções de como o cão deve latir. – TODOS os MÉTODOS devem ser declarados dentro de uma CLASSE (em outras palavras, dentro das chaves da CLASSE). Estrutura do código JAVA • O que existe em um MÉTODO? – Dentro das chaves de um MÉTODO você escreverá as instruções de como ele deve ser executado. – O código do MÉTODO é basicamente um conjunto de instruções. Anatomia de uma CLASSE • Quando a JVM começar a “trabalhar”, ela procurará a CLASSE que você forneceu na linha de comando. • Em seguida, começará a procurar por um método que se pareça exatamente com: Anatomia de uma CLASSE • TODO aplicativo JAVA precisa ter pelo menos uma CLASSE e um MÉTODO main. • IMPORTANTE! –Não um MÉTODO main por CLASSE, mas um método main por aplicativo! Essa é uma CLASSE public Publica para que todos possam acessá-la class MyFirstApp Abordaremos depois public static System.out.print } } Nome da CLASSE Essa instrução significa: exibir na saída padrão (linha de comandos) { Tipo de retorno que nesse caso não será nenhum. void main Nome do MÉTODO ARGUMENTOS DO MÉTODO. Esse MÉTODO deve receber uma matriz de Strings de nome “args”. (String [] args) (“Olá Mundo CRUELLLLLLLL”) A String que você irá exibir. { ; Criando uma CLASSE com um MÉTODO main • Em JAVA tudo é inserido em uma CLASSE. • Criaremos um código-fonte (com extensão .java). • Converteremos esse código-fonte em um novo arquivo de classe (extensão .class). • A execução do programa na realidade é a execução da classe. Como escrever um código JAVA de modo que ele possa ser executado? • Tudo começará com o MÉTODO main()! • O MÉTODO main() é onde o seu programa começará a ser executado. • Independentemente do tamanho do seu programa, ele deverá, obrigatoriamente possuir um MÉTODO main() que dê início ao processo. O primeiro programa JAVA • Criando códigos JAVA! – Abra o NETBEANS; – Clique em “Arquivo” > “Novo Projeto”; – Selecione em “Categoria” a opção “JAVA” e em “Projetos” a opção “Aplicativo JAVA” – clique em próximo; – Em “Nome do Projeto”, coloque “PrimeiraAula” – clique em finalizar. Para cada aula deverá ser criado um projeto; – Desmarque: “Criar classe principal” e “Definir como projeto principal”. O que podemos inserir no MÉTODO main()? • “Fazer algo”: – Instruções, declarações, atribuições, chamadas de método, etc... • • • • • • int x = 3; String name = “Fernandão é lindo!”; x = x * 27; System.out.println (“x é : “ + x); double d = Math.random (); // isto é um comentário de simples linha! O que podemos inserir no MÉTODO main()? • “Fazer algo repetidamente”: – Loops: “while” e “for” (enquanto e para). while (x < 12) { X = x – 1; } for (int x = 0; x < 10; x = x + 1) { System.out.println (“X é: ” + x); } O que podemos inserir no MÉTODO main()? • “Fazer algo sob uma condição”: – Testes: “if/else” (se e senão). If ( x == 10) { System.out.println (“O valor é 10”); } else { System.out.println (“O valor não é 10”); } Iteração = loop • JAVA possuiu três estruturas de loop padrão: – while – do-while – for • Veremos cada uma das estruturas, mas não nesse momento. Por enquanto, ficaremos com o while. WHILE • A sintaxe é simples: – Um bloco de comandos sempre será executado ENQUANTO uma determinada condição for satisfeita. – Esse bloco de comandos será delimitado por um par de chaves “{}”. Ou seja, tudo o que você quiser que seja executado deverá estar dentro dessas chaves. WHILE – A parte mais importante de um loop é o teste condicional. Um teste condicional será qualquer expressão booleana – em outras palavras, algo que seja VERDADEIRO ou FALSO. • “Enquanto (while) tiver sorvete no pote, continue a tirar” – é claramente um teste booleano. • “Enquanto Bob continuar a tirar sorvete.” – não remete um teste booleano, concordam? Testes booleanos simples • Usando-se operadores: –Maior que (>); –Menor que (<); –Igualdade (==) { [Sim, São dois sinais!] • Quanto ao operador “=” e “==”: –Um é operador de atribuição e o outro de igualdade! Ramificação condicional • Um teste if basicamente tem a mesma função do teste while. A diferença é que ao invés de dizermos “while (enquanto) tiver cerveja...”, falaremos “if (se) tiver cerveja...” Ramificação condicional • Podemos, no teste if, inserir uma outro teste, o else. Com o else, diremos assim “if (SE) houver cerveja traga carnes... else (SENÃO) traga leite.” Eu notei: PRINT versus PRINTLN • Usaremos: – PRINT Quando quisermos que nossas saídas fiquem em uma mesma linha. – PRINTLN Quando quisermos que nossas saídas fiquem em linhas separadas/diferentes. • • • • System.out.print (“Oi ”); Oi meu amigo! System.out.print (“meu amigo!”); System.out.println (“Oi ”); Oi System.out.println (“meu amigo!”); meu amigo! Exercitando... • Caso das 99 cervejas... – 99 posições; – Cada ciclo retira uma e imprime quantas sobraram; • “Existem 98 cervejas no engradado!” – Quando tiver uma cerveja apenas mostrar a frase final; • “Existe apenas uma cerveja no engradado, compre mais!” Vamos codificar com calma • CLASSE • MÉTODO • INSTRUÇÕES – ENQUANTO • WHILE – SE • IF