Técnicas de Programação II  
Aula 01 Introdução à Linguagem Java  
Edirlei Soares de Lima  
<edirlei.lima@uniriotec.br>  
Paradigmas de Programação  
Um paradigma de programação consiste na filosofia adotada  
na construção de softwares:  
Imperativo ou Procedural (C, PHP, Fortran, ...);  
Declarativo ou Lógico (Prolog, ...);  
Funcional (Lisp, Haskell, ...);  
Orientado a Objetos (Java, C++, C#, ... );  
Paradigma Orientado a Objetos  
Consiste em um paradigma de análise, projeto e programação  
de sistemas baseado na composição e interação entre diversas  
unidades de software chamadas de objetos.  
Sugere a diminuição da distância entre a modelagem  
computacional e o mundo real:  
O ser humano se relaciona com o mundo através de conceitos de  
objetos;  
Estamos sempre identificando qualquer objeto ao nosso redor;  
Para isso lhe damos nomes, e de acordo com suas características lhes  
classificamos em grupos;  
Paradigma Orientado a Objetos  
O paradigma orientado a objetos é uma forma de entender e  
representar sistemas complexos como estruturas hierárquicas  
de objetos que se relacionam.  
Vantagens:  
Organização do código;  
Aumenta a reutilização de código;  
Reduz tempo de manutenção de código;  
Reduz complexidade através da melhoria  
do grau de abstração do sistema;  
Aumenta qualidade e produtividade,  
oferecendo maiores facilidades ao  
desenvolvedor;  
Ampla utilização comercial;  
Linguagem Java  
Java é uma linguagem de programação orientada a objetos  
desenvolvida na década de 90  
Baseia-se na sintaxe da linguagem C/C++  
Programas desenvolvidos em Java são compilados para  
bytecode e executados pela Maquina Virtual Java  
Liguagens compiladas vs linguagens interpretadas;  
Segunda linguagem mais utilizada atualmente (Agosto, 2014)  
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html  
Linguagem Java  
Portabilidade: escreva uma vez, execute em qualquer lugar;  
Windows, Linux, Mac, Celulares…  
A portabilidade é obtida pelo fato da linguagem ser interpretada, ou  
seja, o compilador gera um código independente de máquina  
chamado bytecode  
No momento da execução, este bytecode é interpretado por uma  
máquina virtual instalada no sistema  
Máquina Virtual Java (Java Virtual Machine - JVM) é um  
programa que carrega e executa os aplicativos Java,  
convertendo os bytecodes em código executável de máquina.  
Permite que os programas escritos em Java possam funcionar em  
qualquer plataforma que possua uma versão da JVM.  
Máquina Virtual Java  
JDK e JRE  
Edições:  
Java Standard Edition (Java SE)  
Java Enterprise Edition (Java EE)  
Java Mobile Edition (Java ME)  
Java Development Kit (JDK)  
Ferramentas de desenvolvimento  
Java Runtime Environment (JRE)  
Necessária para rodar programas Java (bytecodes compilados);  
É a única parte da plataforma Java que os clientes precisam instalar;  
JDK e JRE  
JDK & NetBeans - Download  
http://www.oracle.com/technetwork/java/javase/downloads/index.html  
Configuração - Windows  
Após a instalação, é importante adicionar o caminho para o diretório bin  
do JDK no path do sistema.  
Control Panel -> System ->Advanced-> Environment Variables  
Adicione o diretório “C:\Program Files (x86)\Java\jdk1.8.0_11\bin” a variável “Path”  
do sistema.  
Hello World em Java  
1
2
) Crie no bloco de notas o seguinte programa:  
) Salve o programa como HelloWorld.java (lembre-se de salvar  
com a extensão .java).  
Hello World em Java  
3
) Usando a linha de comando do Windows, execute o seguinte  
comando no diretório onde o arquivo “HelloWorld.java” foi  
salvo: javac HelloWorld.java  
Importante: se o Windows não reconhecer o comando javac, verifique  
se o diretório bin do JDK está incluído no path do sistema.  
Hello World em Java  
4
) O arquivo “HelloWorld.class” será criado:  
Hello World em Java  
5
) Para executar o programa Java, execute o seguinte comando:  
java HelloWorld  
IDE Java  
Integrated Development Environment (IDE)  
Exemplos de IDE Java: NetBeans, Eclipse...  
Criando um Projeto no NetBeans  
1
) Acesse o menu File->New Project...  
Criando um Projeto no NetBeans  
2
) Selecione o tipo de projeto “Java Application” e em seguida  
clique em “Next”:  
Criando um Projeto no NetBeans  
3
) De um nome para o projeto e selecione o local onde ele será  
salvo. Em seguida clique em “Finish”:  
Criando um Projeto no NetBeans  
4
) O projeto e a classe principal do programa serão criados:  
Estrutura Básica de Um Programa Java  
package helloworldide;  
/**  
*
@author Edirlei  
*/  
public class HelloWorldIDE  
{
/**  
*
@param args the command line arguments  
*/  
public static void main(String[] args)  
{
// TODO code application logic here  
}
}
Autocomplete no NetBeans  
Para ativar pressione Ctrl+Espaço:  
Hello World no NetBeans  
package helloworldide;  
/**  
*
*
@author Edirlei  
*/  
public class HelloWorldIDE  
{
/**  
*
@param args the command line arguments  
*/  
public static void main(String[] args)  
{
System.out.println("Hello World!");  
}
}
Executando o Projeto no NetBeans  
O Método main  
Toda aplicação (não toda classe!) deve possuir um método  
public static void main(String[] args)  
{...}  
A assinatura do método contém três modificadores:  
public - pode ser invocado por qualquer objeto;  
static - método de classe (pode ser acessado globalmente);  
void - o método não retorna valor;  
Quando o interpretador executa a aplicação, começa por  
chamar o método main, que, por sua vez, chama os outros  
métodos existentes na aplicação.  
Variáveis em Java  
Variável é um espaço reservado na memória do computador  
para armazenar um tipo de dado.  
Devem receber nomes para poderem ser referenciadas e  
modificadas quando necessário.  
Toda variável tem:  
um nome  
um tipo de dado  
um valor  
Variáveis em Java  
Tipos Inteiros:  
Tipo  
byte  
short  
int  
Descrição  
Pode assumir valores entre -27= -128 e 27 = +128.  
Pode assumir valores entre -215 e 215  
Pode assumir valores entre -231 e 231  
Pode assumir valores entre -263 e 263  
long  
Tipos Reais:  
Tipo  
Descrição  
float  
O menor valor positivo representável por esse tipo é 1.40239846e-46  
e o maior é 3.40282347e+38.  
4 bytes de tamanho e 23 dígitos binários de precisão.  
double  
O menor valor positivo representável é 4.94065645841246544e-324 e  
o maior é 1.7976931348623157e + 308.  
8 bytes de tamanho e 52 dígitos binários de precisão.  
Declaração de Variáveis em Java  
A declaração de variáveis em Java segue um padrão  
semelhantes a linguagem C/C++  
Exemplos:  
int a; /* declara uma variável do tipo int */  
float b; /* declara uma variável do tipo float */  
double c; /* declara uma variável do tipo double */  
int d, e; /* declara duas variáveis do tipo int */  
int f = 10;/* declaração e inicialização da variável */  
Operadores e Expressões  
Operadores aritméticos são usados para se realizar  
operações aritméticas com as variáveis e constantes.  
Exemplos:  
operador de atribuição  
Operação  
Adição  
Símbolo  
+
-
total = preco * quantidade;  
media = (nota2 + nota2)/2;  
resultado = 3 * (1 - 2) + 4 * 2;  
resto = 4 % 2;  
Subtração  
Multiplicação  
Divisão  
*
/
Resto da Divisão  
%
Operadores e Expressões  
Operadores de atribuição:  
=
, += , -= , *= , /=  
i += 2;  
é equivalente a i = i + 2;  
x *= y + 1;  
é equivalente a x = x * (y +1);  
Operadores de incremento e decremento:  
++ , --  
n++  
n--  
incrementa n uma unidade  
decrementa n uma unidade  
Funções Matemáticas  
Classe Math:  
double sqrt(double a);  
double pow(double a, double b);  
double cos(double a);  
double sin(double a);  
double log(double a);  
int round(float a);  
...  
Exemplo:  
double x = 64;  
double r = Math.sqrt(x);  
Lista das funções disponíveis na classe Math:  
Conversão de Tipos e Type Casting  
A linguagem Java não suporta atribuições arbitrárias entre  
variáveis de tipos diferentes:  
double x = 64.2;  
int y = x;  
incompatible types: possible lossy  
conversion from double to int  
_
______  
Type Casting:  
double x = 64.2;  
int y = (int)x;  
Entrada e Saída em Java  
A leitura e a escrita de dados via console é feita pelos objetos:  
System.in  
System.out  
Os principais métodos de System.outsão:  
print(...)  
Imprime o conteúdo de uma variável ou expressão  
println(...)  
Imprime o conteúdo de uma variável ou expressão, e uma quebra de linha  
Entrada e Saída em Java  
A forma mais simples para a leitura de dados do buffer  
System.iné utilizando a classe java.util.Scanner  
Para utilizar a classe java.util.Scanneré necessário  
instanciar um novo objeto do tipo java.util.Scanner:  
int num1;  
float num2;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite um numero inteiro:");  
num1 = entrada.nextInt();  
System.out.println("Digite um numero real:");  
num2 = entrada.nextFloat();  
Exemplo 01  
package exemplos;  
import java.util.Scanner;  
public class Exemplo01  
{
public static void main(String[] args)  
{
int num1, num2, resultado;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite o primeiro numero:");  
num1 = entrada.nextInt();  
System.out.println("Digite o segundo numero:");  
num2 = entrada.nextInt();  
resultado = num1 + num2;  
System.out.println("Resultado: " + resultado);  
}
}
Exercício 01  
Escreva um programa em Java para ler 3 notas de um aluno e  
calcular a sua média.  
package exemplos;  
import java.util.Scanner;  
public class Exercicio01  
{
public static void main(String[] args)  
{
float nota1, nota2, nota3, media;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite a primeira nota:");  
nota1 = entrada.nextFloat();  
System.out.println("Digite a segunda nota:");  
nota2 = entrada.nextFloat();  
System.out.println("Digite a terceira nota:");  
nota3 = entrada.nextFloat();  
media = (nota1 + nota2 + nota3)/3;  
System.out.println("Media: " + media);  
}
}
Criando Funções em Java  
visibilidade tipo_de_retorno nome_da_funcao(parametros)  
{
variaveis locais  
instrucoes em java  
}
Se uma função não tem uma  
lista de parâmetros colocamos  
apenas o ().  
Se uma função não tem  
retorno colocamos void.  
Consiste no bloco de comandos  
que compõem a função.  
Exemplo 02  
package exemplos;  
import java.util.Scanner;  
public class Exemplo02  
{
public static double celsius_fahrenheit(double tc)  
{
double f;  
f = 1.8 * tc + 32;  
return f;  
}
public static void main(String[] args)  
{
double cels, fahr;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite a temperatura em celsius:");  
cels = entrada.nextDouble();  
fahr = celsius_fahrenheit(cels);  
System.out.println("Temperatura em Fahrenheit: " + fahr);  
}
}
Estruturas Condicionais em Java  
Em Java, uma estrutura condicional é construída  
através do comando if:  
if (expressao_logica)  
{
/* Bloco de comandos */  
}
Os comandos do bloco de  
comandos somente são  
executados se a expressão  
lógica for verdadeira  
Exemplo:  
if (nota < 5.0)  
{
System.out.println("Reprovado");  
}
Estruturas Condicionais em Java  
Também é possível usar o comando else para  
executar algo quando a expressão lógica não é  
verdadeira:  
Exemplo:  
if (expressao_logica)  
if (nota < 5.0)  
{
{
/* Bloco de comandos */  
System.out.println("Reprovado");  
}
}
else  
else  
{
/
}
{
* Bloco de comandos */  
System.out.println("Aprovado");  
}
Estruturas Condicionais em Java  
Também é possível criar sequencias de comandos  
if-else para a verificação exclusiva de varias  
condições:  
if ( _condição_1_ )  
{
Se a primeira condição resultar em  
verdadeiro, apenas o primeiro bloco de  
comandos é executado, e as outras  
condições não são sequer avaliadas.  
Senão, se a segunda condição resultar em  
verdadeiro, apenas o segundo bloco de  
comandos é executado, e assim por diante.  
/* Bloco de comandos 1 */  
}
else if ( _condição_2_ )  
{
/* Bloco de comandos 2 */  
}
else if ( _condição_3_ )  
{
/* Bloco de comandos 3 */  
}
Expressões Booleanas em Java  
Uma expressão booleana é construída através da  
utilização de operadores relacionais:  
Exemplos:  
X = 10 e Y = 5  
Descrição  
Igual a  
Símbolo  
Expressão  
Resultado  
==  
!=  
>
(X == Y)  
Falso  
Diferente de  
Maior que  
(X != Y)  
(X > Y)  
Verdadeiro  
Verdadeiro  
Falso  
Menor que  
<
(X < Y)  
Maior ou igual a  
Menor ou igual a  
>=  
<=  
(X >= Y)  
(X <= Y)  
Verdadeiro  
Falso  
Expressões Booleanas em Java  
Expressões booleanas também podem ser  
combinadas através de operadores lógicos.  
Operador  
Significado  
Símbolo em Java  
E
&&  
||  
!
Conjunção  
Disjunção  
Negação  
OU  
NÃO  
Exemplos:  
Expressão  
Resultado  
(
X > 0) && (X == Y)  
X > 0) || (X == Y)  
(Y < 10)  
Falso  
X = 10  
Y = 5  
(
Verdadeiro  
!
Falso  
package exemplos;  
import java.util.Scanner;  
public class Exemplo03{  
public static void main(String[] args){  
float nota;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite a nota:");  
nota = entrada.nextFloat();  
if ((nota <= 10) && (nota >= 0))  
{
if (nota >= 9.0)  
System.out.println("A");  
else if (nota >= 8.0)  
System.out.println("B");  
else if (nota >= 7.0)  
System.out.println("C");  
else if (nota >= 5.0)  
System.out.println("D");  
else  
System.out.println("F");  
}
else  
System.out.println("Nota Invalida!");  
}
}
package exemplos;  
import java.util.Scanner;  
public class Exemplo04{  
public static void main(String[] args){  
int mes;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite o mes:");  
mes = entrada.nextInt();  
switch (mes){  
case 1: System.out.println("Janeiro");  
break;  
case 2: System.out.println("Fevereiro");  
break;  
case 3: System.out.println("Marco");  
break;  
case 4: System.out.println("Abril");  
break;  
case 5: System.out.println("Maio");  
break;  
default:  
System.out.println("Outro");  
break;  
}
}
}
Estruturas de Repetição em Java  
Em Java, uma das formas de se trabalhar com  
repetições é através do comando while:  
.
while(expressao_logica)  
{
..  
Enquanto a “expressão_lógica” for  
verdadeira, o “bloco de comandos” é  
executado!  
/
* Bloco de comandos */  
}
...  
Depois, a execução procede nos  
comandos subsequentes ao bloco while.  
Exemplo:  
int x = 0;  
while (x <= 100)  
{
System.out.println(x);  
x = x + 1;  
}
Estruturas de Repetição em Java  
Outra forma de se trabalhar com repetições em Java  
é através do comando for:  
..  
for(expressão_inicial; expressão_lógica; expressão_atualização)  
.
{
/* Bloco de comandos */  
}
.
..  
Exemplo:  
int x;  
for (x = 0; x <= 100; x++)  
{
System.out.println(x);  
}
Estruturas de Repetição em Java  
A linguagem Java oferece uma terceira construção de  
laços através do comando do-while:  
...  
do  
{
/* Bloco de comandos */  
}while(expressão_lógica);  
...  
Exemplo:  
int x = 0;  
do{  
System.out.println(x);  
x++;  
}while (x <= 100);  
package exemplos;  
import java.util.Scanner;  
public class Exemplo05  
{
public static void main(String[] args)  
{
int n, i = 0;  
Scanner entrada = new Scanner(System.in);  
System.out.println("Digite o numero:");  
n = entrada.nextInt();  
if (n >= 2)  
{
for (i = 2; i < n; i++)  
{
if (n % i == 0)  
break;  
}
}
if (i == n)  
System.out.println("É primo!");  
else  
System.out.println("Não é primo!");  
}
}
Depuração no NetBeans  
1) Defina um breakpoint e inicie a depuração:  
2
1
Depuração no NetBeans  
2) Clique na aba output e digite um número:  
1
2
Depuração no NetBeans  
3
) A execução para ao chegar no breakpoint. Coloque  
o mouse sobre as variáveis para avaliar o seu valor:  
Depuração no NetBeans  
4
) Clique emStep Over” para avançar para as próximas  
linhas e acompanhar a execução do programa:  
Exercícios  
Lista de Exercícios 01 Introdução Java  
http://uniriodb2.uniriotec.br