Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 42

Organização de

programas em Java

Leonardo Gresta Paulino Murta


[email protected]
Vamos programar em Java! Mas...
• Como um programa é organizado?
• Quais são os tipos de dados disponíveis?
• Como variáveis podem ser declaradas?
• Como atribuir valores às variáveis?
• Como entrada e saída básica de dados podem ser
feitas?

Leonardo Murta Organização de Programas em Java 2


Instalação do JDK
• Download do JDK
– http://www.oracle.com/technetwork/java/javase/dow
nloads/index.html
• Versão mais recente para plataforma Java SE
• Programas principais
– javac (compilador)
– java (máquina virtual)

Leonardo Murta Organização de Programas em Java 3


Primeiro passo: escrever o programa!

AloMundo.java

Leonardo Murta Organização de Programas em Java 4


Compilação

Programa em Programa em
Linguagem de Compilador Linguagem de
alto nível Máquina

Bytecode
class AloMundo {

public static void main(String[] args) { 00101110011110


}
System.out.println("Alo Mundo!"); javac 10010110000110
10011100011010
}

Leonardo Murta Organização de Programas em Java 5


Compilação

Leonardo Murta Organização de Programas em Java 6


Execução

Programa em
Interpretador
Linguagem de
máquina virtual à máquina real
Máquina

Bytecode Computador
00101110011110
10010110000110 java
10011100011010

Leonardo Murta Organização de Programas em Java 7


Execução

Leonardo Murta Organização de Programas em Java 8


Notepad x IDE
• Dificuldades do Notepad
– Editor básico, sem ajuda para programar
– Compilação externa
– Execução externa
• Integrated Development Environment (IDE)

Leonardo Murta Organização de Programas em Java 9


Instalação do NetBeans
• Usaremos o NetBeans neste curso
• Download do NetBeans
– https://netbeans.apache.org/download/index.html
– Importante: baixar a versão mais recente

Leonardo Murta Organização de Programas em Java 10


Criando o projeto no NetBeans...

Clicar neste
ícone para
criar um
novo
projeto

Leonardo Murta Organização de Programas em Java 11


Criando o projeto no NetBeans...

Selecionar
categoria
Java e
projeto do
tipo Java
Application,
e clicar em
Next ao
final

Leonardo Murta Organização de Programas em Java 12


Criando o projeto no NetBeans...

Definir o
nome do
projeto e da
classe
principal, e
clicar em
Finish ao
final

Leonardo Murta Organização de Programas em Java 13


Criando o projeto no NetBeans...

Geração
automática
do
esqueleto
do
programa

Leonardo Murta Organização de Programas em Java 14


Escrevendo e compilando o programa
no NetBeans...

Compilação
automática
durante a
edição do
código e
avisos
sobre erros

Leonardo Murta Organização de Programas em Java 15


Executando o programa no NetBeans...

Clicar neste
ícone para
executar o
programa

No painel
inferior
ocorrerá a
entrada e
saída de
dados

Leonardo Murta Organização de Programas em Java 16


Escrevendo, compilando e executando
o programa no NetBeans...

Leonardo Murta Organização de Programas em Java 17


Organização geral
de um programa Java
• Nesse momento, abstrairemos um pouco a
Orientação a Objetos
– Depois veremos como isso funciona

import BIBLIOTECA EXTERNA;


class NOME DO PROGRAMA {
public static void main(String[] args) {
CîDIGO DO PROGRAMA
}
}

Leonardo Murta Organização de Programas em Java 18


Regras básicas

Leonardo Murta Organização de Programas em Java 19


Comentários
• Comentários são trechos do programa voltados
para a leitura por humanos, e ignorados pela JVM
• Existem diferentes formas de escrever comentário
• /* COMENTÁRIO */
– Conhecido como comentário de bloco
– Tudo entre /* e */ é ignorado pelo interpretador
• // COMENTÁRIO
– Conhecido como comentário de linha
– Tudo na linha após // é ignorado pelo interpretador
Leonardo Murta Organização de Programas em Java 20
Exemplo de programa em Java
import java.util.Scanner;

/* Este programa calcula a ‡rea


de um triangulo ret‰ngulo */
class Triangulo {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in); //Leitor do teclado
int altura, base; //Dados de entrada
float area; //Dados de saida

