Você está na página 1de 13

Disciplina: CCT0024 - Linguagem de Programao

Notas de Aula 01: Introduo linguagem


Java e ao ambiente de desenvolvimento
NetBeans
Objetivos da aula:
Introduzir conceitos da linguagem Java
Apresentar um histrico da linguagem
Apresentar as principais caractersticas da linguagem
Introduzir o ambiente NetBeans e a JDK
Apresentar a estrutura e os comandos principais do Java

Introduo
A disciplina de Linguagem de Programao objetiva introduzir os conceitos da
Programao 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 utilizao no mercado.
Ainda que a linguagem Java no seja o foco da disciplina, vamos utiliz-la como
ferramenta. Ento, torna-se necessrio que nesta primeira aula nos
dediquemos ao Java. Esta tarefa simplificada e pode ser cumprida em uma
aula pois a sintaxe e a semntica dos comandos Java extremamente
semelhante (praticamente igual) sintaxe e semntica dos comandos C e C++
j utilizados nas disciplinas anteriores do curso.

Histrico
Primeira verso disponvel ao pblico 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);18.

Edies
Java SE (Standard Edition): principais artefatos da linguagem para verses
desktop e web;

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao
Java EE (Enterprise Edition): mapeamento objeto-relacional, internet,
servidores e outros ambientes distribudos;
Java ME (Java 2 Platform, Micro Editions): mobiles e set-top boxes.

Caractersticas
Orientada a objetos
Independente de plataforma
Sem ponteiros
Performance
Segurana
Multi-thread

Recursos
JDK (Java Development Kit)
o Compilador
o Mquina Virtual e JRE (Java Runtime Environment).
o Visualizador de Applets
o Bibliotecas de desenvolvimento
o Programa para composio de documentao (javadoc)
Ambientes visuais
o Visual j++, J Builder, Visual Caf, VisualAge for Java, Jblue, Jedit,
JCreator, NetBeans, Eclipse ...
Arquivos bsicos
o .java
o .class
Editando... Compilando... Executando...

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao

Implantao do ambiente de desenvolvimento Java


Instalao da JDK (Java Development Kit)
A JDK no um ambiente visual de programao. composto apenas de
ferramentas que podem ser utilizadas atravs 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 funes de compilao e
execuo como o Textpad, o JCreator, JBuilder, BlueJ, etc. (todos
necessitam da JDK para estas funes).
Existem ambientes de desenvolvimento mais integrados e visualmente
projetados para facilitar a programao e a depurao. So exemplos
destes ambientes o NetBeans e o Eclipse.
Baixar e executar a verso mais atual que estiver disponvel 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. Sero instalados, no diretrio que
voc escolher, o JAVA SDK, que contm o compilador e o interpretador
JAVA, o JRE (JAVA Runtime Environment) que contm a JVM (JAVA Virtual
Machine) e o plugin JAVA para navegadores.

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao

Instalao do NetBeans:
Esta ferramenta de desenvolvimento j possui mais recursos de
depurao dos programas, comporta desenvolvimento paralelo em
equipe, est integrada com aplicativos de controle de verses,
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 verso mais atual do aplicativo que estiver disponvel
em https://netbeans.org/downloads/index.html.

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao
Instalao do NetBeans + JDK
A Oracle oferece a possibilidade do download combinado das verses
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 opo de instalao
combinada a mais adequada e prtica. Para isso, faa o download do
Netbeans mais a JDK em:
http://www.oracle.com/technetwork/pt/java/javase/downloads/index.
html.

Sobre os Nomes de Arquivos Java


Os nomes de arquivos fonte em Java devem ter a extenso .java" e o
nome do arquivo deve ser o mesmo nome da classe.
Java Case Sensitive, ou seja, diferencia maisculas e minsculas. Tome
cuidado ao escrever o nome do arquivo e da classe Java.
Existe uma conveno para escrita de cdigos em Java. Ao longo das
aulas, essa conveno ser abordada. A conveno est disponvel 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 Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao

Na segunda tela, nomeie o projeto como Primeiro.

A janela de edio que abre possui o seguinte aspecto:

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao

package primeiro;
public class Primeiro {
public static void main(String[] args) {
// TODO: Add your code here
}
}

Substitua o comentrio dentro do main, por um programa que calcule a


mdia de duas variveis. O cdigo o seguinte (em vermelho):

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 mdia de " + a + " e " + b + "
= " + media);
}
}

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


Na janela Resultados do teste deve aparecer:

A mdia de 2 e 3 = 2.0

Sintaxe bsica
Tipos de dados. O Java possui os seguintes tipos bsicos:
GRUPO TIPO TAMANHO VALORES POSSVEIS
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)
Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao
LGICOS boolean 1 byte true ou false

