LINGUAGEM DE PROGRAMAÇÃO JAVA



Documentos relacionados
2 Orientação a objetos na prática

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

CURSO DE PROGRAMAÇÃO EM JAVA

PROGRAMAÇÃO JAVA. Parte 1

Universidade Federal de Uberlândia

Sintaxe Básica de Java Parte 1

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

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

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

Programação Orientada a Objetos

AULA Uma linguagem de programação orientada a objetos

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

Introdução à Linguagem Java

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

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação?

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

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

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Organização de programas em Java. Vanessa Braganholo

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

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

Linguagens de. Aula 02. Profa Cristiane Koehler

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

Noções sobre Objetos e Classes

JSP - ORIENTADO A OBJETOS

Prof. Esp. Adriano Carvalho

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

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

Orientação a Objetos com Java

Desenvolvimento Web TCC Turma A-1

Programação Orientada a Objetos

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

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

Um pouco do Java. Prof. Eduardo

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

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Programação Orientada a Objetos! Java - Fundamentos. Prof. Sérgio Almagro! sergio.ricardo.almagro@gmail.com

Java. Marcio de Carvalho Victorino

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

Java para Desktop. Introdução à Plataforma Java JSE

Programação de Computadores II TCC Turma A-1

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

Programação online em Java

Programação Orientada a Objetos

A Linguagem Java. Alberto Costa Neto DComp - UFS

UNIVERSIDADE FEDERAL DO PARANÁ

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

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

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

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

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

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

Introdução à Programação

Programação por Objectos

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

Objetivos: Entender o funcionamento dos programas Java via linha de comando

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

Programação por Objectos. Java

Marco Aurélio Uma Visão Geral Sobre Plataforma Java

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Introdução à linguagem

JAVA. Fabrício de Sousa

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

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

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

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

Programação de Computadores II: Java. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

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

Programação Orientada a Objetos (DPADF 0063)

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias

Laboratório I Aula 2

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Curso de Aprendizado Industrial Desenvolvedor WEB

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Conversão de Tipos e Arrays

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Técnicas de Programação II

Módulo 06 Desenho de Classes

Lógica de Programação

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

Como usar o bluej. Laboratório I Prof.ª Vera Alves

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

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

Utilizem a classe Aula.java da aula passada:

Introdução ao IDE Netbeans (Programação Java)

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

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

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

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

UNIVERSIDADE FEDERAL DO PARANÁ

Introdução linguagem Java principais pacotes. Bruno Calegaro

Java. Guia do Programador. Peter Jandl Junior. Novatec

POO Programação Orientada a Objetos. Classes em Java

1. Apresentação Objetivos

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Transcrição:

LINGUAGEM DE PROGRAMAÇÃO JAVA Curso de Especialização em Tecnologia Java UTFPR

Capítulo 1 Parte 1 Introdução à tecnologia Java Ambiente de desenvolvimento Java

Introdução à Tecnologia Java O que é Java? Java é uma iniciativa da Sun (meados da década de 1990) criar uma plataforma para equipamentos eletrônicos simples (aparelhos domésticos, portáteis, etc.) Java é uma linguagem de programação orientada a objetos paradigma de programação muito utilizado atualmente Java possui um extenso conjunto de bibliotecas de classes para desenvolvimento de aplicações

Introdução à Tecnologia Java Java é um conjunto de tecnologias voltadas para diversos tipos de aplicações Aplicações desktop Java Standard Edition (Java SE) Aplicações corporativas Java Enterprise Edition (Java EE), Enterprise Java Beans (EJB) Aplicações web Java Server Pages, servlets, struts, JSF, etc. Aplicações móveis Java Micro Edition (Java ME) Suporte a aplicações de banco de dados JDBC, etc.

Introdução à Tecnologia Java Quais são as características/vantagens de Java? Independência de plataforma programas Java são executados sobre uma máquina virtual Java (JVM), que faz a ponte entre código Java compilado e código nativo da máquina-alvo Plataforma Java (JVM + API) isola o programa do hardware

Introdução à Tecnologia Java

Java apresenta evolução do código OO em relação a C++ Coleta de lixo automática Verificação da integridade de arrays sem aritmética de ponteiros Processo de compilação mais rigoroso Noção de interface em substituição à herança múltipla evitando o diamante da morte

Portabilidade JVM isola as especificidades da plataforma, permitindo que o código Java seja razoavelmente genérico Tipos primitivos são independentes de plataforma Suporte nativo a múltiplas linhas de execução

