notas de aula 01: introdução à linguagem de programação...

13
Disciplina: Linguagem de Programação Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc. Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Objetivos da aula: Introduzir conceitos da linguagem Java Apresentar um histórico da linguagem Apresentar as principais características da linguagem Introduzir o ambiente NetBeans e a JDK Apresentar a estrutura e os comandos principais do Java Introdução A disciplina de Linguagem de Programação objetiva introduzir os conceitos da Programação Orientada a Objetos (POO). Para tanto, utiliza como ferramenta a linguagem Java, que é uma linguagem nativamente projetada para ser orientada a objetos e que possui ampla utilização no mercado. Ainda que a linguagem Java não seja o foco da disciplina, vamos utilizá-la como ferramenta. Então, torna-se necessário que nesta primeira aula nos dediquemos ao Java. Esta tarefa é simplificada e pode ser cumprida em uma aula pois a sintaxe e a semântica dos comandos Java é extremamente semelhante (praticamente igual) à sintaxe e semântica dos comandos C e C++ já utilizados nas disciplinas anteriores do curso. Histórico Primeira versão disponível ao público pela Sun Microsystems (1995); Green Group(1991); Oak; Green OS(GUI); *7 (PDA); Java (94); WebRunner(HotJava)(95);JDK: 1.0(95);1.1(97);1.2(J2SE);1…8. Edições Java SE (Standard Edition): principais artefatos da linguagem para versões desktop e web;

Upload: doankhanh

Post on 06-Dec-2018

255 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Notas de Aula 01: Introdução à linguagem de

programação Java e ao ambiente de

desenvolvimento NetBeans

Objetivos da aula: Introduzir conceitos da linguagem Java

Apresentar um histórico da linguagem

Apresentar as principais características da linguagem

Introduzir o ambiente NetBeans e a JDK

Apresentar a estrutura e os comandos principais do Java

Introdução A disciplina de Linguagem de Programação objetiva introduzir os conceitos da Programação Orientada a Objetos (POO). Para tanto, utiliza como ferramenta a linguagem Java, que é uma linguagem nativamente projetada para ser orientada a objetos e que possui ampla utilização no mercado.

Ainda que a linguagem Java não seja o foco da disciplina, vamos utilizá-la como ferramenta. Então, torna-se necessário que nesta primeira aula nos dediquemos ao Java. Esta tarefa é simplificada e pode ser cumprida em uma aula pois a sintaxe e a semântica dos comandos Java é extremamente semelhante (praticamente igual) à sintaxe e semântica dos comandos C e C++ já utilizados nas disciplinas anteriores do curso.

Histórico Primeira versão disponível ao público pela Sun Microsystems (1995);

Green Group(1991); Oak; Green OS(GUI); *7 (PDA); Java (94);

WebRunner(HotJava)(95);JDK: 1.0(95);1.1(97);1.2(J2SE);1…8.

Edições Java SE (Standard Edition): principais artefatos da linguagem para versões

desktop e web;

Page 2: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Java EE (Enterprise Edition): mapeamento objeto-relacional, internet,

servidores e outros ambientes distribuídos;

Java ME (Java 2 Platform, Micro Editions): mobiles e set-top boxes.

Características Orientada a objetos

Independente de plataforma

Sem ponteiros

Performance

Segurança

Multi-thread

Recursos JDK (Java Development Kit)

o Compilador

o Máquina Virtual e JRE (Java Runtime Environment).

o Visualizador de Applets

o Bibliotecas de desenvolvimento

o Programa para composição de documentação (javadoc)

Ambientes visuais

o Visual j++, J Builder, Visual Café, VisualAge for Java, Jblue, Jedit,

JCreator, NetBeans, Eclipse ...

Arquivos básicos

o .java

o .class

Editando... Compilando... Executando...

Page 3: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Implantação do ambiente de desenvolvimento Java Instalação da JDK (Java Development Kit)

A JDK não é um ambiente visual de programação. É composto apenas de

ferramentas que podem ser utilizadas através da linha de comando

(terminal de comandos). Atualmente é chamado de J2SE, Java 2 Standard

Edition. Deve ser usado um editor de texto qualquer como o Notepad,

mas existem alguns editores que incorporam funções de compilação e

execução como o Textpad, o JCreator, JBuilder, BlueJ, etc. (todos

necessitam da JDK para estas funções).

Existem ambientes de desenvolvimento mais integrados e visualmente

projetados para facilitar a programação e a depuração. São exemplos

destes ambientes o NetBeans e o Eclipse.

Baixar e executar a versão mais atual que estiver disponível em

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-

downloads-2133151.html?ssSourceSiteId=otnpt do arquivo .exe

(Windows) ou .sh (Linux) com o Java SE. Serão instalados, no diretório que

