Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
A linguagem Java Cdigo interpretado Possui um ambiente de aplicao
Tecnologia Java
A plataforma Java define o ambiente de hardware e
Plataforma de hardware
JVM
Particularidades da JVM em relao a outras
plataformas
Simulao de uma mquina real Toda a interao do programa Java feito com a JVM
JVM
Para cada plataforma, h um interpretador JVM
MeuPrograma.java
Compilador
Interpretador
Windows
MeuPrograma.class
Interpretador
Linux
Interpretador
Mac-Os
JRE
O ambiente de execuo Java, chamado de Java
Runtime Environment (JRE), executa o cdigo compilado para a JVM e tem como responsabilidade:
Carregar o cdigo; Verificar o cdigo; Executar o cdigo.
diretamente sobre a plataforma Java. Applets: so programas que necessitam de um browser compatvel com Java para serem executados; Servlets: so programas executados remotamente em um servidor web
IDEs
Para facilitar o programador, diversas empresas
criaram ambientes de desenvolvimento integrado que interagem com o JDK de maneira a tornar o desenvolvimento mais produtivo. Alguns exemplos so:
NetBeans (Sun);
JDeveloper (Oracle);
Eclipse(IBM)
Estrutura de um programa
Todo programa Java, independente do tipo, uma
Estrutura de um programa
//Arquivo Hello.java public class Hello { public void imprimir() { System.out.println(Ol mundo"); } } // Arquivo TesteHello.java public class TesteHello { public static void main(String[] args) { Hello hello = new Hello(); hello.imprimir(); } }
Elementos da linguagem
A seguir veremos um conjunto de elementos da
linguagem:
Tipos bsicos Comandos de entrada e sada Estruturas de controle Vetores
Comentrios
Existem trs tipos de comentrio em Java: // comentrio at o final da linha /* comentrio em mltiplas linhas */ /** comentrio de documentao */
//Comentrio at o final da linha public class Hello { public void imprimir() { System.out.println("Ol mundo..."); } }
Blocos
Blocos so compostos por um conjunto de instrues
Identificadores
Identificadores em linguagem Java so utilizados para
a nomeao de elementos como, por exemplo, as variveis Devem comear com letras, underscore (_) ou cifro ($) e os caracteres seguintes podem tambm utilizar dgitos. So case-sensitives, isto , so sensveis a variaes de letras maisculas e minsculas
Palavras reservadas
Palavras reservadas identificam nomes que so
utilizados pela linguagem para a construo de programas. Identificadores no podem usar o mesmo nome de uma palavra reservada. Alguns exemplos de palavras reservadas: class, void, do, if, try, float, implements, entre outros
Tipos de dados
boolean representa um valor lgico (true ou false);
Tipos de dados
Para representar nmeros inteiros podemos usar um
Tipo
Faixa
-128 at +127 -32768 at +32767
byte short
32 bits
64 bits
int
long
-2147483648 at +2147483647
-263 at 263-1
Tipos de dados
Os valores podem ser representados na forma decimal,
hexadecimal
Tipos de dados
Decimais 5786 -876 455l (representao como long) Octais 0657 0574 Hexadecimais 0x78A ox65C
Tipos de dados
Para os valores com ponto flutuante temos float (32
bits) e double (64 bits). Os valores deste tipo devem ser representados com um ponto, se houver necessidade de separao da parte decimal, precedido, se necessrio, da parte exponencial (letra E ou e).
3.14 double por default 0.031415e02 3.14f float
Tipos de dados
O tipo de dados que permite armazenar um conjunto
de caracteres o String.
String nome = Andres Menendez; String disc = Programao II;
Declarao e atribuio
Diferentemente do Pascal, as variveis podem ser
Operadores
Seguem os operadores relacionais em Java: > maior < menor >= maior ou igual <= menor ou igual == igual != diferente
Operadores
Os operadores lgicos em Java so os seguintes: ! negao | ou &e ^ ou exclusivo || ou short circuit && e short circuit
Operadores
Exemplo
public class Operadores { public static void main(String[] args) { boolean x = ! (10 > 20); boolean y = (1 < 3) && x; boolean z = x || y; } }
Operadores
Os operadores aritmticos em Java so: + soma - subtrao * multiplicao / diviso % resto ++ auto-incremento -- auto-decremento
Operadores
Em Java temos alguns operadores de atribuio: = atribuio normal; += atribuio com soma; -= atribuio com subtrao; *= atribuio com multiplicao; /= atribuio com diviso.
Operadores
public static void main(String[] args) { int x = 1; int y = x++; System.out.println(x+" "+y); // 2 1 x = 1; y = ++x; System.out.println(x+" "+y); // 2 2 x = 2; y += x; // y = y + x System.out.println(x+" "+y); // 2 4 x = 1; y -= x; System.out.println(x+" "+y); // 1 3 }
Comandos de sada
Para mostrar os resultados na tela usamos a seguinte
forma
System.out.println(parmetro) System.out.print(parmetro)
Comandos de entrada
Para fazer a leitura de valores em Java usamos a
seguinte construo
import java.util.Scanner; public class TesteScanner { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print ("Nome da pessoa: "); String nome = scan.next(); System.out.print ("Peso em kg: "); int peso = scan.nextInt(); System.out.println(nome+" pesa "+ peso+" kilos"); } }
Comandos de entrada
Para cada tipo de varivel pode ser usando um
comando especfico:
next variveis texto nextInt variveis inteiro nextDouble variveis real Entre outras...
Comandos de entrada
Alm do comando de entrada anterior podemos usar
tambm:
import javax.swing.JOptionPane; public class Leitura { public static void main(String[] args) { String leitura = JOptionPane.showInputDialog("Valor"); int valor = Integer.parseInt(leitura); System.out.println(valor); } }
Exerccio
Faa um programa em Java que leia dois nmeros e
valor de desconto de um funcionrio e ao final imprima o nome e o valor lquido a ser recebido pelo funcionrio
Comandos de seleo
A sintaxe de comando IF em Java da seguinte forma:
if (expresso lgica) { // conjunto de comandos } if (expresso lgica) { // conjunto de comandos } else { // conjunto de comandos }
Comandos de seleo
public static void main(String[] args) { Scanner scan = new Scanner(System.in); int valor1 = scan.nextInt(); int valor2 = scan.nextInt(); System.out.print("O maior valor lido foi: "); if (valor1 > valor2) { System.out.println(valor1); } else { System.out.println(valor2); } }
Comandos de seleo
public static void main(String[] args) { Scanner scan = new Scanner(System.in); int x = scan.nextInt(); int y = scan.nextInt(); if ( x > y ) { System.out.println("X maior do que Y"); } else if ( x < y ) { System.out.println("X menor do que Y"); } else { System.out.println("X igual a Y"); } }
Exerccio
Dificuldade: fcil
Exerccio
Dificuldade: fcil
notas de um aluno, a seguir o programa dever calcular a mdia e informar se o aluno est aprovado (mdia maior ou igual a 5.0) ou reprovado.
Exerccio
Dificuldade: fcil
Exerccio
Dificuldade: mdio
saber quem ganha mais. Faa um programa que leia o nome e o salrio dos dois e imprima o nome do programador que ganha mais.
Exerccio
Dificuldade: mdio
quando vai pagar de imposto de renda. Ele pediu para voc fazer um programa que leia o seu salrio, calcule e mostre o valor a ser pago do IR, baseado na tabela abaixo:
Faixa (R$) At 1000 De 1000 at 3000 De 3000 a 5000 Acima de 5000 % 0,0 6,5 9,0 12,0
Comandos de seleo
Em Java, alm do IF, temos um outro comando de
Comandos de seleo
A expresso a ser avaliada pode ser do tipo byte,
Comandos de seleo
public static void main(String[] args) { int x = 1, y = 1; switch ( x ) { case 1 : y = y + 1; break; case 2 : y = y + 2; break; case 3 : y = y + 3; break; default : y = y + 4; } System.out.println(y); // 2 }
Comandos de seleo
public static void main(String[] args) { int x = 1, y = 1; switch ( x ) { case 1 : y = y + 1; case 2 : y = y + 2; case 3 : y = y + 3; default : y = y + 4; } System.out.println(y); // 11 }
Exerccio
Dificuldade: fcil
representa um ms e o programa mostre quantos dias tm o ms lido (no considerar anos bissextos)
Exerccio
Dificuldade: fcil
ter 28 ou 29 dias (ano bissexto). Voc resolveu ajudar D. Francisca e fez um programa que l um valor que representa um ano e identifica se ele bissexto. Um ano bissexto se ele for divisvel por 400 ou se ele for divisvel por 4 e no por 100.
Exerccio
Dificuldade: fcil
verifica o peso ideal de uma pessoa baseado na altura e no sexo. Sendo assim, voc resolveu fazer um programa que l o a altura e o sexo de uma pessoa (M ou F) e calcule o seu peso ideal de acordo com as seguintes frmulas:
Homens: (72.7*h)-58 Mulheres: (66.1*h)-44.7
Exerccio
Dificuldade: mdio
escolheu o valor a ser retirado. Mostre a menor quantidade de cdulas que devem ser usadas para o saque que Lucca vai fazer.
Vamos considerar que existem cdulas de 1, 2, 5, 10, 20,
Exerccio
Dificuldade: mdio Faa um programa que leia a velocidade mxima permitida
em uma avenida e a velocidade com que Tlio estava dirigindo nela. Calcule a multa que uma ele vai receber, sabendo que so pagos:
50 reais se o motorista estiver ultrapassar em at 10km/h a
velocidade permitida (ex.: velocidade mxima: 50km/h; motorista a 60km/h ou a 56km/h); 100 reais, se o motorista ultrapassar de 11 a 30 km/h a velocidade permitida. 200 reais, se estiver acima de 31km/h da velocidade permitida
Exerccio
Dificuldade: mdio
dos trs maiores artilheiros do campeonato. Imprima o nome do jogador que faz mais gols.
Exerccio
Dificuldade: difcil
de um jogo, ambas subdivididas em dois valores distintos : horas e minutos. Calcular e escrever a durao do jogo, tambm em horas e minutos.
Comandos de repetio
Java suporta trs tipos de estruturas de repetio: for while do.
expressoInicial inicializao das variveis teste teste para saber quando o lao ser encerrado expressaoDeAlterao mudana das variveis de
controle
Exerccio
Dificuldade: fcil
equivalncia de graus Fahrenheit para centgrados. Os limites so de 30 a 60 graus Fahrenheit com intervalo de 1 grau.
Frmula: C = 5 * (F -32) / 9
Exerccio
Dificuldade: mdio
nmero lido.
N! = 1 x 2 x 3 x ... (N-1) x N
Exerccio
Dificuldade: mdio
Por exemplo, podemos usar o comando while para fazer repeties. A sintaxe para o comando while a seguinte:
while (expresso lgica) { // bloco de comandos }
lao caso seja verdadeira. Se o valor da expresso for falso o lao ser interrompido
ano. Tlio tem 1,10 m e cresce 3 centmetros por ano. Construa um programa Java que calcule em quantos anos Tlio ser maior que Lucca
Exemplo
public class AppWhile { public static void main(String[] args) { double lucca = 1.5; double tulio = 1.1; int anos = 0; while (tulio < lucca) { anos++; tulio = tulio + 0.03; lucca = lucca + 0.02; } System.out.println(anos); } }
calcule a mdia de um conjunto de nmeros lidos. Usar como flag o valor zero.
Exemplo
import javax.swing.JOptionPane; public class AppWhile { public static void main(String[] args) { String leitura = JOptionPane.showInputDialog("valor"); int valor = Integer.parseInt(leitura); int soma = 0; int cont = 0; while (valor != 0) { soma = soma + valor; cont++; leitura = JOptionPane.showInputDialog("valor"); valor = Integer.parseInt(leitura); } double media = (double) soma / cont; System.out.println(media); } }
Exerccio
Dificuldade: fcil
some todos aqueles que forem mltiplos de 3. O flag de parada a leitura do valor zero.
Exerccio
Dificuldade: mdio
Exerccio
Dificuldade: mdio
conjunto de funcionrios da universidade. Ao final mostrar a mdia de salrios dos funcionrios e o nome do funcionrio que ganha mais. O flag de parada a leitura do nome fim.
lao sero executados pelo menos uma vez Isto acontece porque o teste para continuar a repetio est no final
Exemplo
public class appDoWhile { public static void main(String[] args) { int ant = 1, meio = 1, i = 1; int fibo; do { fibo = ant + meio; ant = meio; meio = fibo; i++; } while (i <= 5) ; System.out.println(fibo); } }
Comandos de repetio
Temos dois comandos especiais para as estruturas de
incondicionalmente. O comando continue executa a prxima iterao do lao, independente dos comandos que seriam executados na seqncia.
Comandos de repetio
public static void main(String[] args) { int i = 1; while ( i <= 10 ) { if ( i == 5 ) { break; } System.out.println(i); i++; } i = 0; while ( i < 10 ) { i++; if ( i % 2 == 0 ) { continue; } System.out.println(i); } }
Exerccios
Lista de exerccios nmero 1...