System.out.print("Informe a altura: ");


altura = teclado.nextInt();
System.out.print("Informe a base: ");
base = teclado.nextInt();
area = 0.5f * altura * base;
System.out.println("çrea: " + area);
}
}

Leonardo Murta Organização de Programas em Java 21


Quais são os tipos de dados
disponíveis?
• Em Java, toda variável tem que ter um tipo
• Com isso, o computador pode reservar o espaço
correto de memória
• Os tipos básicos podem ser divididos em dois
grupos
– Tipos numéricos (inteiro e real)
– Tipos não numéricos (caractere e booleano)
• Também existe texto como tipo complexo (classe)
– String

Leonardo Murta Organização de Programas em Java 22


Números inteiros
• byte
– 8-bits (aceita valores de -128 a 127)
• short
– 16-bits (aceita valores de -32.768 a 32.767)
• int
– 32-bits (aceita valores de -2.147.483.648 a 2.147.483.647)
• long
– 64-bit (aceita valores de -9.223.372.036.854.775.808 a
9.223.372.036.854.775.807)
• Por padrão, qq número inteiro é do tipo int
– Para forçar long, deve-se adicionar L ou l ao final (ex. 123L)
Leonardo Murta Organização de Programas em Java 23
Exemplos de números inteiros
• byte • short
– -5 – -1234
– 10 – 10
– 120 – 29090

• int • long
– -12312312 – -12343212
– 10 – 10
– 345092834 – 45323565432L

Leonardo Murta Organização de Programas em Java 24


Números reais
• float
– Precisão simples 32-bits (IEEE 754 SPFP)
– Precisão de 7 casas decimais com magnitude de 1038
• double
– Precisão dupla 64-bits (IEEE 754 DPFP)
– Precisão de 15 casas decimais com magnitude de 10308
• Por padrão, qq número real é do tipo double
– Para forçar float, deve adicionar F ou f ao final (ex. 0.5f)
• Notação científica pode ser utilizada (ex. 0.5e3)
Leonardo Murta Organização de Programas em Java 25
Exemplos de números reais
• float • double
– -21.4f – 0.23e-94
– 0.0000034f – 0.54336543454323e-7
– 123456.0f – 0.0000034
– 0.6023e24f – 0.4e-3
– 0.4e-3f – 0.4E-3d
– -0.5E2f – 12345d
– 15f – 15d
– 15F – 15D

Leonardo Murta Organização de Programas em Java 26


Outros tipos de dados
• char
– Caractere 16-bit (Unicode)
• String
– Texto de tamanho variável
• boolean
– Tipo lógico, com valores true ou false

Leonardo Murta Organização de Programas em Java 27


Exemplos de outros tipos de dados
• char
– ‘A’
– ‘b’
– ‘4’
• String
– “”
– “Olá mundo!”
– “4”
• boolean
– true
– false
Leonardo Murta Organização de Programas em Java 28
Valores padrão
• Algumas linguagens não limpam o espaço de
memória ao alocar uma nova variável
• Java toma esse cuidado para nós
– Tipos numéricos são inicializados com 0
– Tipo char é iniciado com ‘\u0000’
– Tipo booleano é inicializado com false

• De qualquer forma, sempre inicialize as suas


variáveis por precaução
Leonardo Murta Organização de Programas em Java 29
Declaração de variáveis
• Para serem usadas, as variáveis precisam ser
declaradas (criadas)
• Toda variável é declarada da seguinte forma:

TIPO NOME = VALOR INICIAL;

ou

TIPO NOME1, NOME2, ...;

Leonardo Murta Organização de Programas em Java 30


Declaração de variáveis
• Os tipos são os que já vimos, assim como os valores iniciais
possíveis
• Os nomes devem respeitar algumas regras
– São sensíveis a caixa
– Podem ter tamanho ilimitado (mas evite abusos)
– Devem começar com letra, seguida de letras ou números
– Não podem ter espaço nem acentos
– Não podem ser uma palavra reservada da linguagem
• Usualmente nomes compostos de variáveis seguem a
notação Camel Case iniciando com minúsculas, com
conectores (de, e, ou, etc.) omitidos e demais palavras
concatenadas iniciando com maiúsculas