você escolher, o JAVA SDK, que contém o compilador e o interpretador

JAVA, o JRE (JAVA Runtime Environment) que contém a JVM (JAVA Virtual

Machine) e o plugin JAVA para navegadores.

Page 4: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Instalação do NetBeans: Esta ferramenta de desenvolvimento já possui mais recursos de

depuração dos programas, comporta desenvolvimento paralelo em

equipe, está integrada com aplicativos de controle de versões,

gerenciamento de projetos, e ferramentas de projeto de arquitetura de

software. Enfim, é uma ferramenta mais completa e profissional para

desenvolvimento de projetos e é a ferramenta que utilizaremos nesta

disciplina.

Baixar e executar a versão mais atual do aplicativo que estiver disponível

em https://netbeans.org/downloads/index.html.

Instalação do NetBeans + JDK A Oracle oferece a possibilidade do download combinado das versões

mais recentes da JDK e do NetBeans. No entanto, por virtude de legados

ou de compatibilidade com componentes de terceiros, muitas vezes

optamos por fazer o download de forma separada.

Quando o desenvolvimento parte do zero, a opção de instalação

combinada é a mais adequada e prática. Para isso, faça o download do

Netbeans mais a JDK em:

http://www.oracle.com/technetwork/pt/java/javase/downloads/index.

html.

Page 5: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Sobre os Nomes de Arquivos Java Os nomes de arquivos fonte em Java devem ter a extensão “.java" e o

nome do arquivo deve ser o mesmo nome da classe.

Java é Case Sensitive, ou seja, diferencia maiúsculas e minúsculas. Tome

cuidado ao escrever o nome do arquivo e da classe Java.

Existe uma convenção para escrita de códigos em Java. Ao longo das

aulas, essa convenção será abordada. A convenção está disponível em:

http://www.oracle.com/technetwork/java/codeconventions-150003.pdf

Primeiro programa em Java Abra o NetBeans. Crie um novo projeto (Arquivo -> Novo Projeto) e, na

primeira tela, escolha a categoria Java e projeto como Aplicativo Java.

Page 6: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Na segunda tela, nomeie o projeto como Primeiro.

A janela de edição que abre possui o seguinte aspecto:

Substitua o comentário dentro do main, por um programa que calcule a

média de duas variáveis. O código é o seguinte (em vermelho):

package primeiro;

public class Primeiro {

public static void main(String[] args) {

// TODO: Add your code here

}

}

Page 7: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Compile o projeto e execute-o (tecla F6).

Na janela “Resultados do teste” deve aparecer:

A média de 2 e 3 = 2.0

Sintaxe básica Tipos de dados. O Java possui os seguintes tipos básicos:

GRUPO TIPO TAMANHO VALORES POSSÍVEIS

INTEIROS byte 1 byte –128 até 127 (-27 a 27-1)

short 2 bytes –32.768 até 32.767 (-215 a 215-1)

int 4 bytes –2.147.483.648 até 2.147.483.647 (-231 a 231-1)

long 8 bytes (-263 a 263-1)

PONTO FLUTUANTE float 4 bytes 1,40 X 10-45 a 3,40 X 1038

double 8 bytes 4,94 X 10-324 a 1,70 X 10308

CARACTERES char 2 bytes (Unicode) ‘\u0000’ a ‘\uFFFF’ (0 a 65535)

LÓGICOS boolean 1 byte true ou false

Comentários (duas formas):

// Esta linha é um comentário

/* Estas duas linhas ...

... são um único comentário */

Identificadores:

o Case Sensitive (letras, dígitos, ‘_’, ‘$’).

o Não podem ser iniciados com dígitos.

package primeiro;

public class Primeiro {

public static void main(String[] args) {

int a, b;

float media;

a = 2;

b = 3;

media = (a + b) / 2;

System.out.println ("A média de " + a + " e " + b + " = " + media);

}

}

Page 8: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Convenção: iniciar variáveis com minúsculas. Usar maiúsculas entre os

nomes, caso o identificador seja um nome composto. Não usar ‘_’ em

identificadores com nomes compostos. A mesma regra se aplica para

objetos e nomes de métodos (veremos essas definições mais adiante)

Identificadores também não podem ser palavras reservadas da

linguagem. A lista de palavras reservadas é a seguinte:

abstract continue finally interface public throw

boolean default float long return throws

break do for native short transiente

byte double if new static true

case else implements null super try

catch extends import package switch void

char false instanceof private synchronized while

class final int protected this

Exemplos de declaração de variáveis:

Operadores aritméticos:

Operador Significado Exemplo

+ Adição a + b

- Subtração s - b

* Multiplicação a * b

/ Divisão a / b

% Resto da divisão inteira a % b

