1 A Tecnologia Java. 2 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Introdução à Programação Engenharia da Computação
Programação em Java Prof. Maurício Braga
Versão – Prof.: Mauro César Lopes
Estruturas de Repetição
Programação Orientada a Objetos – Parte II
Capítulo 1 Introdução.
Introdução a Linguagem Java
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO AOS APLICATIVOS JAVA Prof. Thiago Pereira Rique
Histórico do Java 1990 James Gosling (Sun Microsystems)
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Orientação a Objetos: Encapsulamento e Classificação
Linguagem Java Renata Araujo
Programação de computadores II
Mini-Curso de Java INE 5612 Ministrante: Prof. Frank Siqueira
Programação Básica em Java
Expressões, controle de fluxo, wrappers e strings Profa
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Tipos de dados, valores literais e variáveis
Paradigmas da Programação
Versão – Prof.: Mauro César Lopes
Versão – Prof.: Mauro César Lopes
Laboratório de Programação de Computadores I
Variável Variável: “objecto” que pode assumir diversos valores;
Linguagem C Conteúdos já desenvolvidos
Introdução à linguagem de programação JAVA5
Revisão da Linguagem C.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem técnica de programação I Java – REVISÃO
CRIANDO OBJETOS EM JAVA
C# Introdução.
Introdução a Computação e Cálculo Numérico
Foi criada há 22 anos, por Guido Van Rossum Por que aprender Python?
Arrays em Java Revisão Assuntos Aulas Anteriores
Unidade I: “Dê um mergulho rápido”
< declaração de variáveis > ( estrutura de dados )
JAVA Linguagem Ambiente de Desenvolvimento
Introdução a Linguagem de Programação C
Entendendo as definições de classe
Seminário 1: Revisão de C
Introdução à Linguagem Java
PROGRAMAÇÃO I Dados Tipos de dados Variáveis Constantes Expressões
Programação em C++ Compiladores
Linguagem de Programação JAVA
Mini Curso Java como Programar
Programação Orientada a Objetos
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Tutorial de Utilização.
Wagner Santos C. de Jesus
Tipos de Dados Operadores
Programação Orientada a Objetos - Java
Estrutura de Controle em JAVA
Java Básico Instrutor: Davi Pires
JAVA Sintaxe.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Conceitos Básicos e Manipulação de Objetos
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Programação em Java Prof. Edvan Chaves.
Introdução Sintaxe Básica da Linguagem JAVA
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Transcrição da apresentação:

1 A Tecnologia Java

2 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória disponível Processadores fracos Arquitecturas muito diferentes Baixos requisitos computacionais Primeira abordagem: Em C++ a linguagem era inadequada demasiada complexa não era multi-plataforma Segunda abordagem: Criar uma nova linguagem multi- plataforma com o melhor do C++, mas mais simples. Nasceu o OAK.

3 Introdução à Linguagem (cont.) O projecto foi um fracasso, a electrónica de consumo não precisava de algo tão sofisticado. Primeiros anos da WWW Páginas estáticas todos os programas eram corridos no lado do servidor. Massificação da WWW correr os programas do lado do cliente Problemas: Diversos tipos de máquinas ligados á rede Problemas de segurança Independente da plataforma A Sun viu a oportunidade e adaptou o OAK à WWW Surgiu assim o JAVA (1995).

4 Arquitectura Java Write once, Run anywhere !

5 Arquitectura JAVA (cont.) Independente da arquitectura computacional portável Simples e Poderosa: Derivada do C++ Segura: Não existem chamadas directas ao SO para esse feito usa-se o Java Native Interface (JNI) Não existem ponteiros explícitos Robusta: Gestão automática de memoria.

6 Arquitectura JAVA (cont.) Orientada a Objectos: Linguagem Orientada a Objectos pura (quase…). Multitarefa Permite fazer coisas diferentes ao mesmo tempo (Threads)

7 Plataformas JAVA J2ME – Java 2 Micro Edition Java para Paltops e Telemóveis J2SE – Java 2 Standard Edition Java para desktops / workstations J2EE - Java 2 Enterprise Edition Java para servidores

8

9 Linguagem Java

10 Hello World public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } Todo o código é escrito dentro de classes Class HelloWorld Uma Classe Executável (Main Class) tem o método public static void main(String[] args) System.out.println Escrita de mensagens no monitor