Características da linguagem Orientada a objetos Interpretada (mas também compilada) Neutra em relação à arquitetura Portável Alto desempenho com o apoio de técnicas tais como JIT (Just in Time Compiling) Multi-threaded Dinâmica carga dinâmica de classes, etc.

Ambiente de desenvolvimento Java O que é estritamente necessário para desenvolver um aplicativo em Java? JDK (Java Development Kit) conjunto de ferramentas e bibliotecas (API) para desenvolvimento JRE (Java Runtime Environment) ambiente de execução (classes e JVM) A instalação do JDK já inclui um JRE

Java 2 Platform, Standard Edition (Java SE) Ambiente completo para desenvolvimento de aplicações para desktops especificado e fornecido pela Sun Microsystems Versão atual : Java 6 Update 18 What s new in Java SE 6? http://java.sun.com/developer/technicalarticles/j2 SE/Desktop/javase6/beta2.html Informações e download em http://java.sun.com/javase/6 Instalação seguir o wizard.

Etapas do desenvolvimento Java Edição de código fonte Pode ser utilizado qualquer editor Preferência por editores com syntax highlighting Crimson Editor, Notepad ++, Editores de IDEs Eclipse, NetBeans, JBuilder, JDeveloper, BlueJ, IDEs normalmente fornecem suporte muito mais sofisticado à programação (code completion, remoção de erros, editor para apps gráficas, depuração, etc.) Durante as aulas Eclipse Europa ou NetBeans 6.x Recomenda-se o uso de um IDE apresenta um ganho de produtividade em relação às ferramentas de linha de comando

Etapas do desenvolvimento Java Exigências básicas para edição Java Aplicação deve possuir uma classe principal ponto de partida do programa Classe principal deve ser pública e ter o mesmo nome (case sensitive) do arquivo.java no qual está contida Exemplo: digitação de uma aplicação simples em Java arquivo Exemplo1.java

Etapas do desenvolvimento Java - Edição public class Exemplo1 { public static void main (String[] args) { System.out.println( Uma mensagem ); System.exit(0); } }

Etapas do desenvolvimento Java Compilação em linha de comando Utiliza-se o compilador javac.exe presente em {DIR J2SE}\bin Compilação disparada a partir do diretório do código-fonte, em linha de comando javac -cp. Exemplo1.java Arquivo Exemplo1.class é gerado bytecode Java Opção -cp está relacionada à configuração do ambiente caminho das classes pode ser definido com a variável de ambiente CLASSPATH Compilação em IDE Disparar o comando correspondente no sistema de menus

Etapas do desenvolvimento Java Execução / teste Em IDE Comando correspondente no menu. IDEs geralmente apresentam um depurador integrado Em linha de comando JVM deve ser disparada para execução do bytecode Exemplo1.class executável java.exe No diretório do código-fonte java cp. Exemplo1 Dependendo da conf. do ambiente necessário opção cp para configurar caminho das classes!

Etapas do desenvolvimento Java - Teste

Etapas do desenvolvimento Java Erros de compilação Em IDE Geralmente exibidos em janela (vista) apropriada Geralmente permitem chegar diretamente à linha com erro e, em alguns casos, possuem opções para correção automática do erro Em linha de comando Compilador exibe mensagens no console, mapeadas por linha do arquivo fonte Exemplo: substituir void no Exemplo1.java por Void.

Etapas do desenvolvimento Java

Etapas do desenvolvimento Java Depuração Em IDE Depuradores integrados com vários recursos Uma das principais vantagens sobre linha de comando Em linha de comando Pode-se utilizar o JDB (Java debugger) uso difícil em linha de comando

Outras questões relativas ao ambiente Caminho das aplicações Incluir {DIR JAVASE}\bin no PATH do sistema operacional Caminho das classes Para o compilador e a JVM encontrarem outras classes, duas alternativas: incluir seu caminho na variável de ambiente CLASSPATH Utilizar opção cp na linha de comando, seguido de caminhos separados por ; (: em Linux) Instalação de IDEs geralmente efetua as configurações automaticamente

Capítulo 1 Parte 2 Fundamentos básicos de linguagem de programação Java

Tipos de dados básicos Identificador byte short int long char float double boolean Tamanho (bits) 8 16 32 64 16 32 64 - Valores -128 127-2 15 2 15-1 -2 31 2 31-1 -2 63 2 63-1 Unicode IEEE 754 IEEE 754 true, false in tem sempre 32 bits, independente de arquitetura Alinhamento é sempre big-endian padronização na troca de dados entre arquiteturas diferentes