- Sinal negativo (- unário) -a

+ Sinal positivo (+ unário) +a

Casos especiais: operadores de Incremento e Decremento

float soma, media, mediaPonderada;

int i, j, contadorNotas;

boolean terminou;

char primeirOpcao = ‘S’;

double valor = 97.36458; }

Page 9: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Operador Significado Exemplo

++<variável> Pré-incremento. Incrementa a variável de 1 e depois utiliza o novo valor na expressão

++a

<variável>++ Pós-incremento. Utiliza o valor atual da expressão e depois incrementa de 1.

a++

--<variável> Pré-decremento. Decrementa a variável de 1 e depois utiliza o novo valor na expressão

--a

<variável>-- Pós-decremento. Utiliza o valor atual da expressão e depois decrementa de 1.

a++

Suponha c =5 e d = 5;

Expressão Resultado

System.out.println(c + " " + (c++) + " " + c ); 5 5 6

System.out.println(d + " " + (++d) + " " + d ); 5 6 6

Casos especiais: operadores compostos

A linguagem Java possui vários operadores compostos de atribuição para abreviar expressões de atribuição. Qualquer instrução na forma

<variável> = <variável> <operador> <expressão>;

onde o <operador> seja +, -, *, / ou %, pode ser escrita na forma:

<variável> <operador>= <expressão>;

Por exemplo, a instrução:

c = c + 3;

pode ser abreviada com o operador composto de atribuição de adição:

c += 3;

Suponha:

int c = 3, d = 5, e = 4, f = 6, g = 12;

Operação Forma abreviada Forma abreviada Resultado

+= c+=7 c = c + 7 10

-= d-=4 d = d - 4 1

*= e*=5 e = e * 5 20

/= f/=3 f = f / 3 2

%= g%=9 g = g % 9 3

Page 10: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Operadores relacionais:

Operador Significado Exemplo

== Igual a == b != Diferente a != b

> Maior que a > b >= Maior ou igual a a >= b

< Menor que a < b

<= Menor ou igual a a <= b

Operadores lógicos:

Operador Significado Exemplo

&& E lógico (AND) a && b

|| OU lógico (OR) a || b

! Negação (NOT) !a

Um “bloco” é um grupo de instruções delimitado por chaves {...}:

Instruções de desvio: if-else

if (expressão_lógica)

instrução_1;

else

instrução_2;

{

a = 2;

b = c = d = 0;

d = (a + b) * (++a) / (1 – c);

}

if (a == b)

System.out.println (“Valores iguais.”);

else

System.out.println (“Valores diferentes.”);

Page 11: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Instruções de desvio: switch-case

switch (expressão_ordinal) {

case ordinal_1 : instrução_1;

break;

case ordinal_2 : instrução_2;

break;

default: instrução_N;

}

Instruções de repetição: for

for (iniciação; condição_de_execução; incremento)

instrução;

Instruções de repetição: while

while (expressão lógica)

instrução;

switch (letra) {

case ‘a’ :

case ‘A’ : System.out.println (“Letra ‘a’ ou ‘A’”);

break;

case ‘z’ :

case ‘Z’ : System.out.println (“Letra ‘z’ ou ‘Z’”);

break;

default : System.out.println (“Outra letra”);

}

int i;

for (i=0; i<10; i++)

System.out.println (“iteração “ + i);

Page 12: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Instruções de repetição: do-while

do

instrução;

while (expressão_logica)

int i = 0;

while (i<10){

System.out.println (“iteração “ + i);

i++;

}

int i = 0;

do {

System.out.println (“iteração “ + i);

i++;

} while (i<10);

Page 13: Notas de Aula 01: Introdução à linguagem de programação ...pablorangel.com.br/wp-content/uploads/LPAula01_Notas.pdf · a linguagem Java, que é uma linguagem nativamente projetada

Disciplina: Linguagem de Programação

Professores: José Gomes de Carvalho Júnior, D.Sc. Pablo Rangel, D.Sc.

Exercícios

1) Utilizando a ferramenta NETBEANS, crie um projeto contendo um programa que defina duas variáveis inteiras (x e y), que atribua a elas valores quaisquer (inicie as variáveis com valores à sua escolha) e que imprima o maior dos valores.

2) Utilizando a ferramenta NETBEANS, crie um projeto contendo um programa que defina duas variáveis inteiras (x e y), atribua a elas valores quaisquer (inicie as variáveis com valores à sua escolha) e que imprima diferentes mensagens caso os valores sejam ou não múltiplos um do outro.

3) Utilizando a ferramenta NETBEANS, crie um projeto contendo um programa que defina duas variáveis inteiras (x e y), que atribua a elas os valores 3 e 4 e que calcule o valor de xy.