11 Executar um programa Compilar o programa Java compiler (javac) Javac HelloWorld.java HelloWorld.class Correr o programa Java Virtual Machine (java) Java HelloWorld ola mundo

12 Definição da linguagem

13 Tipos de dados básicos Números Inteiros: byte – 8 bits, 128 a 127 short – 16 bits a int – 32 bits a long – 64 bits, a Números Reais: float – 32 bits E+38 a E+38 double – 64 bits E+308 a E+308 Caracteres: char – 16 bits '\u0000' a '\uFFFF' (Valores em unicode) Booleanos: boolean – 1 bit true ou false

14 Operadores Aritméticos: + Adição - Subtracção * Multiplicação / Divisão % Resto da Divisão Atribuição: = Atribuição +=, -=, *=, /=, %= Incremento e Decremento: ++, -- Comparação: == igualdade != diferença < menor que > maior que <= menor ou igual >= maior ou igual Lógicos: && ( e ) || ( ou ) ! (não) Bit a bit >>, << & | ^

15 Precedência e Associatividade dos Operadores PrioridadeOperadorAssociatividade Alta( )da esquerda para a direita !unários; da direita para a esquerda * / %da esquerda para a direita + -da esquerda para a direita >=da esquerda para a direita == !=da esquerda para a direita & ^ | &&da esquerda para a direita ||da esquerda para a direita Baixa= += -= *= /= %=da direita para a esquerda

16 Símbolos – declaração e inicialização Exemplos de declarações de variáveis: int x; int x = 10; int x = 20, y, z = 30; int a = x+y; char um = 1; char c = A; char newline = \n; boolean fim; boolean fechado = true; long diametro; long raio = -1.7E+5 double j = double pi = Caso Geral id_tipo id_variavel [ = valor ]; id_tipo id_variavel [ = valor ], [id_variavel [ = valor ] … ];

17 Simbolos (cont.) Constantes: final id_tipo id_variavel = valor [, id_variavel [ = valor ] … ]; NOTA: As constantes têm de ser inicializadas quando são declaradas final double PI = 3.14; Conversões entre tipos (Casting): int x = 12; double d; d = (double) x; // d = 12.0 double x = 12; int i; i = (int) x; // i = 12 double x = 12.5; int i; i = (int) x; // i = 12 char c1 = a c1 = (char) ((int) c1 + 1) // c1 = b

18 Funções matemáticas Biblioteca Java.lang.Math double s = java.lang.math.sin(3.14) Seno de PI double r = java.lang.math.random() Aleatorio ente 0..1

19 Input / output Output System.out.println(mensagem) System.out.print(mensagem) JOptionPane.showMessageDialog(null,"Este é um diálogo simples"); Input System.in.read(); JOptionPane.showInputDialog("Digite o seu nome"); Teclado.java readInteger() readLong() readDouble() readFloat() readString(); int i; i = Teclado.readInteger()Teclado int i; i = Teclado.readInteger()Teclado

20 Comentários Comentar uma linha de código: // int x; //int x = 10; int x = 20, y, z = 30; int a = x+y; Comentar um bloco de código: /* */ int x; /*int x = 10; int x = 20, y, z = 30;*/ int a = x+y;

21 Estruturas de Controlo Condicionais: if/else if ( expressão booleana) instruções; [else instruções;] if (numer %2 == 0) System.out.println(numero par); else System.out.println(numero impar);

22 Estruturas de Controlo (cont.) switch switch (expressão inteira) { case valor_1: instruções; break; case valor_2: instruções; break; case valor_3: instruções; break; … case valor_n: instruções; break; default: instruções; }; switch (mes) { case 2: dias = 28; break; case 4: case 6: case 9: case 11: dias = 30; break; default: dias = 31; }

23 Estruturas de Controlo (cont.) Repetitivas: for ( inicialização; condição_de_saída; iteração ) instruções int a = 0; for (int i = 0; i <= 10; i++) a = a + i;

24 Estruturas de Controlo (cont.) while while ( condição_de_iteração ) { instruções } int a = 0; int i = 0; while (i <= 10) { a = a + i; i++; }

25 Estruturas de Controlo (cont.) do/while do { instruções } while ( condição_de_iteração ) ; int a = 0; int i = 0; do { a = a + i; i++; } while (i < 10);

26 Estruturas de Controlo (cont.) break/continue A instrução break força a saída do ciclo. A instrução continue avança para a proxima iteração do cliclo.