Constantes Tipo Numérica String Boolean Caracter (Unicode) Representação Algarismo numérico (decimal) ou valor hexa com 0x 8 3.1415 6.7E+9 0x4C Entre aspas teste xyz?>* true ou false Entre aspas simples ou valor hexa com \u A 8 \ua815

Operadores Tipo Aritméticos Atribuição Incremento e decremento Relacionais Representação + - / * % += -= /= *= (funcionam somente com tipos primitivos) = (atribui valor para tipos primitivos) = (iguala referência para objetos) ++ -- ==!= >= <= > < (não funcionam para boolean)

Operadores Tipo Lógicos If-else ternário Concatenação Criação de objetos Representação &&!? (Ex: return (a==b)? true: false; )e + (funciona somente para String) new

Operadores Conversão automática de tipo Se um dos operandos for double resultado é double Se um dos operandos é float resultado é float Se um dos operandos é long resultado é long Possíveis perdas de precisão impedem a compilação ex: atribuir um double a um int Não é possível Linguagem converter de Programação Java boolean para outro tipo

Operadores Conversão explícita de tipo Ignora qualquer possível perda de precisão Sintaxe (novo tipo) dado Números de ponto flutuante são truncados para valores inteiros, não arredondados Exemplo Teste03

Elementos básicos de uma aplicação Java Toda aplicação Java tem uma classe principal mesmo nome do arquivo que a contém A classe principal deve implementar o método (função) main ponto de entrada de uma aplicação Java public static void main (String[] args)

Elementos básicos de uma aplicação Java Outras funções podem ser implementadas em uma classe métodos Sintaxe de declaração de função semelhante a linguagem C tipo_de_retorno nome (tipo1 p1, tipo2 p2,, tipon pn)

Elementos básicos de uma aplicação Java Chamada de métodos Se for na mesma classe semelhante a C / C++ nome (arg1, arg2,, argn) Se for de outra classe Métodos estáticos (não dependem de um objeto existir): classe.nome (arg1, arg2,, argn) Métodos não estáticos (executados a partir de um objeto): objeto.nome(arg1, arg2,, argn)

Elementos básicos de uma aplicação Java Classes da API Java devem ser importadas import nome_da_classe Classes são organizadas em pacotes níveis hierárquicos são separados por ponto (.) API Java? Documentação online em http://java.sun.com/javase/6/docs/api/inde x.html

Strings Define-se a classe String não é tipo primitivo Operações importantes de String: Atribuição operador = Concatenação operador + Substring método substring(i, n) Detalhe: primeiro índice da string é zero! Comparação de conteúdo método equals(str) Outras operações length, tolowercase, touppercase, Exemplo Teste04 Exemplo de referências para strings Teste06

Controle de fluxo if else while do while for break

Entrada via teclado Java não apresenta objeto padrão preparado para tratar entradas via teclado Uma alternativa Converter objeto System.in (entrada) para um objeto InputStreamReader Encapsular este objeto através de um BufferedReader Utilizar o método readline para ler linhas fornecidas via teclado Exemplo Teste02 Outra alternativa utilizar classe Scanner Teste02c Outra alternativa classe Console

Exercício Conversor de intervalo de tempo (1 da lista) Números primos (2 da lista) Contador de palavras e de vogais (7 da lista) Sorteio (8 da lista) Torre de Hanói (9 da lista) recursivo

Arrays Arrays são objetos em Java instanciados com o operador new Arrays podem ser instanciados com tamanho dependente de uma variável diferente de C/C++ Índices válidos vão de 0 a tam-1 como em C/C++ Tamanho do array é obtido a partir da propriedade length Declaração de array Instanciação de array tipo [] nome; nome = new tipo[tamanho];

Arrays Classe java.util.arrays possui funções (métodos) úteis para manipulação de arrays: sort classifica o array de acordo com um critério binarysearch efetua busca binária de acordo com uma chave de busca fill preenche um array com um valor equals compara dois arrays Arrays podem ser argumentos de funções passados por referência Arrays podem ser retorno de métodos (funções) Exemplo: método que calcula os números primos e os retorna em um array Teste05

Exercício Distâncias relativas entre cidades (3 da lista) Bubble-sort (4 da lista) Média da turma (10 da lista)