Notas de Aula 01: Introdução à linguagem de programação...
Transcript of Notas de Aula 01: Introdução à linguagem de programação...
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;
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...
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.
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.
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.
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
}
}
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);
}
}
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; }
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
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.”);
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);
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);
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.