Linguagem JAVA
789 – Fundamentos de linguagem
JAVA
A linguagem Java
Historial
– JAVA foi concebida por equipa liderada por James Gosling, na Sun
Microsystems em 1991.
– A primeira versão demorou 18 meses a ser desenvolvida. No ínicio
tinha o nome de OAK, e a sua primeira implementação foi em 1992.
– O anúncio público do nascimento do JAVA foi na primavera de 1995.
– Dadas as suas características, em Janeiro de 1996, a Netscape
integrou a capacidade de executar código JAVA no seu browser.
A integração do Java com os browsers da Internet conduz à
popularização da linguagem, sendo uma das mais utilizadas .
A linguagem Java
Evolução
•
JAVA acaba por ser uma evolução das linguagens C e C++. A
sintaxe é bastante semelhante às das referidas linguagens.
•
Tal como o C++, inclui o conceito de programação orientada por
objectos.
A portabilidade do JAVA
JAVA foi desenhada por forma a ser compilada e
interpretada, Uma vez compilado um programa de JAVA,
este poderá correr em qualquer plataforma (hardware + SO),
que tenha um interface JAVA
A portabilidade do JAVA
A máquina virtual de JAVA
•
A máquina virtual de JAVA (JVR) é responsável por interpretar o JAVA
bytecode e traduzi-lo em operações que deverão ser executadas por o
sistema operativo.
•
Diferentes sistemas operativos podem executar uma mesma operação
de forma diferente. Mas isto é irrelevante ao programador, pois é
responsabilidade da máquina virtual interpretar e traduzir estas acções.
O JAVA Runtime Enviroment
(JRE)
Para correr programas em Java é
necessário ter o JRE instalado no
computador.
• A máquina virtual de Java (JVM)
forma parte do JRE.
• Cada plataforma (hardware +
SO) requer um diferente JRE.
• A portabilidade do Java é
produto da implementação do
JRE numa grande variedade de
plataformas.
O JAVA Development Kit (JDK)
Para criar programas em Java é necessário ter o Java SE Development
Kit (JDK) instalado no computador.
• A plataforma de desenvolvimento Java SE (Standard Edition) é
também conhecida como J2SE (Java 2 Standard Edition).
• O JDK inclui diversas ferrramentas úteis:
• O compilador de JAVA chamado JAVAC
• O intérprete de bytecode adequado ao tipo de computador em causa
chamado java.
• Um largo conjunto de classes já programadas com a respectiva
documentação (as classes Java API)
• O JDK é disponibilizado gratuitamente em http://java.sun.com para
diversos tipos de plataformas. Pode descarregar a versão mais
actual do JDK ( a versão 6) em:
http://java.sun.com/javase/downloads/index.jsp
Ambiente Integrado de Desenvolvimento (IDE)
•
•
•
As ferramentas incluídas no JDK são normalmente suficientes
quando se utilizam sistemas operativos baseados em
comandos (Unix, o Linux). Na escrita dos programas pode ser
usado qualquer editor de ficheiros texto.
Quando se utilizam sistemas operativos baseados em janelas,
como o Windows ou o MacOS, é comum a utilização de
ambiente integrados de desenvolvimento (IDE, do termo em
Inglês Integrated Development Enviroment), que facilitam a
utilização do JDK.
Existem vários:
– Eclipse
– Netbeans
– BlueJ
– DrJava
Estrutura de um programa
Um programa em Java é um conjunto de uma ou mais classes
•
Requisitos que deve satisfazer um programa que pode ser executado:
– Incluir uma classe com o mesmo nome do ficheiro (*.java) onde o
programa é guardado
– Esta classe pública deve incluir o subprograma main() o
subprograma por onde se iniciará a execução do programa
O primeiro programa em Java
O primeiro programa em Java
O primeiro programa em Java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Olá mundo!");
}
}
Elementos de um programa Java
Os programas incluem
componentes:
–
–
normalmente
três
Declarações:
permitem
reservar
memória
armazenamento das estruturas de dados envolvidas
tipos
de
para
o
Instruções: indicam ao computador o que deve efectuar
• As instruções são separadas por ponto e vírgula
– Comentários: são úteis para os programadores, mas são
ignorados pelo computador:
• /* */ - mais de uma linha
• /** */ - documentação
• // - até ao final da linha
Sintaxe
Os programas incluem normalmente três tipos de
componentes:
–
–
Declarações: permitem reservar memória para o armazenamento
das estruturas de dados envolvidas
Instruções: indicam ao computador o que deve efectuar
• As instruções são separadas por ponto e vírgula
– Comentários: são úteis para os programadores, mas são ignorados
pelo computador:
• /* */ - mais de uma linha
• /** */ - documentação
• // - até ao final da linha
Sintaxe
As linguagens de programação têm regras sintácticas que
indicam como criar declarações, intruções e comentários de
forma correcta.
A sintaxe do Java, tal como a de outras linguagens, inclui:
•Palavras reservadas
•Identificadores
•Símbolos
•Literais
Sintaxe
Para uma melhor clareza na escrita de um programa deve-se
seguir as seguintes convenções:
•
Sempre que possivel utilizar letras minúsculas
– Exe.: nome de um subprograma main ()
•
Com as seguintes excepções:
– Nom de uma classe começa por maúscula
• Ex: Math, System, Poligono
– Se o nome consta de várias palvras: usar uma maiúscula para a
primeira letra da palavra que segue a outra
• Exe: imprimirMensagem, lerNome
– O nome de uma constante – todo em maiúscula ou separado
por”_”
– Exe: MAX, TAXA_DE_JUROS
Tipos de dados Primitivos
Formador: Henrique Fidalgo
19
Símbolos e Literais
Símbolos:
• Operadores
– Exe: + , -. *, =
– O operador = tem a função de atribuição, para comparação utiliza-se o
operador ==.
•
Literais: dados explícitos que podem ser manipulados pelo
programa
Exemplos:
–
–
–
–
Números inteiros: -17 e 255
Reais: 3.1415
Caracteres: ‘a’, ‘A’, ‘n’
Cadeias de caracteres: “Bom dia!”, “Boa tarde”
Constantes
Um valor de uma constante, como o seu nome indica, se matêm
inalterado durante toda a execução do programa
A sintaxe da declaração de constantes é a seguinte:
final tipo_de_dado nome_da_variável = valor inicial;
Exemplo:
public class taxa_juro{
public static void main(String [] args){
double taxa_de_juro=0.2;
System.out.println(“A taxa de juros mensal
é”+taxa_de_juro);
}
}
Formador: Henrique Fidalgo
22
Exercício1
• Elabore um programa em JAVA que
mostre no ecrã a seguinte mensagem:
“Olá Mundo JAVA!”
Formador: Henrique Fidalgo
23
Exercício 2
• Elabore um programa que mostre no ecrã
as seguintes mensagens:
– Porto 22 graus.
– Lisboa 25 graus
– Faro 27 graus
Nota: Utilize uma variável constante para
substituir os números.
Formador: Henrique Fidalgo
24
Expressões aritméticas
As expressões aritméticas são calculadas segundo a prioridade
dos diferentes operadores aritméticos;
Conversões de Tipo
O tipo de resultado de uma expressão aritmética depende do
tipo dos seus operandos
• Se todos forem do mesmo tipo – o resultado será do mesmo
tipo
• Caso contrário – o computador terá de fazer conversões de
tipo:
– Conversão automática: de tipo mais pequeno para tipos
maiores
Byte > short > int > long > float > double
– Conversão explicita: indicada expressamente pelo programador
Operadores Unários
Operadores de incremento e decremento: aumentam ou
diminuem, respectivamente, uma unidade ao valor do operando
Os pacotes de Java
•
•
•
•
•
•
Os pacotes (packages) em Java são bibliotecas de programas
Um pacote agrupa várias classes que podem não estar
relacionadas
Os pacotes são guardados em ficheiros com extensão *.jar
Podemos importar uma classe de um pacote usando a
instrução import logo no ínicio do programa
Podemos importar todas as classes de um pacote usando um
asterisco em vez do nome da classe
As classes pertencentes ao pacote java.lang tais como Math,
System, String, etc., não precisam de ser importadas
Leitura de valores
Para efectuar a leitura de valores no java vamos
utilizar a class Le.java que deverá ser copiada para
o directório de trabalho, assim sempre que
pretender ler um valor deverá ultilizar a seguinte
sintaxe:
variavel=Le.umDouble();
Output de variáveis
Para efectuar a escrita de variáveis no java
utilizamos a seguinte sintaxe:
System.out.println (“O valor é:” +variavel);
Exemplo:
public class nota{
public static void main(String [] args){
double nota=15;
System.out.println(“A nota é:” + nota);
}
}
Exercício 3
Elabore um programa que permite calcular a
hipotenusa de um triângulo através da introdução
da medida dos catetos.
Nota:
hipotenusa=Math.sqrt(cateto1*cateto1)+(cateto2*cateto2)
Exercício 4
Elabore um programa que permite calcular os
metros cúbicos de betão necessários para
determinada obra, através da introdução da altura,
comprimento e largura de determinada secção da
obra.
Nota:
betão=largura*altura*comprimento
Todas as medidas devem ser inseridas em metros.
Exercício 5
Desenvolva um programa que o ajude a calcular a
nota de um aluno, sabendo que esta é definida da
seguinte forma:
60% - média dos 2 testes da disciplina
20% - média dos 3 melhores trabalhos práticos
20% - trabalho final
Exercício 6
Ao chegar a uma casa de hamburguers, o cliente dirige-se ao
computador para encomendar a sua refeição. Surge-lhe o
seguinte menu:
MENU
Hamburguer – 2 euros
Cheeseburger – 2.5 euros
Batatas fritas – 0.75 euros
Sumo – 1 euros
De seguida tem de responder a um conjunto de perguntas:
Hamburguers?
Cheeseburgers?
Batatas Fritas?
Sumo?
Finalmente deverá aparecer o seguinte menu:
Hamburguers
X
Cheeseburgers
x
Batatas fritas
x
Sumos A pagar:
x
x
Expressões lógicas
Operador
Operação
>
Maior que
<
Menor que
>=
Maior ou igual que
<=
Menor ou igual que
==
Igual a
!=
Diferente de
A instrução if
Sintaxe:
if (condição) {
intruções;
}
Exemplo
Programa que permite determinar se um número é
par:
public class SeraPar
{
public static void main (String[] args)
{
int num;
System.out.println(“Escreva um número:”);
num=Le.umInt();
if (num %2==0) {
System.out.println(“O número” +num+ ” é par”);
}
}
}
A instrução if - else
Sintaxe:
if (condição) {
Intruções se a condição for verdadeira;
}
else {
Intruções se a condição for falsa;
}
Exemplo
Programa que permite determinar se um número é
par ou ímpar:
public class SeraPar
{
public static void main (String[] args)
{
int num;
System.out.println(“Escreva um número:”);
num=Le.umInt();
if (num %2==0) {
System.out.println(“O número” +num+ ” é par”);
}
else {
System.out.println(“O número” +num+ ” é ímpar”);
}
}
}
Observações:
Não colocar ponto e vírgula a seguir a um “if” ou a um
“else”
Exercício 7
Elabore um programa que permita informar o utilizador que tipo
de bilhete deve ser vendido, através da introdução da idade.
Idade
Bilhete
Inferior a 6 anos
Isento de pagamento
Entre 6 e 12 anos
Bilhete de criança
Entre 13 e 65 anos
Bilhete normal
Mais de 65 anos
Bilhete de 3ª idade
Exercício 8
1. Elabore um software que permita ao introduzir a nota de
uma disciplina informar se o aluno está aprovado ou
reprovado na disciplina.
2. Considere uma escala de 0 a 20 em que de 9,5 a 20 o
aluno deverá transitar.
43
Exercício 9
1. Elabore um software que ao introduzir as notas das
disciplinas de Matemática, de Português e de Inglês de
determinado aluno informe qual a sua média e se a sua
média é positiva ou negativa.
2. Considere uma escala de 0 a 20 em que de 9,5 a 20 a
média é positiva.
44
Exercício 10
1. Elabore um software que através da introdução de um
salário calcule quanto o funcionário terá de pagar de
imposto tendo em atenção a seguinte tabela:
Salário
Taxa
<1000
5%
>=1000 e < 5000
11%
>= 5000
35%
45
Exercício 11
Um método de criação de números de cartões consiste em
acrescentar um dígito ao número original de modo a que a
soma dos dígitos do cartão seja par. Para isso acrescentase um “0” ou um “1” à direita do número original, conforme
necessário. Admitindo que os números originais têm todos
4 dígitos, faça um programa que permita aplicar este
método, mostrando o número final do cartão.
46
Exercício 12
• Escreva um programa capaz de identificar se uma
pessoa é anã, gigante ou de estatura normal. As
condições são as seguintes:
– Altura<1.40m (Anã)
– 1.40m=<Altura<=2.00m
– Altura>2.00m (Gigante)
(Estatura normal)
47
A instrução switch-case
Sintaxe:
switch (expressão){
case item_1: instrução_1; break;
case item_2: instrução_2; break;
default: Instrução de default; break;
}
48
Exercício 13
• Elabore um programa que permita ler o seu peso na
terra, escolher um planeta, e calcular o seu peso nesse
planeta. A relação de planetas é:
A fórmula de cálculo da gravidade é:
PesoNoPlaneta = PesoNaTerra / 10 * GravidadeRelativa
49
Exercício 14
Elabore um programa que calcule através da introdução do
salário, o imposto pago por mulheres e por homens,
sabendo que as mulheres pagam 10% de imposto e que os
homens pagam 15%.
50
Exercício 15
• Escreva um programa que indique o número de dias de
determinado mês, através da introdução do mês.
51
Exercício 16
• Construa um programa que lê do teclado dois números e uma
opção carácter que representa uma opção aritmética (+ - * /),
e faça a operação aritmética pretendida e escreva o resultado
no monitor.
A – Soma
S – Subtracção
M – Multiplicação
D – Divisão
• Tenha em atenção que não pode fazer divisão por zero, pelo
que o deve imprimir uma mensagem de erro.
52
Exercício 17
•
A empresa XPTO necessita de um programa que
calcule qual o desconto a aplicar a determinado cliente
conforme a tabela abaixo e o montante final a pagar
pelo cliente: (Nota: Utilize o “switch” e “if-else”.)
N.º
Unidade
Compra
Desconto
A
Óptimo
Cliente
>250€
>100€
outras
40%
25%
15%
B
Bom Cliente
>250€
>100€
outras
30%
15%
10%
C
Cliente
Razoável
>250€
>100€
outras
20%
10%
5%
D
Cliente
Normal
>250€
>100€
outras
10%
5%
53
O ciclo while
A instrução while (também chamada ciclo), executa uma instrução ou
bloco de instruções enquanto determinada condição for verdadeira. A
sua sintaxe é:
while (condição) {
instrução;
}
54
Exemplo
public class MediaNumeros
{
public static void main (String[] args)
{
float media;
int num=0, soma=0, conta=0;
while (num>=0) {
System.out.println(“Introduza um número:”);
num=Le.umInt();
if (num >=0) {
soma +=num; //acumulador
conta++;
}
}
media=soma/conta;
System.out.println(“A média dos números é” +media);
}
}
55
Exercicio 18
Implemente um programa que permita ler 10
números inteiros e que no final da leitura apresente a
soma de todos eles e a sua média. Utilize para isso
uma estrutura de repetição while.
56
Exercício 19:
Elabore um programa que calcule o total a pagar por determinado cliente através
da introdução do número do menu.
O software deverá permitir a soma de vários menus e deverá terminar se for
introduzido o número 0.
N.º
Menu
Preço
1
Mini Hamburger
5,35 €
2
Mega Hamburger
6,15 €
3
Giga Hamburger
7,50 €
4
Tera Hamburger
8,00 €
5
Mega Salada
4,50 €
6
Giga Salada
5,00 €
0
SAIR
57
Exercício 20:
Elabore um programa que permite efectuar operações de crédito ou débito numa
conta bancária. O programa deverá perguntar qual o saldo inicial da conta e qual a
operação que o utilizador pretende efectuar (débito ou crédito), assim como o
montante a debitar, actualizando o saldo da conta sempre que se efectue uma
operação. No final deverá devolver o saldo da conta.
Opcão
Menu
Cálculo
D
Débito
saldo - montante
C
Crédito
saldo + montante
S
Sair
-
58
Exercício 21:
Elabore um programa que calcule o total a pagar por determinado cliente através
da introdução da letra correspondente do produto.
O software deverá permitir a soma de vários produtos e no final deverá permitir
aplicar determinado desconto segundo uma tabela de descontos
N.º
Menu
Preço
1
CAMISOLA
15,00€
2
CALÇA
20,00 €
3
CAMISA
17,50 €
4
CASACO
50,00 €
5
SAPATOS
30,50 €
6
MEIA
5,00 €
0
SAIR
Opção
DESCONTO
1
10%
2
20%
3
30%
4
40%
5
50%
0
0%
59
Exercício 22:
Desenvolva um programa que conte quantos números pares e
quantos números ímpares existem numa sequência de números
inteiros positivos fornecidos pelo utilizador. A quantidade de
números a introduzir não é conhecida à partida, sabendo-se apenas
que o conjunto termina com um número negativo.
60
Exercício 23
Um ciclone tropical consiste em uma tempestade muito violenta que, sob
determinadas condições, adquire um movimento de rotação em torno de uma
região de baixa pressão atmosférica. Um ciclone pode atingir um diâmetro de
até 500 km. Furacões são os mais violentos desses ciclones e chegam a
produzir ventos de até 320 km/h. Na tabela abaixo, são apresentados alguns
dados relativos à classificação dos furacões segundo a escala Saffir-Simpson:
classificação
velocidade dos ventos
(km/h)
tempestade tropical
62 a 118
furacão de categoria 1
119 a 153
furacão de categoria 2
154 a 177
furacão de categoria 3
178 a 209
furacão de categoria 4
210 a 249
furacão de categoria 5
maior que 249
Escreva um programa que leia a
velocidade do vento aferida durante
uma tempestade e apresente ao
utilizador a classificação do furacão
caso a tempestade possa ser
classificada como tal.
61
Exercício 24
Construa um programa que calcule o valor e a gravidade de contra-ordenações de
velocidade através da leitura da velocidade a que o veículo foi detectado assim
como da localização.
São contra-ordenações leves:
Excesso de velocidade até 30km/h fora das localidades;
Excesso de velocidade até 20km/h dentro das localidades;
Valor da coima: de 60€ a 300€;
Sem sanção inibitória
São contra-ordenações graves:
Excesso de velocidade superior a 30km/h fora das localidades;
Excesso de velocidade superior a 20km/h dentro das localidades;
Valor da coima: de 120€ a 300€
Sanção inibitória: de 1 mês a 1 ano;
São contra-ordenações muito graves:
Excesso de velocidade superior a 60km/h fora das localidades;
Excesso de velocidade superior a 40km/h dentro das localidades;
Valor da coima: de 300€ a 1500€
Sanção inibitória: de 2 meses a 2 anos.
62
Download

java