1 / 60

Introdução à Linguagem Java com JCreator

Introdução à Linguagem Java com JCreator. Christien L. Rachid UNIPAC E-Mail: christienrachid@yahoo.com.br URL: http://www.christienrachid.xpg.com.br. Plano do Capítulo. Fases da Programação Ambientes Integrados de Desenvolvimento (IDE) JCreator 3.50 LE

tybalt
Download Presentation

Introdução à Linguagem Java com JCreator

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. Introdução à Linguagem Java com JCreator Christien L. Rachid UNIPAC E-Mail: christienrachid@yahoo.com.br URL: http://www.christienrachid.xpg.com.br

  2. Plano do Capítulo • Fases da Programação • Ambientes Integrados de Desenvolvimento (IDE) • JCreator 3.50 LE • Introdução à Linguagem Java (Revisão)

  3. Fase 1 Programa é criado no editor e armazenado em disco. Editor Disco Disco Fase 2 Compilador cria bytecodes e os armazena em disco. Compilador Disco . Fase 3 Carregadorde Classes Memória Principal Carregador de classe coloca bytecodes na memória. ... Fases da Programação Java

  4. . Fase 4 Verificador de bytecodes Memória Principal Verificador de bytecodes confirma que todos os bytecodes são válidos e não violam restrições de segurança do Java ... . Fase 5 Interpretador lê os bytecodes e os traduz para uma linguagem que o computador pode entender, possivelmente armazenando valores dos dados enquanto executa o programa. Intepretador Memória Principal ... Fases da Programação Java

  5. Ambientes Integrados de Desenvolvimento (IDE) • Editores de texto com suporte a programação Java • jEdit, SciTE, tsWebEditor, Crimson Editor, ConTEXT Programmers editor, JEXT Java Text Editor, JED, Programmer’s File Editor (PFE) • IDEs Básicos • JCreator Lite Edition (LE) (Gratuito) • URL: http://www.jcreator.com/ • Gel (Gratuito) • URL: http://www.gexperts.com/ • Desenvolvimento está suspenso desde meados de 2004

  6. Ambientes Integrados de Desenvolvimento (IDE) • IDEs Avançados • Eclipse • URL: http://www.eclipse.org • NetBeans • URL: http://www.netbeans.org • JBuilder • URL: http://www.borland.com • Jdeveloper 10g • URL: http://www.oracle.com.br

  7. JCreator 3.50 LE • Porque adotamos • Pequeno tamanho (2,21 MB - Instalador), rápida carga, simples • Não requer abertura de Prompt de comando, nem uso de comandos do DOS para compilar ou executar os programas Java, estes são executados diretamente, através de menus ou ícones • ajudam a superar limitações em comparação com outras IDE mais sofisticadas • Facilita o trabalho do programador iniciante em Java • Apresenta vários recursos que facilitam o trabalho de desenvolvimento

  8. JCreator 3.50 LE • Requisitos • Instalação do JDK (6.0): • http://java.sun.com/javase/downloads/index.jsp • Contém as ferramentas para trabalharmos com o Java (compiladores, viewers, etc). • Contém o ambiente de execução Java (JRE) • Documentação da linguagem Java. (J2SE 6.0 Documentation) • http://java.sun.com/javase/downloads/index.jsp • Pode ser integrada na IDE, facilitando a consulta a dúvidas na linguagem. • Instalação do JCreatorLiteEdition (LE) • URL: http://www.jcreator.com/

  9. JCreator 3.50 LE: Interface Estrutura de arquivos e pastas Edição do código fonte Mostra as propriedades do arquivo Apresenta erros de compilação

  10. JCreator 3.50 LE: Workspaces e Projetos • Projetos • Modo na qual JCreator organiza os arquivos de programa • JCreator cria uma pasta onde todos os arquivos do programa são mantidos para um projeto particular (p.e. Exercicio1, Exercicio2) • Permite que arquivos de diferentes projetos estejam em diferentes pastas

  11. JCreator 3.50 LE: Workspaces e Projetos • Workspaces • Workspace é outra pasta • Contém um certo número de projetos • Por exemplo, pode-se criar um workspace chamado Semana1 com os projetos Exercicio1 e Exercicio2 • Workspaces e Projetos facilitam a organização do trabalho

  12. JCreator 3.50 LE: Workspaces e Projetos • Criando um workplace

  13. JCreator 3.50 LE: Workspaces e Projetos • Criando um projeto

  14. JCreator 3.50 LE: « Ola Mundo »

  15. Arquivos Fonte • Extensão .java • Pode conter diversas classes • Uma ÚNICA pode ser pública (public) • Mesmo nome que a classe pública mais a extensão .java

  16. Arquivos Fonte • Pode conter 3 elementos: 1) Declaração de pacote 2) Sentenças de importação 3) Definição de classes • Devem obedecer essa ordem opcional obrigatório

  17. Classes e Pacotes • Classes • Agrupam definições de atributos, construtores e métodos • Pacotes • Agrupam definições de classes relacionadas • Pacotes facilitam a localização das classes • Definição: Coleção de unidades de compilação relacionadas, permitindo: • Controle de acesso • Um atributo ou método protegido só fica visível dentro do pacote • Gerência do espaço de nomes • Duas classes no mesmo pacote não podem ter o mesmo nome

  18. Palavras Reservadas • Como toda linguagem, Java possui identificadores reservados para comandos que permitem a execução de suas instruções • IMPORTANTE: você não pode utilizar palavras-chave Java como nome de variáveis ou classes.

  19. Aplicação Ola Mundo 1 2 // Relembrando a estrutura de um programa Java 3 4 public class OlaMundo { 5 6 /** 7 * IMPRIME NO CONSOLE "OLA MUNDO" 8 */ 9 10public static void main(String[] args) { 11 12 System.out.println("Ola Mundo"); 13 } 14 } 15

  20. Comentários • Comentários • /* texto */ • O compilador ignora tudo entre /* e */ • /** documentacao */ • Indica um comentário para documentação. • Utilizado pela ferramenta javadoc • // texto • Compilador ignora todos os caracteres de // até o final da linha 2 // Relembrando a estrutura de um programa Java

  21. Classes • Início da declaração da classe OlaMundo • Todo programa Java tem ao menos uma classe definida pelo usuário • Palavra-chave: palavras reservadas para uso da linguagem • Palavra-chave <class> seguida pelo nome da classe class NomeDaClasse { // aqui vai o código } 4 public class OlaMundo {

  22. Classes • Início da declaração da classe OlaMundo • Nome da Classe: identificador • Série de caracteres formados por letras, digitos, underscores (_) e dollar ($) • Não comece com dígitos e não utilise espaços • Exemplos: BemVindo1, $valor, _valor, botao7 • 7botao não é válido • Java é case sensitive • a1 e A1 são diferentes • Capitalize todas as palavra (e.g. MinhaClasse) • Por enquanto use sempre a palavra-chave: public • Visto mais adiante 4 public class OlaMundo {

  23. Classes • Nome do arquivo • Arquivo deve ter o mesmo nome da classe com a extensão .java • OlaMundo.java • Chaves { • Início do corpo de toda classe • } fecha a declaração da classe (linha 14) 4 public class OlaMundo {

  24. class OlaMundo { public static void main(String[] args) { } } ... ... ... Ola Mundo: método main Define main() como método de classe Declaração de tipo dos argumentos: java Oi "c:\softs" "www.sun.com"  Oi.main({"c:\softs","www.sun.com"}) Seqüência de declarações definindo o comportamento do método

  25. Ola Mundo: método main • Partida de toda aplicação Java • Aplicação começa a execução com o método main • Apenas um método main por aplicação • Nesta assinatura: • public indica que o método pode ser chamado por qualquer objeto. • static indica que o método pode ser chamado mesmo que nenhuma instância da classe tenha sido criada. • void indica que o método não retorna nenhum valor. • Chaves • { -> Início do corpo de todo método • } -> fecha a declaração do método (linha 13) 10 public static void main(String[] args) {

  26. Ola Mundo: método main • Argumentos do método • Os argumentos de um método em Java sempre aparecem na assinatura após o nome do método, dentro de parênteses. • A declaração do argumento é sempre do tipo (TipoDoArgumento nomeDoArgumento). • Múltiplos argumentos são separados por vírgula, como em (Tipo1 arg1, Tipo2 arg2). • Métodos sem argumentos devem ter na assinatura um () após o nome. • No caso específico do método main, o argumento é um array de Strings, que pode ser utilizado para execução com opções de inicialização. 10 public static void main(String[] args) {

  27. Ola Mundo: método main // Explorando nosso primeiro programa Java // Passando Argumentos na execução do programa public class MeuPrimeiroPrograma4 { // o método main inicia a execução do aplicativo Java public static void main (String arg[]) { System.out.print("\n\nImprimindo o que você digitou\n "); System.out.println(arg[0]); } // fim do método main } // fim da classe MeuPrimeiroPrograma

  28. Ola Mundo: System.out • Imprime uma string de caracteres • System.out • Objeto de saída padrão • Imprime na janela de comando (i.e., prompt MS-DOS) • Método System.out.println • Apresenta uma linha de texto • Argumento dentro de parênteses • Esta linha é conhecida como instrução • Instruções devem terminar com; 12 System.out.println("Ola Mundo");

  29. Ola Mundo: System.out • Imprime uma string de caracteres • A aplicação usa a variável out da classe System, da API Java, para mostrar uma mensagem na tela. • out é um objeto da classe java.io.PrintStream. • Println é um método da Classe PrintStream que mostra um string na tela de console. • Nenhum objeto precisou ser criado nesta chamada • tanto a variável out quanto o método println são estáticos (static). 12 System.out.println("Ola Mundo");

  30. Caracteres especiais • Backslash ( \ ) • Indica um caractere especial

  31. Importando Pacotes • Palavra-chave import • Usada para declarar uso de uma classe Scanner do pacote java.util • Pacotes (Packages) • Conjunto de classes relacionadas é chamado de pacote • Grupo de todos os pacotes é conhecido como biblioteca de classe java ou Java API (Java applications programming interface) • Scanner está no pacote java.util • Os nomes dos pacotes Java começam com Java (pacotes do núcleo da linguagem) ou Javax (extensões ao núcleo) import java.util.Scanner;

  32. Importando Pacotes • Exemplos de pacotes Java: • java.lang: Tipos e funcionalidades básicas da linguagem. Inclui, entre outras, as classes String, Math, Integer e Thread. É importada automaticamente em seus programas Java; • java.awt: componentes gráficos originais da linguagem (Abstract Window Toolkit); • javax.swing: pacote de extensão aos componentes gráficos com melhoramentos à biblioteca AWT • java.applet: classes específicas para tratamento de applets; • java.net: recursos de rede (sockets e URLs); • java.io: classes para escrita e leitura em arquivos; • java.util: classes para tarefas gerais, tais como vetores e string de tokens.

  33. Importando Pacotes • Nome completo de uma classe: nome do pacote + nome da classe • Ex.: java.lang.String -> nome completo da classe String • Sentença import: • Permite a utilização de membros de pacotes sem a necessidade de referenciá-los a partir do seu nome completo • import <nome completo da classe> • A importação pode ser de: • Apenas um membro do pacote • Ex.: import java.awt.Button; • Todos os membros do pacote • Ex.: import java.util.*; • Se não forem usadas todas as classes desse pacote, o compilador vai descobrir quais foram as classes usadas e as importá-las em tempo de compilação • O pacote java.lang é sempre importado • import java.lang.*;

  34. Declarando variáveis • Declaração de Variáveis • Tipo identificador [ = valorInicial ] • Tipo identificador1, identificador2, identificador3; • Tipos de dados primitivos • Inteiros: byte / short / int / long • Reais: float / double • Outros: char / boolean • Nomes de variáveis • Série de caracteres Unicode • Não pode ser palavra chave • Não pode ser nome de outra variável ou classe int numero1; // declara variável: primeiro numero a somar int numero2; // declara variável: segundo numero a somar int soma; // declara variável: soma de numero1 com numero2

  35. Tipos Primitivos

  36. Operador Comentários - Menos unário ~ Inversão do padrão de bits, ou not bit-a-bit ++ -- Incremento e Decremento + - Adição e Subtração * / % Multiplicação, Divisão e Resto & | ^ AND, OR e XOR << >> Deslocamento de Bits > < <= >= == != Relacionais, comparam valores e produzem true ou false Tipos Primitivos • Inteiros e seus Operadores

  37. Tipos primitivos • Operadores de Incremento e Decremento

  38. Operador de atribuição Exemplo Exemplificação Atribui += c += 7 c = c + 7 10 a c -= d -= 4 d = d - 4 1 a d *= e *= 5 e = e * 5 20 a e /= f /= 3 f = f / 3 2 a f %= g %=9 g = g % 9 3 a g Exemplos: int c = 3, d = 5, e = 4, f = 6, g = 12 Tipos primitivos • Operadores Aritméticos de Atribuição • Java fornece vários operadores que abreviam as expressõesde atribuição; • A simplificação de sintaxe não é a única vantagem desses operadores. Eles aumentam a velocidade de acesso às variáveis em programas.

  39. Operador Comentários - Menos unário float (32 bits) ++ -- Incremento e Decremento + - Adição e Subtração double (64 bits) * / % Multiplicação, Divisão e Resto > < <= >= == != Relacionais, comparam valores e produzem true ou false Tipos primitivos • Ponto Flutuante e operações

  40. Operador Comentários ! Negação Lógica (NOT) && || AND e OR & | AND e OR, (executa obrigatoriamente os dois lados da expressão, ainda que isso não seja necessário para avaliar a expressão) == != Igualdade e ‘não Igualdade’ ?: Ternário  HrIncial = (Turno == Manhã ? 7 : 13) //equivalente: if (Turno == Manhã) HrIncial = 7; else HrIncial = 13; Tipos primitivos • Booleanos • true, false

  41. Operador Comentários char Um único caractete Unicode (16 bits) [ ] Indexação (zero...n) se X=“JAVA” então X[2]=‘V’ String Classe que tem uma seqüência de chars + Concatenação Tipos primitivos • Caracteres e operadores

  42. Conversões Figure 6.5. Promotions allowed for primitive types. • Promoções de Tipo • Conversões “inofensivas” (que não apresentam nenhum risco de erro) são aceitas implicitamente pelo compilador.

  43. Conversões • Conversões • Conversões com possível perda de dados devem ser feitas explicitamente (truncamento) • float para int • double para long • long para int ... int i ; float f ; String s ; ... f = i; //promoção i = (int)f; //explicita ...

  44. Tipos Referência • Tipos Referência • Todos os demais tipos de Java! • Definidos a partir de declarações de classes • Quando uma variável em Java é declarada como sendo do tipo de uma classe, esta variável é considerada como sendo do tipo referência • Declaração e inicialização: • String str = “Entendendo Strings”; • Banco brasil = new Banco (“Brasil”); • Diferentemente das variáveis de tipos primitivos, que armazenam um valor, variáveis do tipo referência armazenam um apontador para um objeto em memória

  45. Strings • Strings • São seqüências de caracteres delimitados por “” • Representadas por instâncias da classe String (pacotes java.lang) • Declaração e Inicialização: • String saudacao = “Bom dia!”; • Variável saudacao conterá um apontador (referência) para um objeto do tipo String que estará em memória e que “armazenará” a informação “Bom dia!” • Exemplo: String s1 = “string1”; String s2 = “string2”; String s3 = new String(“s1”); char data[] = { ‘a’, ‘b’, ‘c’ }; String cc = “ab”+ “cde”; • As strings podem ser concatenadas através do operador +

  46. Strings • Strings: Comparação • Não use o operador == para comparar Strings • O operador == testa referências quando utilizado com objetos, ou seja, testa se os objetos apontam para mesma posição de memória • Use o método equals() da classe String • Use o método equalsIgnoreCase() da classe String se não for importante a caixa (maiúsculas ou minúsculas) String nome = “Lisa”; if(!nome.equals(“Bart”)) If(“Lisa”.equals(nome))

  47. Classe Math • Expressões Matemáticas • Os métodos da classe Math permitem realizar cálculos comuns necessários em expressões matemáticas. • Exemplos de chamadas de métodos da classe Math: • Função raiz quadrada: double y = Math.sqrt(10.0); • Função mínimo: double z = Math.min(x,10); • Os métodos da classe Math são métodos estáticos • não necessitam de objetos da classe para sua chamada • você deve preceder as chamadas dos métodos com o nome da classe seguido de ponto

  48. Classe Math • Chamada de Métodos • Métodos podem ser chamados em declarações de variáveis ou como parâmetros de outros métodos • float z = Math.sqrt(4.0*x); • System.out.println(Math.sqrt(x+y*f)); • A classe Math possui duas constantes importantes em programas matemáticos: • Math.E = 2.7282818284590452354 // valor base de logaritmos naturais • Math.PI = 3.14159265358979323846 // relação entre a circunferência e o diâmetro de círculos

  49. Classe Math Método Descrição Exemplo valor absoluto de x (tem versões para (23.7) é 23.7; (0.0) é 0.0; (-23.7) é 23.7 abs( x ) abs abs abs float int log , e ) arredonda o valor de x para o menor (9.2) é 10.0; (-9.8) é -9.0; ceil ( x ) ceil ceil inteiro não menor que x co-seno trigonométrico de x (x em (0.0) é 1.0 cos( x ) cos radianos) x (1.0) é 2.718281828 exp( x ) método esponencial exp e arredonda o valor de x para o maior (9.2) é 9.0; (-9.8) é -10.0 floor( x ) floor floor inteiro não maior que x (2.718282) é 1.0; (7.389056) é 2.0 logaritmo natural de x (base e) log( x ) log log maior valor entre x e y (também em ( 2.3, 12.7) é 12.7; (-2.3;-12.7) é -2.3 max( x, y ) max max float int long versões para , e ) menor valor entre x e y (também em ( 2.3, 12.7) é 2.3; (-2.3;-12.7) é -12.7 min( x, y ) min min float int long versões para , e ) y (2.0, 7.0) é 128.0; (9.0,0.5) é 3.0 pow( x, y ) x elevado à potência y ( x ) pow pow seno trigonométrico de x (x em (0.0) é 0.0 sin( x ) sin radianos) (900.0) é 30.0; (9.0) é 3.0 raiz quadrada de x sqrt( x ) sqrt sqrt tangente trigonométrica de x (x em (0.0) é 0.0 tan( x ) tan radianos)

  50. Leitura do Teclado • Usando a classe java.util.Scanner (J2SE 5.0) • Uma classe nova que permite converter um texto para tipos primitivos • Texto pode ser obtido das mais diversas fontes, como: • Strings • InputStream • Arquivos • Permite separar o texto em tokens, que são seqüências de caracteres separados por delimitadores (default são espaço, tabs e mudanças de linha).

More Related