Java Básico

18,987 views

Published on

Tutorial sobre a Linguagem de Programação Java, a versão da linguagem deste tutorial é 1.4, contudo, este tutorial continua válido para quem aprender o básico do Java.

Published in: Technology, News & Politics
  • Aluno do curso Analise de sistema, muito bom material parabens
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Java Básico

  1. 1. Linguagem de Programação JAVA JB100 Java Básico www.etcnologia.com.br Rildo F Santos rildo.santos@etecnologia.com.br @rildosan (11) 9123-5358 skype: rildo.f.santos (11) 9962-4260 http://rildosan.blogspot.com/Autor: Rildo Santos (rildosan@uol.com.br) Revisão 3.0 27/01/09 © Copyright e-tecnologia.com, 2002 Versão: 3.0
  2. 2. Linguagem de Programação JAVA JB100 Java BásicoEstrutura do Curso Introdução Apresenta arquitetura da linguagem Java Fundamentos Apresenta comandos e funcionalidades da linguagem básicas Programação Principais aspectos da programação Orientada orientada a objetos a Objetos Características Apresentar características avançada da Avançadas Linguagem (Threads, networking e etc) Introdução Apresentar uma visa geral da UML e seus a UML os principais componentes Demonstrar os principais utilitários da Utilitários linguagem Java (Jar, JadaDoc e etc) © Copyright e-tecnologia.com, 2002 Versão: 3.0 2
  3. 3. Linguagem de Programação JAVA JB100 Java BásicoConteúdo Introdução Características Avançadas breve apresentação Instanceof gerando aplicações Exception Instalação do JDK Formatando Números e Datas O primeiro programa Constantes Threads Fundamentos da linguagem Java Serialization Estrutura da linguagem TCP/IP Palavras Reservadas Tipos de Dados Introdução a UML Inicialização de variáveis Utilitários Operadores JavaDoc A classe String Jar A classe StringBuffer JDB Casting Javap Fluxo de Controle Arrays Apêndice Passagem de Parâmetros Convenção de Código no Java A classe Math Unicode Empacotamento de Classes Notação UML Conversão de Tipos A referência this Coleções Pacotes Programação Orientada a Objetos Classes Objetos Métodos Construtores Atributos e variáveis Exemplo de classe Exercício Abstração de Dados Relacionamento Herança Herança Múltipla Comparação: Classes vs Interfaces A referência Super Associação Navegação Rolename Agregação Composição Multiplicidade Constraint Encapsulamento Polimorfismo Acessibilidade Nota Versão do JSDK 1.3 Este material foi preparado para trabalhar com a versão JSDK 1.3 (veja: http://java.sun.com/j2se/1.3/index.jsp), entretanto todos os exemplos funcionam perfeitamente na versão 6 (versão atual) © Copyright e-tecnologia.com, 2002 Versão: 3.0 3
  4. 4. Linguagem de Programação JAVA JB100 Java BásicoObjetivo Você está preparado ? Para aprendermos uma nova linguagem de programação é necessário ter alguns conhecimentos como: - Lógica de Programação; - Conhecer um Sistema Operacional, por exemplo, Windows, Unix, Linux ou MacOS; - Saber editar e compilar programas e; Conhecer uma outra Linguagem de Programação é importante, porém não imprescindível. Objetivo deste curso: Apresentar as características básicas da linguagem Java, assim como, sua estrutura, funcionalidades, métodos, classes, APIs (Application Program Interface) e recursos avançados. Expectativas após o Curso: Ao final deste curso você deverá estar apto a: • Utilizar a linguagem Java para criar aplicações simples; • Descrever e usar as características de linguagem orientada a objetos com Java, tais como: Herança, Abstração de Dados, Encapsulamento e Polimorfismo; • Conhecer o tratamento de exceções; • Descrever e usar “sockets” para fazer acesso a servidores e clientes; • Conhecer UML básica; © Copyright e-tecnologia.com, 2002 Versão: 3.0 4
  5. 5. Linguagem de Programação JAVA JB100 Java Básico© Copyright e-tecnologia.com, 2002 Versão: 3.0 5
  6. 6. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Uma breve apresentação... Surgimento: Java é uma linguagem de programação criada em 1995 por James Gosling e sua equipe. A linguagem é de propriedade da Sun Microsystem. Logo Java ganhou popularidade, um bom exemplo disto são os “Applets”, aqueles pequenos aplicativos que executam nos navegadores, que durante muito tempo foi o foco da linguagem Java. Com o passar do tempo, o número de desenvolvedores aumentou e a linguagem amadureceu sendo hoje considerada o principal ambiente de desenvolvimento, tanto para Internet quanto para ambiente cliente/servidor tradicional. Algumas das características da linguagem Java: • Orientação a objetos • Portabilidade (isto que dizer que o mesmo programa criado no Windows2000, pode ser executado em Linux, por exemplo, ou qualquer outro Sistema Operacional, sem a necessidade de fazer ajustes). Entretanto, a linguagem Java vai além da computadores, sendo executada em diversos dispositivos como telefone celulares, televisores, cartões inteligentes e etc. O Java é reconhecido como a principal linguagem no mundo dos Servidores de Aplicações e ambiente sem fio (wireless). Java © Copyright e-tecnologia.com, 2002 Versão: 3.0 6
  7. 7. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java O que é o Java? Java é: Uma linguagem de programação; Um ambiente de desenvolvimento; Um ambiente de aplicação; Java é o resultado de uma busca por uma plataforma de programação que pudesse fornecer segurança, portabilidade (independência de sistema operacional) e escalabilidade. Os primeiros objetivos alcançados com o desenvolvimento desta nova linguagem foram: •Orientação a objetos: A linguagem é orientada a objetos a partir de sua arquitetura, permitindo herança, polimorfismo, encapsulamento, abstração de dados, persistência de objetos e reúso de código.;  Independência de plataforma (Portabilidade): Possibilidade do mesmo código fonte ser executado em diversos sistemas operacionais, tais como Solaris, AIX, Linux, MacOS, Win32, PalmOS, OS/390 e etc);  Dinamismo: A natureza dinâmica do Java, sendo uma extensão natural de seu projeto orientado a objetos, permite a extensibilidade durante a execução.  Alto desempenho: Suporte a vários recursos, como multithreading, compilação em Jus-in-time, atomicidade do código e suporte a protocolos de rede (TCP/IP)  Facilidade de manutenção de programas. A linguagem não tem:  Ponteiros do sistema operacional;  Defines;  Sobrecarga de operadores;  Herança múltipla de classes e  Função e/ou procedure. Principias características:  Cargabe Collection (gerenciamento dinâmico da memória);  Java Virtual Machine (JVM);  Código seguro. © Copyright e-tecnologia.com, 2002 Versão: 3.0 7
  8. 8. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Diferenças entre o Java e o C++ Java é sintática e morfologicamente muito parecido com a linguagem C++, entretanto, existem diferenças: Inexistência de aritméticas de ponteiros (ponteiros são apenas referências); Arrays são objetos; Strings são objetos; Gerenciamento automático de alocação e deslocação de memória (Garbage Collection); Não há sobrecarga de operadores; Não há métodos com lista de argumentos de tamanho variável; Não existem diretivas de pré-compilação (#define, #ifde); Não existem Templates; Não existe Herança Múltiplas com classes, apenas com interfaces; Não existem funções, mas apenas métodos de classes; Necessita de ambiente de execução (runtime), ou seja, a JVM (Java Virtual Machine). Veja abaixo um exemplo de um simples programa escrito em Java e em C++. Java public class Hello { public static void main (String arg []) { System.out.println("Hello” + “n”); } } C++ #include <iostream.h> int main () { cout << “Hello n" ; return 0; } © Copyright e-tecnologia.com, 2002 Versão: 3.0 8
  9. 9. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Portabilidade: “A independência de plataforma” O Java é independente de plataforma. Isto significa que o desenvolvedor não terá que se preocupar com particularidades do sistema operacional ou do hardware, focando o seu esforço no código em si. Mas o que isto realmente significa? ? Na maioria das linguagens é preciso gerar uma versão para cada plataforma que se deseja utilizar, exigindo em muitos casos, alterações também no código fonte. Em Java o mesmo programa pode ser executado em diferentes plataformas. Veja o exemplo abaixo: public class HelloWorldApp { Compilação: public static void main (String arg []) > javac Hello.java { System.out.println("Hello World!"); } } Execução: > java Hello O mesmo código fonte Hello World Hello World Hello World Sistema Operacional e Processadores diferentes "write once, run anywhere." © Copyright e-tecnologia.com, 2002 Versão: 3.0 9
  10. 10. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Gerando Aplicações Para criarmos aplicações ou programas na linguagem Java temos que executar os alguns passos: Edição, Compilação e Interpretação. A Edição é a criação do programa, que também é chamado de código fonte. Com a compilação é gerado um código intermediário chamado Bytecode, que é um código independente de plataforma. Na Interpretação, a máquina virtual Java ou JVM, analisa e executa cada instrução do código Bytecode. 3 Java myProgram 1 2 Javac myProgram.java Na linguagem Java a compilação ocorre apenas uma vez e a interpretação ocorre a cada vez que o programa é executado. © Copyright e-tecnologia.com, 2002 Versão: 3.0 10
  11. 11. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Instalação do ambiente de desenvolvimento (JDK) O Java Development Kid (JDK) é conjunto de ferramentas para compilar, depurar, executar e documentar um programa escrito em java. As versões para Solaris, Linux e Windows podem ser obtidas no endereço: www.java.sun.com (Página oficial da linguagem). Procedimentos de Instalação: Para instalar o JDK, basta executar o programa de instalação e seguir as instruções. Caso o JDK esteja compactado será necessário descompactá-lo primeiro, os formatos mais populares de arquivos compactados são zip (para Windows) e tar (para Unix). Após a instalação é necessário configurar o ambiente: No windows: Acrescentar no Autoexec.bat: SET JAVA_HOME=C:JDK1.3 PATH=%JAVA_HOME%bin A variável JAVA_HOME deve ter o mesmo nome do diretório onde foi instalado o JDK. Classpath O Java defini uma variável de ambiente chamada ClassPath. O Java procura pelas classes e pacotes através desta variável. Ela deve estar no Autoxecec. Veja um exemplo: Set classpath=,;c:JDK1.3;c:MeusPacotes O próximo passo é instalar a documentação, ela geralmente está em arquivo compactado, ao descompacta-la selecionar a unidade de disco, por exemplo: “C:”, pois, o diretório padrão da documentação (docs) já está definido no arquivo compactado. Caso você tenha instalado o JDK em outro diretório que não seja o padrão, você deverá especificar no momento da instalação. A documentação está no formato HTML, o arquivo principal o index.html. © Copyright e-tecnologia.com, 2002 Versão: 3.0 11
  12. 12. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Instalação do ambiente de desenvolvimento (JDK) Após a instalação, você deverá ter uma estrutura de diretórios como aparece na figura: Resumo: bin: Onde estão todos os arquivos necessários para compilar (javac), depurar (jdb) e executar (java). demo: Onde estão os arquivos de demonstração e exemplos da linguagem Java. docs: Onde está a documentação do ambiente da Linguagem Java no formato HTML include: Onde estão os arquivos escritos em linguagem C, os “header”, que são usados na integração de Java e a Linguagem C. Include-old: Onde estão os arquivos escrito em linguagem C, os “header”, entretanto, os arquivos são de versão mais antiga. jre: documentação Ambiente de execução do Java necessário para distribuir a aplicação aos clientes. lib: Onde estão as bibliotecas Java, também chamadas de APIs. A extensão dos arquivos é .jar. © Copyright e-tecnologia.com, 2002 Versão: 3.0 12
  13. 13. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Instalação do ambiente de desenvolvimento (JDK) Sistema Operacional Ambiente necessário nos Ambiente para os desenvolvedores Clientes (usuários finais) A figura demonstra uma visão do pacote de desenvolvimento JDK e também do ambiente de execução (JRE). Ambos são necessários para desenvolver uma aplicação. Para os clientes, os usuários finais, precisam apenas do ambiente de execução JRE. Aplicativos como os Applets executam através do Browser (Internet Explorer ou Netscape) geralmente a VM que está embutida nestes navegadores. © Copyright e-tecnologia.com, 2002 Versão: 3.0 13
  14. 14. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java O Compilador javac Sintaxe: javac [opções] NomedoArquivo.java Veja abaixo a lista dos principais argumentos: Argumento Descrição -classpath path Localização das classes. Sobrepõe a variável de ambiente Classpath. -d dir Determina o caminho onde as classes compiladas são armazenadas -deprecation Faz a compilação de código em desuso, geralmente de versões anteriores e faz aviso de advertência -g Gera tabelas de "debugging" que serão usadas pelo pelo deupador JDB. -nowarm Desabilita as mensagens de advertência -verbose Exibe informações adicionais sobre a compilação -O Faz otimização do código -depend Faz a compilação de todos os arquivos que dependem do arquivo que está sendo compilado. Normalmente somente é compilado o arquivo fonte mais as classes que este invoca. Exemplos: > javac Hello.java > javac -d . Hello.java > javac -deprecation Hello.java > javac -O -deprecation -verbose Hello.java > javac -O Hello.java © Copyright e-tecnologia.com, 2002 Versão: 3.0 14
  15. 15. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java O Interpretador java Sintaxe: java [opções] NomedoArquivo [lista de Argumentos] Veja abaixo a lista das principais opções: Argumento Descrição -classpath path Localização das classes. Sobrepõe a variável de ambiente Classpath. -help Exibe a lista de opções disponíveis -version Exibe a versão do interpretador -debug Inicia o interpretador no modo de "debug", geralmente em conjunto com JDB. -D propriedade= Possibilita redefinição de valores de propriedades. Pode ser usado valor várias vezes. -jar Indica o nome do arquivo (com extensão .jar) que contém a classe a ser executada. -X Exibe a lista de opções não padronizadas do interpretador -v ou -verbose Exibe informações extras sobre a execução, tais como, mensagens indicando que uma classe está sendo carregada e etc Lista de Define a lista de argumentos que será enviada a aplicação Argumentos Alguns Exemplos: > java Hello > javac -version > java -D nome=“Meu Nome” Hello > java -verbose Hello > javac Hello MeuNome © Copyright e-tecnologia.com, 2002 Versão: 3.0 15
  16. 16. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Java Virtual Machine A JVM é parte do ambiente de "runtime" Java e é a responsável pela interpretação dos bytecodes (programa compilado em java), ou seja, a execução do código. A JVM consiste em conjunto de instruções, conjunto de registradores, a pilha (stack) , garbage-collected heap e a área de memória (armazenamento de métodos). Funcões da JVM:  Carregar de forma segura todas as classes do programa (protegendo contra ataques premeditados, por exemplo, Cavalos de Tróia)  Verificar se os bytecodes aderem às especificações da JVM e se não violam a integridade e segurança da plataforma.  Interpretar o código. Em tempo de execução estes bytecodes são carregados, são verificados através do Bytecode Verifier (uma espécie de vigilante) e somente depois de verificados serão executados. Programa Fonte Javac <programafonte.java> Programa Class Loader Compilado J Byte Code Verifier Java <programafonte> V M Runtime © Copyright e-tecnologia.com, 2002 Versão: 3.0 16
  17. 17. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Garbage Collection Coletor de Lixo: A linguagem Java tem alocação dinâmica de memória em tempo de execução. No C e C++ (e em outras linguagens) o programa desenvolvido é responsável pela alocação e deslocamento da memória. Isto geralmente provoca alguns problemas. Durante o ciclo de execução do programa, o Java verifica se as variáveis de memória estão sendo utilizadas, caso não estejam o Java libera automaticamente esta área para o uso. © Copyright e-tecnologia.com, 2002 Versão: 3.0 17
  18. 18. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Escrevendo um pequeno programa 1 - Abra o editor de programas e crie o seguinte programa. public class Hello { public static void main (String arg []) { String s = "world"; System.out.println("Hello " + s); } } 2 - Salvar como: Hello.java Após terminar: 3 - Compile o programa com o seguinte comando: javac Hello.java 4 - Para executar digite o comando: java Hello Está pronto o primeiro programa em Java. Fácil! © Copyright e-tecnologia.com, 2002 Versão: 3.0 18
  19. 19. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Escrevendo um pequeno programa Dissecando o código modificador Nome da classe Lista de argumentos public class Hello (o tipo em questão é String) Classe { (corresponde public static void main (String arg []) Método { String s = "world"; ao arquivo principal Variável que será gravado System.out.println("Hello " + s); do disco) } } método Atributo da Classe java Classe System Tipo de dado Roteiro para criar um programa em Java: 1 - Fazer a assinatura da classe, isto equivale a declaração: public class NomedaClasse { 2 - Declarar as variáveis, também chamadas de fields: int i =0 ; Neste caso não temos nenhum variável de classe ou field 3 - Fazer a assinatura dos métodos: public static void main (String args[]){ 4 - Escrever o corpo do método: String s= “world”; System.out.println(“Hello” + s); 5 - Para encerrar o método, note que o corpo do método está entre chaves “{...}“. } 6 - Para encerrar a classe, segue o mesmo princípio do método. Use chaves “}“. 7 - Salve o arquivo. Observe que o nome do arquivo deve ser o mesmo nome da classe. Hello.java 8 - Compilar o programa. Sintaxe: javac <NomedaClasse.java>. Javac Hello.java 9 - Agora execute o arquivo. Sintaxe: java <NomedaClasse> Java Hello © Copyright e-tecnologia.com, 2002 Versão: 3.0 19
  20. 20. Linguagem de Programação JAVA JB100 Java BásicoIntrodução a linguagem Java Escrevendo um pequeno programa Não deu certo ??? Veja se este pequeno “Checklist” pode ajudar: 1 - Problemas com compilação: Veja o Classpath; 2 - Se o compilador não consegue encontrar o arquivo: Verifique se o nome da classe e o nome do arquivo gravado em disco são correspondentes, lembre-se que o java faz distinção entre maiúscula e minúscula; 3 - Erros de sintaxes: Verifique se os pares chaves estão corretos, ou seja, deve ter um par para classe, outro para cada método e para cada bloco de declarações. Verifique se não há instruções erradas, como string quando o correto é String (é uma classe), system ao invés de System Verifique se há ponto e virgula “;” no final de cada instrução. © Copyright e-tecnologia.com, 2002 Versão: 3.0 20
  21. 21. Linguagem de Programação JAVA JB100 Java Básico© Copyright e-tecnologia.com, 2002 Versão: 3.0 21
  22. 22. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Estrutura da Linguagem Comentários: Temos três tipos permitidos de comentários nos programas feitos em Java: • // comentário de uma única linha • /* comentário de uma ou mais linhas */ • /** comentário de documentação */ (este tipo de comentário é usado pelo utilitário Javadoc, que é responsável por gerar documentação do código Java) Exemplo Descrição int x=10; // valor de x Comentário de linha /* Exemplo onde o comentário usa mais que uma linha. A variável x é integer Todo o texto entre "/*" e "*/", inclusive, são ignorados pelo */ compilador int x; /** x -- um valor inteiro representa Todo o texto entre o "/**" e "*/", inclusive, são ignorados a coordenada x pelo compilador mas serão usados pelo utilitário javadoc. */ int x; Ponto e vírgula, Blocos e o espaço em branco: • No Java, os comandos são terminados com o sinal de ponto e vírgula (;) • Um bloco tem início e fim representados pelo uso das chaves { }; • O uso do espaço em branco permite uma melhor visualização dos comandos e em conseqüência facilita a sua manutenção. Exemplo: public class TestEstrutura { public void sayHello(String hello) { Bloco da Classe System.out.println("Hello "); } } Ponto e virgula Bloco do Método © Copyright e-tecnologia.com, 2002 Versão: 3.0 22
  23. 23. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Estrutura da Linguagem Identificadores: Que são identificadores ? Identificadores são nomes que damos as classes, aos métodos e as variáveis. Regra: Um identificador deverá ser inicializado com uma letra, sublinhado ( _ ), ou sinal de cifrão ($). Em Java existe uma diferença entre letras maiúsculas e minúsculas. Veja alguns exemplos: Classe é diferente de CLASSE classe é diferente de Classe Exemplos de identificadores:: Alguns identificadores válidos: - identifier - userName - User_name - _sys_var1 - - $change Exemplo: public class PessoaFisica Veja alguns inválidos: - 1nome - TestClass - /metodoValidar --------------------------- Compiler Output --------------------------- TestIdentificador.java:3: illegal start of type private 1nome; Veja o código abaixo onde são apontados os identificadores Identificador (nome da classe) Identificador public class Hello (nome do método) { public static void main (String arg []) Método { String s = "world"; Classe principal Veja que primeiro System.out.println("Hello " + s); foi definido } o tipo de dado, } String, e depois o nome do Identificador (nome do variável) © Copyright e-tecnologia.com, 2002 Versão: 3.0 23
  24. 24. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Palavras Reservadas Palavras Reservadas abstract do implements private throw boolean double import protected throws break else instanceof public transient byte extends int return true case false interface short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized default if package this As Palavras Reservadas, quer dizer que nenhuma das palavras da lista acima podem ser usadas como identificadores, pois, todas elas foram reservadas para a Linguagem Java. Veja o exemplo abaixo: public class TestPalavraReservada { Palavra reservada private int return =1; Palavra reservada public void default(String hello) { System.out.println("Hello "); } } Este programa provocará erros ao ser compilado: --------------------------- Compiler Output --------------------------- TestEstrutura.java:3: <identifier> expected private int return =1; ^ TestEstrutura.java:6: <identifier> expected public void default(String hello) © Copyright e-tecnologia.com, 2002 Versão: 3.0 24
  25. 25. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Tipos de Dados Existem tipos básicos ou primitivos e os tipo de referência. Sintaxe padrão: <Tipo de dado> <nome da variável>; ou <Tipo de dado> <nome da variável> = valor da variável; <Tipo de dado> <nome da variável> = valor da variável, <nome da variável> = valor da variável... ; Tipo Lógico - boolean: true e false Exemplo boolean fim = true; Tipo Textual - char e String (String é uma classe) Um caracter simples usa a representação do tipo char. Java usa o sistema de codificação Unicode (Veja Apêndice B). Neste sistema o tipo char representa um caracter de 16-bit. O literal do tipo char pode ser representado com o uso do („ „). Exemplos: a = „b‟; „n‟ – nova linha „r‟ – enter „u????‟ – especifica um caracter Unicode o qual é representado na forma Hexadecimal. „t‟ – tabulação Código de escape „‟ - „” ”‟ - “” String (String é uma classe) O tipo String é um tipo referência que é usado para representar uma seqüência de caracteres. Exemplo: String s = “Isto é uma string”, s1; Inteiros – byte, short, int e long Possuem somente a parte inteira, ou seja, não suportam casas decimais. Exemplos: int i1 = 10, int i2 = 11; byte b = 1; © Copyright e-tecnologia.com, 2002 Versão: 3.0 25
  26. 26. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Tipos de Dados Tamanho Tipo Faixa 8 bits byte -128 a 128 16 bits short -32.768 a 32.767 32 bits int -2.147.483.648 a 2.147.483.647 64 bits long 9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 Ponto Flutuante São os tipos que têm suporte às casas decimais e maior precisão numérica. Existem dois tipos em Java: o float e o double. Veja alguns exemplos: 3.14 Um ponto flutuante simples; 6.02E23 Um valor de ponto flutuante largo; 2.718F Um valor de ponto flutuante simples; 123.4E+306D Um valor de ponto flutuante usando o tipo double. Exemplos de declarações: float f = 3.1;1 float div = 2.95F; double d1 = 6.35, d2 = 6.36, d3 = 6.37; double pi = 3.14D Regra: Os tipos float e double quando aparecem no mesmo programa é necessário identificá-los, para que não comprometa a precisão numérica: float f = 3.1F; double d = 6.35; Uma vez não identificado, ao tentar compilar o programa, será emitida uma mensagem de erro. Tamanho Tipo Faixa Precisão 32 bits IEEE 754-1985 Float 1,4E-45 a 3,4E+38 7 dígitos 64 bits IEEE 754-1985 Double 4,9E-324 a 1,7E+308 15 dígitos Nota (1) Toda vez que uma variável tipo float não tem a literal F, esta variável internamente é tratada como se fosse um inteiro © Copyright e-tecnologia.com, 2002 Versão: 3.0 26
  27. 27. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Inicialização de variáveis Não é permitido o uso de variáveis indefinidas ou não inicializadas. Exemplo: int i; int a = 2; int c = i + a; Neste caso ocorre erro, pois, o valor de i está indefinido. As variáveis definidas dentro do método são chamadas de variáveis automáticas, locais ou temporárias e devem ser inicializadas antes do uso. © Copyright e-tecnologia.com, 2002 Versão: 3.0 27
  28. 28. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Operadores Os operadores na linguagem Java, são muito similares ao estilo e funcionalidade de outras linguagens, como por exemplo o C e o C++. Operadores Lógicos: > Maior que <= Menor que ou igual == Igual < Menor que >= Maior que ou igual != Diferente ! Not (negação) && And || OR Exemplos: i > 10; x == y; “Test” != “teste” !y x || y Operadores Matemáticos: + Adição * Multiplicação ++ Incremento - Subtração + Positivo (unário) -- Decremento / Divisão - Negativo (unário) % Módulo Exemplos: int a = 1; int b = a + 1; int c = b - 1; int d = a * b; short s1 = -1; short s2 = 10; short s1++; int c = 4 % 3; © Copyright e-tecnologia.com, 2002 Versão: 3.0 28
  29. 29. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Operadores Outros Operadores: instanceof Faz a comparação do objeto que está “instanciado” no objeto new Este operador é usado para criar novas “instance” de classes Exemplos: instanceof: Objeto obj = new String(“Teste”); if (obj instanceof String) System.out.println(“verdadeiro”) new: Hello hello = new Hello(); Precedências de Operadores: .[]() ++ - ! ~ instanceof new (type) expressão - O type é coerção de tipo */% +- << >> >>> Exemplo: Com a precedência definida pelo Java int c = 4 / 2 + 4; Neste caso, primeiro ocorrerá a divisão e após a soma. Com a precedência definida pelo desenvolvedor int a = 4 / (2 + 4); Já neste caso, primeiro ocorrerá a soma e depois a divisão. © Copyright e-tecnologia.com, 2002 Versão: 3.0 29
  30. 30. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Operadores Operadores Binários: Java fornece extensa capacidade de manipulação de bits. Todos os dados são representados internamente como uma seqüência de bits. Cada bit pode assumir o valor de 0 ou 1. No geral uma seqüência de bits formam um byte, que é a unidade de armazenamento padrão, para uma variável tipo byte. Os tipos de dados são armazenados em quantidade maiores que byte. Os operadores sobre os bits são utilizados para manipular os bits de operandos integrais (isto é aqueles do tipo byte, char, short, int e long). Operador Nome Descrição & AND sobre bits Os bits no resultado são configurados como 1 se os bits correspondentes nos dois operandos forem ambos 1 | OR inclusive sobre Os bits no resultado são configurados como 1 se pelo menos um bits dos bits correspondentes nos dois operandos for 1 ^ OR exclusivo sobre Os bits no resultado são configurados como 1 se somente um dos bits bits correspondentes nos dois operandos for 1 << Deslocamento para Desloca os bits do primeiro operando para a esquerda pelo número esquerda de bits especificado pelo segundo operando; preenche a partir da direita com bits 0. >> Deslocamento para Desloca os bits do primeiro operando para a direita pelo número direita com extensão de bits especificado pelo segundo operando. Se o primeiro de sinal operando for negativo, preenche com 1s a partir da esquerda; caso contrário, preenche com 0s a partir da esquerda. >>> Deslocamento para Desloca os bits do primeiro operando para a direita pelo número direita com extensão de bits especificado pelo segundo operando; 0s são inseridos a de zero partir da esquerda ~ Complemento de um Todos os bits são configurados como 1 e todo os bits são configurados como 0. Manipulação de bits e os operadores sobre bits Exemplos de manipulação do bits: Right Shift (>>) 128 >> 1 <=> 128/21 = 64 256 >> 4 <=> 256/24 = 16 -256 >> 1 <=> -256/2 4= -16 Left Shift (<<) 128 << 1 <=> 128 * 21 = 256 16 << 2 <=> 16 * 22 = 64 © Copyright e-tecnologia.com, 2002 Versão: 3.0 30
  31. 31. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Operadores Podemos realizar operações de Pré e Pós incremento e de Pré e Pós decremento. Veja os exemplos: Pré-incremento: Pré-incremento = ++a; Exemplo: a = 10, b = 11, c = a + ++b => c = 22 Pós-incremento = a++; Exemplo: a = 10, b = 11, c = a + b++ => c = 21 Pós-decremento: Pré-decremento = --x; Exemplo: x = 1, y = 1, z = x + --b => z = 1 Pós-decremento = x--; Exemplo: x = 1, y = 1, z = x - b-- => z = 0 Exemplo: public class TesteOperador { public static void main(String args[]) { int x = 1; int y = 1; int z = x - y--; System.out.println("o valor z: " + z); } } Observe que isto ocorre devido a precedência de operadores. Primeiro é feito a atribuição e depois o incremento. Operador Exemplo Equivalência ++ x++, ++x x = x + 1 -- x--, --x x = x - 1 += x += y x = x + y -= x -= y x = x - y Lista de *= x *= y x = x * y Exemplos /= x /= y x = x / y &= x &= y x = x & y |= x |= y x = x | y ^= x ^= y x = x ^ y %= x %= y x = x % y © Copyright e-tecnologia.com, 2002 Versão: 3.0 31
  32. 32. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java String A classe String Objetos String são sequências de caracteres Unicode Exemplo: String nome = “Meu nome” Principais métodos: Substituição: replace, Busca: endWiths, startsWith, indexOf e lastIndexOf Comparações: equals, equalsIgnoreCase e compareTo Outras: substring, toLowerCase, toUpperCase, trim, charAt e length Concatenação: concat e operador + Exemplo: O operador + é utilizado para concatenar objetos do tipo String, produzindo uma nova String: String PrimeiroNome = “Antonio”; String SegundoNome = “Carlos”; String Nome = PrimeiroNome + SegundoNome Exemplo: public class TestString { public static void main(String arg[]) { String s1 = "Hello"; String s2 = new String("hello"); //equals if (s1.equals(s2)) { System.out.println("São iguais"); } else { System.out.println("São Diferentes"); } //equalsIgnoreCase System.out.println("equalsIgnoreCase"); if (s1.equalsIgnoreCase(s2)) { System.out.println("São iguais"); } else { System.out.println("São Diferentes"); } //Alguns métodos //indexOf, charAt, substring String frase = "Vovo viu a uva"; System.out.println("Posição: " + frase.indexOf(a)); System.out.println("Nova frase: " + frase.substring(0,4)); System.out.println("A letra é: " + frase.charAt(5)); //concat String nome = "James ”; String sobrenome = "Gosling "; String nomeCompleto = nome.concat(sobrenome); System.out.println("O nome é: " + nomeCompleto); } } © Copyright e-tecnologia.com, 2002 Versão: 3.0 32
  33. 33. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java StringBuffer Objetos StringBuffer são uma seqüência mutável de caracteres Unicode Construtores: StringBuffer – Cria um buffer vazio StringBuffer(int capacidade) – Cria um buffer com a capacidade especificada StringBuffer(String initialstring) – Cria um buffer contendo uma string informada. Principais métodos: append, insert, delete, ... Exemplo: public class TestStringBuffer { public static void main(String arg[]) { //new instance StringBuffer b1 = new StringBuffer(); Várias formas StringBuffer b2, b3; de declaração b2 = new StringBuffer(25); b3 = new StringBuffer("Teste, "); /*para exibir o conteúdo é necessário usar o método toString */ System.out.println("b1:" + b1.toString() ); System.out.println("b2:" + b2.toString() ); System.out.println("b3:" + b3.toString() ); b3.append("vamos testar novamente"); System.out.println("b3:" + b3.toString() ); Usando os métodos b3.insert(0, "A x B "); para manipular System.out.println("b3:" + b3.toString() ); b3.delete(0,4); o objeto StringBuffer System.out.println("b3:" + b3.toString() ); b2.append("Teste b2"); System.out.println("b2 Capacidade: " + b2.capacity()); System.out.println("b2 Tamanho: " + b2.length()); b2.append(b3); System.out.println("b2: " + b2.toString() ); System.out.println("b2 tamanho: " + b2.length() ); System.out.println("b2 invertida: " + b2.reverse() ); } } © Copyright e-tecnologia.com, 2002 Versão: 3.0 33
  34. 34. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Casting (coerção de tipos) Java faz a promoção de tipos para garantir que os valores sejam suportados pelas faixas, contudo, a linguagem Java não suporta conversões arbitrárias de tipos de variáveis. Devemos explicitar a conversão entre tipos de variáveis. Veja o exemplo abaixo: public class TestCasting Casting implícito { Por força do operador public static void main(String args[]) matemático o Java promoveu a { valor resultante de a + b para byte a = 1; um valor inteiro, o que provoca byte b = 3; estouro da faixa de byte, e por byte c = a + b; sua vez provoca um erro /* Linha errad, pois a operação adição sofre casting implicita */ //Correção o casting explicito byte c = (byte) (a + b); Casting explícito System.out.println(c); após a soma de a + b, o valor } da soma é convertido para byte } Hierarquia de conversão: byte short char int long float Conversão Conversão Implícita double Explícita © Copyright e-tecnologia.com, 2002 Versão: 3.0 34
  35. 35. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Casting (coerção de tipos) Objetos Os objetos não são convertidos, mas sim suas referências. Uma referência de uma classe qualquer pode ser sempre usada para fazer referência a um objeto de uma de suas subclasses. Quando isso acontece, a referência somente poderá ser utilizada para acesso aos membros da classe, ficando os membros da subclasse “inacessíveis”, embora com seus valores mantidos. A conversão desse tipo (de subclasse para classe) é chamada de implícita. Veja os exemplos abaixo: import java.awt.*; public class CastObjeto { public CastObjeto() { Window janela = new Frame(); janela.pack(); Conversão ilegal, pois, o janela.setTitle("Titulo da Janela"); objeto janela não “enxerga” ... os métodos de Frame, } embora o método exista, } pois o objeto é do tipo Frame Hierarquia de classes: SuperClasse Window SubClasse Frame © Copyright e-tecnologia.com, 2002 Versão: 3.0 35
  36. 36. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Casting (coerção de tipos) Casting ( Conversão de tipos ) Objetos import java.awt.*; public class CastObjeto { public CastObjeto() { Conversão legal, pois, a Window janela =new Frame(); janela é um objeto do Frame janela1 = (Frame) janela; tipo Frame e está sendo janela1.setTitle("Titulo da Janela"); atribuído a uma referência } do mesmo tipo } A conversão contrária, ou seja, de referência a classe para referência a subclasse, é possível. Entretanto, essa conversão somente será válida se a referência à subclasse passar a apontar para um objeto compatível com ela. SuperClasse Conversão Conversão SubClasse implícita explícita As Interfaces seguem a mesma regra das classes. © Copyright e-tecnologia.com, 2002 Versão: 3.0 36
  37. 37. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Casting (coerção de tipos) Casting Exemplo: public class TestCasting { public static void main(String args[]) { //Exemplo 1 byte a = 1; byte b = 3; /*Linha errada, pois a operação adição O resultante da soma foi promovido sofre casting implicita */ para tipo int, quando atribuímos a //byte c = i + i; variável , que é do tipo byte, a //Correção o casting explicito operação provoca erro, pois, a faixa byte c = (byte) (a + b); de byte é menor que a faixa de int. Uma vez aplicado o casting a System.out.println(c); operação de soma é realizado e depois é convertida para o type byte. //Exemplo 2 Casting implícito: (a + b) int ia = 1; long lb = 3; /* Perda de Precisão - causa erro */ Casting explícito: //int ic = ia + lb; //linha errada -> Casting (byte) (a + b) //Correção o casting explicito int ic = ia + (int) lb; System.out.println(ic); } } © Copyright e-tecnologia.com, 2002 Versão: 3.0 37
  38. 38. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle Java como qualquer outra linguagem de programação, suporta instruções e laços para definir o fluxo de controle. Primeiro vamos discutir as instruções condicionais e depois as instruções de laço. Antes, porém, vamos entender a necessidade dos blocos. Um bloco é o conjunto de instruções delimitadas por chaves “{... }”. Exemplo: { int i = 10; System.out.println(“Hello”); bloco i++ } Os blocos povoam métodos, instruções condicionais, laços e etc, ou seja, podemos encontrá-los sempre dentro de um programa Java. Construções condicionais: if (<expressão boolean>) <declarações>... else <declarações>... switch (<expressão>) { case <expressao char-int>: <declarações>... break; case <expressao char-int>: <declarações>... default: <declarações>... } (<expressão boolean>) ? <expressão if-true> : <expressão if-false> © Copyright e-tecnologia.com, 2002 Versão: 3.0 38
  39. 39. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução if Sintaxes: if (expressão boolean) instrução Exemplo: if (x>y) System.out.println(x); if (expressão boolean) { //Bloco de instruções } Exemplo: if (x>y) { System.out.println(x); y++; } if (expressão boolean) { //Bloco de instruções } else { //Bloco de instruções } Exemplo: if (x>y) { System.out.println(x); y++; Mais de uma instrução } é usado a estrutura de else { bloco System.out.println(y); x++; } if (expressão boolean) { //Bloco de instruções } else if (expressão boolean) { //Bloco de instruções } else if (expressão boolean) { //Bloco de instruções } else if (expressão boolean) { //Bloco de instruções } else { //Bloco de instruções } © Copyright e-tecnologia.com, 2002 Versão: 3.0 39
  40. 40. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução if Sintaxes: (continuação) Exemplo: if (x>y) { System.out.println(x); y++; } else if (x<y) { System.out.println(y); x++; } else { System.out.println(y); System.out.println(x); } Notamos que a instrução if pode ser utilizada de várias formas, ela pode ser aplicada de acordo com o contexto. O exemplo abaixo demonstra a estrutura mais popular da instrução if, ou seja, if (expressão lógica) then {...} else {... }. Veja a lógica e também a implementação do código: if (saldo > 0) { sim status = “Positivo”; saldo > 0 status = Positivo } else { não status = “Negativo”; } status = Negativo OU if (saldo > 0) status = “Positivo”; else Lógica status = “Negativo”; Código © Copyright e-tecnologia.com, 2002 Versão: 3.0 40
  41. 41. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução if Neste exemplo apresentaremos a instrução if com múltiplas opções. Veja a lógica e também a implementação da do código: public class ifCompostoExemplo { public static void main(String args[]) saldo médio sim Limite cheque { > 5000 =1000 int limitecheque; int saldomedio = 15000; if (saldomedio > 5000) não { limitecheque = 1000; saldo médio > sim Limite cheque } 3000 and <=5000 else if (saldomedio > 3000 && =800 saldomedio <= 5000) { não limitecheque = 800; } sim else if (saldomedio > 2000 && saldo médio > Limite cheque saldomedio <= 3000) 2000 and <= 3000 =600 { limitecheque = 600; } não else if (saldomedio > 1000 && saldomedio <= 2000) saldo médio > sim Limite cheque { 1000 and <= 2000 limitecheque = 400; =400 } else não { limitecheque = 0; } Limite cheque System.out.println("Limite cheque =0 especial..." + limitecheque); } } Lógica Código © Copyright e-tecnologia.com, 2002 Versão: 3.0 41
  42. 42. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução switch Switch é uma alternativa para seleção múltipla de escolha, entretanto, ela tem algumas diferenças da estrutura if - if else. Como, por exemplo, o tipo de dado válido na expressão é somente do tipo char e os tipos inteiros (int, byte, short, long). Sintaxes: Exemplo: switch (expressao char-integer) public class switchSimplesExemplo { { case expressao1: public static void main(String args[]) // instruções { case expressao2: char opcao = a; // instruções String selecao = ""; case expressao3: switch (opcao) // instruções { default: case a: // instruções selecao += „a‟; } case b: A instrução switch selecao += b; case c: selecao += c; default: selecao += "d"; } Será impresso “abcd” System.out.println(selecao); } } Após a impressão do valor, achamos mais uma diferença em relação ao if - if else, a instrução Switch executa todas as opções após uma opção válida. Por exemplo, se valor inicial da variável opção for igual „c‟, teremos o seguinte resultado para a variável selecao = „cd‟. © Copyright e-tecnologia.com, 2002 Versão: 3.0 42
  43. 43. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagm Java Fundamentos da Linguagem Java Fluxo de Controle A instrução switch. Para que a instrução switch execute apenas uma opção, desprezando as demais é necessário incluirmos a instrução break. Bem como o próprio nome da instrução sugere este sai da instrução switch. Sintaxes: switch (expressao char-integer) public class switchBreakExemplo { { case expressao1: public static void main(String args[]) // instruções { break; char opcao = b; case expressao2: String selecao = ""; // instruções switch (opcao) break { case expressao3: case a: // instruções selecao += a; break break; default: case b: // instruções selecao += b; } break; case c: A instrução switch com selecao += c; a instrução break break; default: selecao += "d"; } Será impresso “b” System.out.println(selecao); } } Note que tanto a instrução default quanto a break são opcionais, depende da lógica a utilizada. © Copyright e-tecnologia.com, 2002 Versão: 3.0 43
  44. 44. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução switch. Neste exemplo apresentaremos a instrução switch e a instrução break com múltiplas opções. Veja a lógica e também a implementação do código: public class switchCompostoExemplo { avaliacao = public static void main(String args[]) sim case 10 “Excelente” { String avaliacao =""; int nota = 8; não switch (nota) { sim avaliacao = case 10: case 9 “Ótimo” avaliacao = "Excelente"; break; não case 9: avaliacao = "Ótimo"; sim avaliacao = break; case 8 “Ótimo” case 8: avaliacao = "Bom"; break; não case 7: avaliacao = "Satisfatório"; sim avaliacao = break; case 7 “Ótimo” default: avaliacao = "Regular"; não } System.out.println("Avaliação: " avaliacao = + avaliacao); “Regular” } } Lógica Código © Copyright e-tecnologia.com, 2002 Versão: 3.0 44
  45. 45. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução switch. Neste exemplo apresentaremos a instrução switch sem o break com múltiplas opções. Veja a diferença: public class switchSemBreakExemplo sim { case S Ar condicionado public static void main(String args[]) { char opcao = B; não String selecao = ""; sim switch (opcao) case L Direção hidráulica { case S: //Super luxo selecao += " Ar condicionado +"; não case L: //Luxo sim selecao += " Direção hidráulica +"; case S Trio Elétrico case B: //Básico selecao += " Trio Elétrico +"; default: não selecao += " Alarme"; } Alarme System.out.println(selecao); } } Lógica Código © Copyright e-tecnologia.com, 2002 Versão: 3.0 45
  46. 46. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle Operador Ternário E por fim o operador ternário, Java, oferece uma maneira simples de avaliar uma expressão lógica e executar uma das duas expressões baseadas no resultado. O operador condicional ternário (?:). É muito parecido com a instrução iif() presente em algumas linguagens, Visual Basic, por exemplo. Sintaxe: (<expressão boolean>) ? <expressão true> : <expressão false> ou variável = (<expressão boolean>) ? <expressão true> : <expressão false> Neste exemplo apresentaremos uma expressão condicional simples. Veja a lógica e implementação do código. Faça uma comparação com a instrução if-else. sim saldo > 0 status = Positivo { ... não Status = (saldo > 0)? ”Positivo”:“Negativo”; ... status = Negativo } Código Lógica Lembre-se que podemos aninhar operadores e condições, pois, todos suportam a recursividade. © Copyright e-tecnologia.com, 2002 Versão: 3.0 46
  47. 47. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle Laços O que são laços? Laços são repetições de uma ou mais instruções até que uma condição seja satisfeita. A linguagem Java tem dois tipos de laços: os finitos e os infinitos. Para os laços finitos a execução está atrelada a satisfação de uma condição, por exemplo: Se o valor da variável a não for igual 10. não então a = 10 a++ incrementar um na variável senão sim imprimir a variável valor Imprimir a Isto quer dizer que a instrução de incremento vai repetir dez vezes. Já os infinitos estes executarão sempre, independente de condição. true a++ Em Java, temos três instruções que suportam laços ou “loops”. São elas: while, do-while e for. Laços: while (<boolean-expression>) <statements>... do <statements>... while (<boolean-expression>); for (<init-stmts>...; <boolean-expression>; <exprs>...) <statements>... © Copyright e-tecnologia.com, 2002 Versão: 3.0 47
  48. 48. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução while. Ela executa uma instrução ou bloco de instruções, enquanto uma determinada condição não for satisfeita. Ela faz a validação antes de executar as instruções. Sintaxe: Exemplo: while (expressao boolean) public class whileExemplo2 instrução java { public static void main(String args[]) { int d = 10; Este código será executado 10 while (d >= 0) vezes, ou seja até a condição System.out.println("Contagem Regressiva " + d--); ser satisfeita } } Sintaxe: Exemplo: while (expressao boolean) public class whileExemplo { { //Bloco public static void main(String args[]) } { int d = 1; while (d<= 10) { A instrução while System.out.println("7 x " + d + " = " + 7*d); d++; } } } Este código produzirá a Tabuada do 7 Neste exemplo o laço é finito, ou seja, irá executar até a condição estar satisfeita © Copyright e-tecnologia.com, 2002 Versão: 3.0 48
  49. 49. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução while. Os exemplos abaixo demonstram como tornar um laço infinito usando a instrução while, provavelmente isto não deverá acontecer, todavia, pode ser um pequeno erro de lógica, inversão de valores ou uma condição que nunca será satisfeita. Exemplo 1: ... int d = 1; while (d > 0) { System.out.println("7 x " + d + " = " + 7*d); d++; } ... Exemplo 2: ... while (true) { System.out.println(d++); } .... © Copyright e-tecnologia.com, 2002 Versão: 3.0 49
  50. 50. Linguagem de Programação JAVA JB100 Java BásicoFundamentos da Linguagem Java Fluxo de Controle A instrução while. O exemplo abaixo exibe a lógica e a implementação do código de um laço finito usando a instrução while. não valor < 20 Valor++ { ... while(valor <20) valor++ sim System.out.println(valor); Imprime valor ... } Sai do Laço Lógica Código © Copyright e-tecnologia.com, 2002 Versão: 3.0 50

×