Introdução à linguagem



Documentos relacionados
Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Sintaxe Básica de Java Parte 1

2 Orientação a objetos na prática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

A Linguagem Java. Alberto Costa Neto DComp - UFS

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Utilizem a classe Aula.java da aula passada:

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Keeper of Knowledge. Capítulo 1 Conceitos Básicos do Java

Universidade Federal de Uberlândia

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Capítulo 2. Fundamentos de Java

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

JAVA. Fabrício de Sousa

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

CURSO DE PROGRAMAÇÃO EM JAVA

Noções sobre Objetos e Classes

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

P n o t n ifíci c a a Un U i n ve v r e si s da d d a e d e C a C t a ól ó ica c a d o d o R i R o o d e d e J a J n a e n i e ro o PU P C U -Ri R o

UNIVERSIDADE FEDERAL DO PARANÁ

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Módulo 06 Desenho de Classes

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

FBV - Linguagem de Programação II. Um pouco sobre Java

insfcanceof new public switch transient while byte continue extends for int null

Programação por Objectos. Java

Programação Básica em Arduino Aula 2

LINGUAGEM DE PROGRAMAÇÃO JAVA

Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Fundamentos de Programação II. Introdução à linguagem de programação C++

Linguagem de Programação Introdução a Linguagem Java

INF 1005 Programação I

3 Classes e instanciação de objectos (em Java)

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade

Programação Orientada a Objetos

INTRODUÇÃO À LINGUAGEM C++

Técnicas de Programação II

Programação Orientada a Objetos

JSP - ORIENTADO A OBJETOS

Programação online em Java

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Componentes da linguagem C++

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação por Objectos. Java

Revisão da linguagem Java

Programação em C++: Introdução

Capítulo 2: Introdução à Linguagem C

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Linguagens de. Aula 02. Profa Cristiane Koehler

Roteiro 1: Dados, variáveis, operadores e precedência

Organização de programas em Java. Vanessa Braganholo

Conceitos Básicos de C

Programação Orientada a Objetos

2.3. PHP Tipos de dados e operadores

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40

L i n g u a g e m d e P r o g r a m a ç ã o I

Programando em C# Orientado a Objetos. By: Maromo

AULA Uma linguagem de programação orientada a objetos

Introdução à Programação

Programação para Dispositivos Móveis Aula 1. Prof. William Yamamoto

Java. Marcio de Carvalho Victorino

Expressões. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Programação Orientada a Objetos com Java. Prof. Júlio Machado julio.machado@pucrs.br

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Programação por Objectos. Java

Conversão de Tipos e Arrays

Visual Basic e Java. À primeira vista o Java é completamente diferente do Visual Basic. Realmente as duas linguagens pertencem a mundos distintos.

Algoritmos e Programação

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Unidade IV: Ponteiros, Referências e Arrays

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

e à Linguagem de Programação Python

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

BSI UFRPE Prof. Gustavo Callou

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes rxbrito@gmail.

Sintaxe Básica do Java. João Paulo Q. dos Santos

Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Relevância e Motivação. Programação Orientada a Objetos Utilizando Java. Qualidade do Software. Objetivos. Cancelamentos.

Primeiro Curso de Programação em C 3 a Edição

Programação Estruturada e Orientada a Objetos

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Transcrição:

A Tecnologia Java 1

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 multiplataforma com o melhor do C++, mas mais simples. Nasceu o OAK. 2

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). 3

Arquitectura Java Write once, Run anywhere! 4

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. 5

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

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 7

8

Linguagem Java 9

Hello World public class class HelloWorld { public static void void main(string[] args) 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 10

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 11

Definição da linguagem 12

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

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 >>, << & ^ 14

Precedência e Associatividade dos Operadores Prioridade Alta Baixa Operador ( ) ++ -- + -! * / % + - < <= > >= ==!= & ^ && = += -= *= /= %= Associatividade 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 da esquerda para a direita da esquerda para a direita da esquerda para a direita da direita para a esquerda 15

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 =.000000123 double pi = 3.141559273269 Caso Geral id_tipo id_variavel [ = valor ]; id_tipo id_variavel [ = valor ], [id_variavel [ = valor ] ]; 16

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 17

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 18

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 inti; i; i i = Teclado.readInteger() 19

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; 20

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 ); 21

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; } 22

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; 23

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++; } 24

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); 25

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. 26

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

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 28

Referencias 29

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

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(); 31

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

Métodos public [static] <tipo_retorno> nome_método ( <lista_parametros> ) { instruções; } 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)); } } NOTA: Todos os parâmetros do tipo básico são passados por valor Todos os objectos são passados com referencia 33

Strings 34

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

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

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 = 2 + 3 +! De String Classe Integer int i = Integer.parseInt("2"); Classe Double double i = Double.parseDouble( 1.7"); 37

Métodos de String lenght() equals() equalstoignorecase compareto comparetoignorecase indexof hashcode() substring() startswith() endswith() touppercase() tolowercase() replace() concat charat() trim String.java 38

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 39

Arrays 40

Arrays São objectos v1 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 0 0 0 0 0 0 0 0 0 1 2 3 v2 41

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 42

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; 43

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 44

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