Leonardo Murta Organização de Programas em Java 31


Declaração de variáveis
• Um caso especial é referente a variáveis que
nunca trocam de valor
– Mais conhecidas como constantes
• Em Java, constantes são identificadas com o
modificador final antes do tipo
• Usualmente, os nomes de constantes são em
maiúsculas com as palavras separadas por
underscore (_) quando for um nome composto

Leonardo Murta Organização de Programas em Java 32


Atribuição de valores
• Em Java, o operador de igualdade (=) é usado para
atribuir valores às variáveis
• Sempre na forma: variável = valor ou expressão
– A expressão do lado direito é avaliada
– O valor gerado é atribuído à variável

Leonardo Murta Organização de Programas em Java 33


Como variáveis podem ser declaradas?
(exemplos)
• int idade = 15;
• int minutos = horas * 60;
• final float ACELERACAO_GRAVIDADE = 9.80665f;
• final double PI = 3.14159265358979;
• String melhorTimeFutebol = “Flamengo”;
• boolean gostoJava = true;
• String nome, endereco, telefone;
• int ano, mes, dia;
Leonardo Murta Organização de Programas em Java 34
Entrada de dados
• Para entrada de dados, é necessário usar uma classe
externa responsável por interpretar o que foi escrito
– java.util.Scanner
• Para não ter que escrever o nome completo da classe
a cada uso, é possível importar a classe para o seu
programa
– import java.util.Scanner;
– A partir desse momento, a máquina virtual Java sabe onde
encontrar a classe (no pacote java.util), e nós podemos
chamá-la somente pelo nome Scanner
Leonardo Murta Organização de Programas em Java 35
Entrada de dados
• Além de importar a classe Scanner, é necessário
criar uma variável que permita acessá-la
– Scanner teclado = new Scanner(System.in);
• A partir desse ponto, a variável teclado pode ser
usada para ler o que foi digitado
– O Scanner permite leitura individualizada para
diferentes tipos de dados
– A leitura só ocorre de fato após o usuário teclar Enter

Leonardo Murta Organização de Programas em Java 36


Entrada de dados
Tipo de dado a ser lido Método
byte Scanner.nextByte()
short Scanner.nextShort()
int Scanner.nextInt()
long Scanner.nextLong()
float Scanner.nextFloat()
double Scanner.nextDouble()
boolean Scanner.nextBoolean()
Scanner.next()
String
Scanner.nextLine()

Leonardo Murta Organização de Programas em Java 37


Saída de dados
• A saída de dados é mais simples, acessando direto
a classe que representa o sistema
– java.lang.System
• O pacote java.lang não precisa ser importado, pois
é visível automaticamente a todos os programas
• A partir da classe System, é possível escrever
qualquer tipo de dados (x)
– System.out.print(x)
– System.out.println(x)

Leonardo Murta Organização de Programas em Java 38


Exemplo de entrada e saída de dados
• int nota = teclado.nextInt();
• nome = teclado.nextLine();
• altura = teclado.nextFloat();
• System.out.print(“Java é muito legal!”)
• System.out.println(123);
• System.out.println(teclado.nextLine());

Leonardo Murta Organização de Programas em Java 39


Exercícios
• Qual a saída do programa abaixo?
class Atribuicoes {
public static void main(String[] args) {
float x = 1.0f;
float y = 2.0f;
float z = 3.0f;

x = -x;
y = y - 1;
z = z + x;
z = z + x - y;
System.out.println("x = "+x+", y = "+y+", z = "+z);
}
}

Leonardo Murta Organização de Programas em Java 40


Exercícios
• Faça um programa para, a partir de um valor
informado em centavos, indicar a menor
quantidade de moedas que representa esse valor
– Considere moedas de 1, 5, 10, 25 e 50 centavos, e 1
real
– Exemplo: para o valor 290 centavos, a menor
quantidade de moedas é 2 moedas de 1 real, 1 moeda
de 50 centavos, 1 moeda de 25 centavos, 1 moeda de
10 centavos e 1 moeda de 5 centavos

Leonardo Murta Organização de Programas em Java 41


Organização de
programas em Java

Leonardo Gresta Paulino Murta


[email protected]

Você também pode gostar