Comentrios (duas formas):


// Esta linha um comentrio
/* Estas duas linhas ...
... so um nico comentrio */

Identificadores:
o Case Sensitive (letras, dgitos, _, $).
o No podem ser iniciados com dgitos.
Conveno: iniciar variveis com minsculas. Usar maisculas entre os
nomes, caso o identificador seja um nome composto. No usar _ em
identificadores com nomes compostos. A mesma regra se aplica para
objetos e nomes de mtodos (veremos essas definies mais adiante)
Identificadores tambm no 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 declarao de variveis:

float soma, media, mediaPonderada;


int i, j, contadorNotas;
boolean terminou;
char primeirOpcao = S;
double valor = 97.36458; }

Operadores aritmticos:

Operador Significado Exemplo


+ Adio a+b
Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao
- Subtrao s-b
* Multiplicao a*b
/ Diviso a/b
% Resto da diviso inteira a%b
- Sinal negativo (- unrio) -a
+ Sinal positivo (+ unrio) +a

Casos especiais: operadores de Incremento e Decremento

Operador Significado Exemplo


++<varivel> Pr-incremento. Incrementa a varivel de 1 e ++a
depois utiliza o novo valor na expresso
<varivel>++ Ps-incremento. Utiliza o valor atual da expresso e a++
depois incrementa de 1.
--<varivel> Pr-decremento. Decrementa a varivel de 1 e --a
depois utiliza o novo valor na expresso
<varivel>-- Ps-decremento. Utiliza o valor atual da expresso a++
e depois decrementa de 1.

Suponha c =5 e d = 5;
Expresso 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 vrios operadores compostos de atribuio para
abreviar expresses de atribuio. Qualquer instruo na forma
<varivel> = <varivel> <operador> <expresso>;
onde o <operador> seja +, -, *, / ou %, pode ser escrita na forma:
<varivel> <operador>= <expresso>;
Por exemplo, a instruo:
c = c + 3;
pode ser abreviada com o operador composto de atribuio de adio:
c += 3;
Suponha:
Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao
int c = 3, d = 5, e = 4, f = 6, g = 12;
Operao 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

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 lgicos:

Operador Significado Exemplo


&& E lgico (AND) a && b
|| OU lgico (OR) a || b
! Negao (NOT) !a

Um bloco um grupo de instrues delimitado por chaves {...}:

{
a = 2;
b = c = d = 0;
d = (a + b) * (++a) / (1 c);
}

Instrues de desvio: if-else


if (expresso_lgica)

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao
instruo_1;
else
instruo_2;

if (a == b)
System.out.println (Valores iguais.);
else
System.out.println (Valores diferentes.);

Instrues de desvio: switch-case


switch (expresso_ordinal) {
case ordinal_1 : instruo_1;
break;
case ordinal_2 : instruo_2;
break;
default: instruo_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);
}

Instrues de repetio: for


for (iniciao; condio_de_execuo; incremento)
instruo;

int i;
for (i=0; i<10; i++)
System.out.println (iterao + i);

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao

Instrues de repetio: while


while (expresso lgica)
instruo;

int i = 0;
while (i<10){
System.out.println (iterao + i);
i++;
}

Instrues de repetio: do-while


do
instruo;
while (expresso_logica)

int i = 0;
do {
System.out.println (iterao + i);
i++;
} while (i<10);

Exerccios
1) Utilizando a ferramenta NETBEANS, crie um projeto contendo um programa
que defina duas variveis inteiras (x e y), que atribua a elas valores
quaisquer (inicie as variveis 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 variveis inteiras (x e y), atribua a elas valores quaisquer
(inicie as variveis com valores sua escolha) e que imprima diferentes
mensagens caso os valores sejam ou no mltiplos um do outro.
3) Utilizando a ferramenta NETBEANS, crie um projeto contendo um programa
que defina duas variveis 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 Jnior, D.Sc.
Pablo Rangel, M.Sc.
Disciplina: CCT0024 - Linguagem de Programao

Desafio
Utilizando a ferramenta NETBEANS, crie um projeto contendo um programa
que indique se um nmero palndromo ou no (trs dgitos). Um nmero
palndromo possui a propriedade de possuir o mesmo valor quando
invertemos a ordem dos seus algarismos. Observao: use apenas o tipo
inteiro.

Exemplo 1: 737 palndromo (737 igual a 737).


Exemplo 2: 922 no palndromo (922 no igual ao 229).

Professores:
Jos Gomes de Carvalho Jnior, D.Sc.
Pablo Rangel, M.Sc.