Notas de Aula 01: Introdução à linguagem de programação Java e

Propaganda
Disciplina: Linguagem de Programação
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;
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
 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...
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
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/jdk8downloads-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.
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
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.
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
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.
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
 Na segunda tela, nomeie o projeto como Primeiro.
 A janela de edição que abre possui o seguinte aspecto:
package primeiro;
public class Primeiro {
public static void main(String[] args) {
// TODO: Add your code here
}
}
 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):
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
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);
}
}
 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
INTEIROS
PONTO FLUTUANTE
CARACTERES
LÓGICOS
TIPO
byte
short
int
TAMANHO
1 byte
2 bytes
4 bytes
long
float
double
char
boolean
8 bytes
4 bytes
8 bytes
2 bytes (Unicode)
1 byte
VALORES POSSÍVEIS
–128 até 127 (-27 a 27-1)
–32.768 até 32.767 (-215 a 215-1)
–2.147.483.648 até 2.147.483.647 (-231
a 231-1)
(-263 a 263-1)
1,40 X 10-45 a 3,40 X 1038
4,94 X 10-324 a 1,70 X 10308
‘\u0000’ a ‘\uFFFF’ (0 a 65535)
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.
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
 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
boolean
break
byte
case
catch
char
class
continue
default
do
double
else
extends
false
final
finally
float
for
if
implements
import
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
 Exemplos de declaração de variáveis:
float soma, media, mediaPonderada;
int i, j, contadorNotas;
boolean terminou;
char primeirOpcao = ‘S’;
double valor = 97.36458; }
 Operadores aritméticos:
Operador
+
*
/
%
+
Significado
Adição
Subtração
Multiplicação
Divisão
Resto da divisão inteira
Sinal negativo (- unário)
Sinal positivo (+ unário)
Exemplo
a+b
s-b
a*b
a/b
a%b
-a
+a
 Casos especiais: operadores de Incremento e Decremento
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
throw
throws
transiente
true
try
void
while
Disciplina: Linguagem de Programação
Operador
++<variável>
<variável>++
--<variável>
<variável>--
Significado
Pré-incremento. Incrementa a variável de 1 e
depois utiliza o novo valor na expressão
Pós-incremento. Utiliza o valor atual da expressão e
depois incrementa de 1.
Pré-decremento. Decrementa a variável de 1 e
depois utiliza o novo valor na expressão
Pós-decremento. Utiliza o valor atual da expressão
e depois decrementa de 1.
Exemplo
++a
a++
--a
a++
Suponha c =5 e d = 5;
Expressão
System.out.println(c + " " + (c++) + " " + c );
Resultado
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
c+=7
d-=4
e*=5
f/=3
g%=9
Forma abreviada
c=c+7
d=d-4
e=e*5
f=f/3
g=g%9
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Resultado
10
1
20
2
3
Disciplina: Linguagem de Programação
 Operadores relacionais:
Operador
Significado
Exemplo
==
!=
>
>=
<
<=
Igual
Diferente
Maior que
Maior ou igual a
Menor que
Menor ou igual a
a == b
a != b
a>b
a >= b
a<b
a <= b
 Operadores lógicos:
Operador
&&
||
!
Significado
E lógico (AND)
OU lógico (OR)
Negação (NOT)
Exemplo
a && b
a || b
!a
 Um “bloco” é um grupo de instruções delimitado por chaves {...}:
{
a = 2;
b = c = d = 0;
d = (a + b) * (++a) / (1 – c);
}
 Instruções de desvio: if-else
if (expressão_lógica)
instrução_1;
else
instrução_2;
if (a == b)
System.out.println (“Valores iguais.”);
else
System.out.println (“Valores diferentes.”);
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
 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;
}
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”);
}
 Instruções de repetição: for
for (iniciação; condição_de_execução; incremento)
instrução;
int i;
for (i=0; i<10; i++)
System.out.println (“iteração “ + i);
 Instruções de repetição: while
while (expressão lógica)
instrução;
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
int i = 0;
while (i<10){
System.out.println (“iteração “ + i);
i++;
}
 Instruções de repetição: do-while
do
instrução;
while (expressão_logica)
int i = 0;
do {
System.out.println (“iteração “ + i);
i++;
} while (i<10);
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Disciplina: Linguagem de Programação
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.
Professores:
José Gomes de Carvalho Júnior, D.Sc.
Pablo Rangel, D.Sc.
Download