27 Estruturas de Controlo (cont.) int i = 0; While (true) { i++; if (i % 2 == 0 ) continue; if (i > 10) break; System.out.print(i); }

28 Exercício Construa um programa que imprima seis números inteiros, aleatórios entre 1 e 49. Construa um programa que solicite ao utilizador dois números inteiros, um operador e apresente o resultado do operador sobre os dois números

29 Referencias

30 Referencia e objectos Objectos (todas os simbolos que não são do tipo básico) Exemplo Point p1; p1 = new Point(); Point P2; P2 = p1; Point p3 = new Point(1,2); Operadores new = == != p1 0,0 p2 1,2 p3 Todas as variaveis de tipos primitivos contêm valores Todas as variaveis do tipo Object contêm referência Todas as variaveis de tipos primitivos contêm valores Todas as variaveis do tipo Object contêm referência

31 Garbage Collector Em C++: // Cria um objecto TObject *Objecto = new TObject; … // Liberta o espaço ocupado em memória // ocupado por esse objecto delete Objecto; Em Java: // Cria um objecto Object Objecto = new Object(); … Chamar o Garbage Collector: System.gc();

32 Garbage Collector (Cont.) public void Cria() { Object Objecto1 = new Object(); Object Objecto2 = new Object(); Object Objecto3 = new Object(); } public void Funcao() { Cria(); System.gc(); } A linguagem Java possui recolha automática de Lixo System.gc() Forçar a recolha de Lixo System.gc() Forçar a recolha de Lixo

33 Métodos public class HelloWorld { public static void mostraMensagem(String s) { System.out.println(s) } public static int soma(int n1, int n2) { int n = n1+n2; return n; } public static void main(String[] args) { mostraMensagem ("Hello Word"); System.out.println(soma(2,3)); } public [static] nome_método ( ) { instruções; } NOTA: Todos os parâmetros do tipo básico são passados por valor Todos os objectos são passados com referencia

34 Strings

35 Strings Classe String Objectos imutaveis String s1 = uma string String s2 = Outra string String s3 =s2 Uma string s1 Outra string s2s3

36 Strings - concatenação Operador de concatenação + e += String s1 = uma string String s2 = Outra string String s3 =s2 S2 += concatenada + ! Uma string s1 Outra string s2s3 Outra string Concatenada! s2

37 Conversão entre numeros e string Para String Classe StringValueOf(…) String s = String.valueOf(10); Expressões que calculam Strings String s = 2 + String s = ! De String Classe Integer int i = Integer.parseInt("2"); Classe Double double i = Double.parseDouble(1.7");

38 Métodos de String lenght() equals() equalsToIgnoreCase compareTo compareToIgnoreCase indexOf hashCode() substring() startsWith() endsWith() toUpperCase() toLowerCase() replace() concat charAt() trim String.java

39 Exercício Construa um programa que solicite o nome e o apelido de uma pessoa e de seguida escreva o nome completo de forma invertida. Construa uma função que transforme uma string para minúsculas utilizando o alfabeto português. Construa um programa que solicite ao utilizador um número real, uma função apresente o resultado da função sobre o numero

40 Arrays

41 Arrays São objectos Declaração int [] v1 Construção v1 = new int[9]; Inicialização Int [] v2 = { 1,2,3,4}; Método lenght() Retorna a dimensão do array Acesso indexado V[0] = 10 v v2

42 Arrays Arrays Unidimensionais int[] lista = {1, 2, 3, 4}; lista[3] = lista[1]; // {1, 2, 3, 1} int lista[] = new int[4]; lista[0] = 1; lista[1] = 2; int lista[4]; // erro int lista[4] = {1, 2, 3, 4}; // erro int lista[]; lista[0] = 1; // erro

43 Arrays (cont.) Arrays Bidimensionais (matrizes) char galo[][]={{,, }, {,, }, {,, }}; galo[1][1]=X; // {{,, }, // {,X, }, // {,, }} galo[0][0]=O; // {{O,, }, {,X, }, {,, }} Arrays de dimensão n int array[][][]…[n]= new int[10][10][10]…[10]; array[1][3][2]…[6] = 1;

44 Arrays (cont.) Calcular o tamanho de um array; int a[] = new int[4]; System.out.println(a.length); // mostra 4 int a[][] = new int[4][2]; System.out.println(a.length); // mostra 4 System.out.println(a[1].length); // mostra 2

45 Exercício Construa um programa que calcule imprima uma chave de totoloto.