Sei sulla pagina 1di 96

Mdulo I

Introduo a Linguagem Java Bsico

Objetivos

Escrever aplicaes bsicas utilizando-se da linguagem de


programao JAVA

Para isso:

Ferramenta de programao: linguagem Java prtica: soluo de exerccios

Pr-requisitos:

Habilidade de programao em alguma linguagem blocoestruturada

Agenda

Origem, caractersticas e funcionamento, vantagens e


desvantagens

Componentes da linguagem (variveis, operadores,


expresses, comandos, controle de fluxo...)

Classes existentes em Java Exemplos e exerccios

Histria do Java
O Java uma linguagem baseada no C++ Teve incio em 1991 com a Sun Microsystem em um projeto de
codinome Green

James Gosling a chamou de Oak em homenagem a uma rvore que


via da janela de seu escritrio

Mais tarde descobriu-se que j existia uma linguagem com esse


nome

Java foi sugerido por acaso quando a equipe visitava a cafeteria


(java era o nome de uma cidade de origem de um caf importado)

Linguagem de Programao Java


Origem
o o o

Linguagem originalmente desenvolvida para eletrodomsticos, portanto, simples e portvel Projetada para ser uma linguagem com caractersticas modernas de programao Nasceu considerando a Internet como ambiente operacional (1995) Propsito geral Orientada a objetos e fortemente tipada Robusta: sem ponteiros e alocao direta de memria, tratamento de excees Concorrente

Principais caractersticas
o o o o

Plataforma Java

Funcionamento
Compilao do Fonte (.java) para bytecode da Java Virtual Machine
(JVM) Interpretao e execuo do bytecode (.class) Escreva uma vez, execute em qualquer lugar

Vantagens da linguagem Java


Facilidades para desenvolvimento de aplicaes em redes com
protocolo TCP/IP

Gerncia automtica de memria (garbage collection) Vrios fornecedores de ambientes de desenvolvimento

Portabilidade: independncia de plataforma de hardware e software


Escalabilidade: se for necessrio colocar o sistema construdo numa
mquina mais robusta, provavelmente ter java naquela mquina

Java Runtime Environment - JRE

Programa utilizado para carregar e executar aplicativos feitos


em Java

Tambm conhecido como Mquina Virtual Java ou JVM (Java


Virtual Machine)

Graas mquina virtual Java, os programas escritos em

Java podem funcionar em qualquer plataforma de hardware e software que possua uma verso da JVM

Java Development Kit - JDK

um ambiente bsico disponibilizado para o desenvolvimento


de programas em Java

Programas:

javac: compila programas fonte e gera arquivos de classe no formato de bytecode java: interpreta aplicaes escritas em Java jdb: faz depurao da execuo de aplicaes e applets Java javap: desassemblador de bytecodes javadoc: gerador de documentao HTML a partir de programas fonte Java appletviewer : carregador de applets sem usar web browsers

Java Development Kit - JDK

http://openjdk.java.net/

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Hello World
public class HelloWorldApp { public static void main(String[] args) { System.out.println("Ola Mundo"); //Exibe na tela } }

Entendendo o Hello World


Tudo em Java funciona no interior de classes A estrutura de um programa Java uma definio de
classe O ponto de entrada de uma aplicao o mtodo main
public class HelloWorldApp { public static void main(String[] args) { System.out.println("Ola Mundo"); //Exibe na tela } }

Configurao Windows

Configurao Linux

Editar arquivo /etc/bash.bashrc JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26 JAVA_HOME export PATH=$PATH:$JAVA_HOME/bin export PATH

Compilao e Execuo

Compilando
o

javac Exemplo.java

Executando
o

java Exemplo

Comentrios
De nica linha // // Exibe na tela De uma ou mais linhas /* */ /* comentrio que vai se estendendo at fechar com */

De documentao

/** */ /** Indicam que o comentrio deve ser inserido em qualquer documentao gerada automaticamente, por exemplo pelo javadoc . */

Detalhes da linguagem
Em Java as instrues terminam com ponto-e-vrgula (;) Um bloco est sempre entre chaves - { e } e constitui uma instruo
composta. Dois blocos aninhados so mostrados no exemplo: o Instrues compostas para a declarao de classe { } o Instrues que abrangem a declarao main method { } fonte, sem qualquer restrio. Os espaos em branco incluem espaos, tabulaes e novas linhas. Usados para melhorar a aparncia visual e a legibilidade do cdigo-fonte minsculas. Exemplo: TRUE != true

Os espaos em branco so permitidos entre os elementos do cdigo-

Java case-sensitive, ou seja, maisculas so diferentes de

Convenes Java

Deve ser seguido o padro utilizado pela SUN

disponvel em: http://java.sun.com/docs/codeconv/ Alguns padres importantes: o Primeira letra do Nome de Classe em MAISCULO o Nome de mtodo e pacotes inicia com MINUSCULO o Variveis e atributos com nomes Inteiros o Cada troca de palavra com letra MAISCULA o ex.: clienteJuridico o Procurar no utilizar tipos primitivos de varireis

Variveis
Declarao Nome
tipo nome [ = expresso] exemplos: int a; char c = a; int d=3, e, f=5; pode ser feita em qualquer lugar do programa Identificador vlido em Java, diferente de palavras reservadas Vlido = qualquer seqncia descritiva de caracteres de letras, nmeros, caracteres de sublinhado e smbolo de cifro No pode comear com nmero Por conveno, variveis iniciam com letra minscula

Escopo

Classe (varivel membro) Mtodo

Tipos primitivos e seus valores


Inteiros byte: 8 bits, -128 a 127

short: 16 bits, -32768 a 32767 int: 32 bits, -2147483648 a 2147483647 long: 64 bits, ... (200L - literal 200 long) Reais float: 32 bits (1f - literal 1 float; 1e+9f ) double: 64 bits (1d - literal 1 double; 47e-341d ) Caracter char (Unicode caracter): 16 bits (a - literal) Lgicos boolean (1 bit). Valores literais: { true, false }

Literais
Literais inteiros (int)
Decimais: 1 , 2, 45 Octais: 07, 010 Hexadecimais: 0xff (255) Literais de ponto flutuante decimais com frao ( double) 2.0 , 3.14159 , 314159e-05 , 314159E-05 Literais booleanos (boolean) true e false Literais de caracteres (char) Valores de 16 bits que podem ser manipulados como inteiros Par de apstrofos ( ) a Seqncia de escape ( \ ) \141 octal = \u0061 hex = a

Operador de Atribuio
A atribuio a operao que permite definir o valor de uma
varivel varivel = expressao; Exemplos de operaes de atribuio: boolean ehPrimo = true; i = 0; volume = base * (altura / 2); Em Java, vlido o encadeamento de atribuies: byte i, j, k; i = j = k = 0; equivale a: i = 0; j = 0; k = 0;

Operadores Aritmticos
Operador + * / % ++ -Significado adio subtrao multiplicao diviso resto da diviso inteira incremento unitrio decremento unitrio Exemplo x+y x-y x*y x/y x%y ++x ou y++ --x ou y--

Operadores Aritmticos
int x = 0, y; y = ++x; varivel x passar a valer 1, enquanto a varivel y receber o valor 1

int x = 0, y; y = x++; varivel x passar a valer 1, da mesma forma; mas a varivel y receber o valor 0

Operadores Relacionais
Operador == != > >= < <= Significado igual diferente maior que maior ou igual a menor que menor ou igual a Exemplo x == y x != y x>y x >= y x<y x <= y

Operadores Lgicos
Operador ! && || Significado negao (not) e lgico (and) ou lgico (or) Exemplo !a a && b a || b

Operadores Compactos

i = i + 1; qtde = qtde + 1; total = total + salario;

i += 1; qtde += 1; total += salario;

Exemplo
class ExemploOperadores { public static void main(String[] args) { String texto; texto = "ANDRE"; System.out.println("Valor: " + texto); int i = 0; i++; System.out.println("Valor System.out.println("Valor System.out.println("Valor System.out.println("Valor i: i: i: i: " " " " + + + + i); ++i); i++); i);

Expresses

Expresses avaliam o valor de uma sequncia de variveis,


valores, operadores e chamada de mtodos,

exemplos:

2 2*4 a == 3 5+2*3-a 2 * Math.sqrt(9)

Precedncia Explcita, utilizando parnteses


Implcita: multiplicao, adio, igualdade, &&, ||

Palavras Chave

Escopo de Variveis
public class ExemploEscopo { public static void main(String args[]) { // incio do Bloco 1 int i = 0; { // incio do Bloco 2 int j = 0; System.out.println(i); // dentro do escopo de i System.out.println(j); // dentro do escopo de j { // incio do Bloco 3 System.out.println(k); // ERRO, a varivel k ainda no foi declarada int k = 0; System.out.println(i); // dentro do escopo de i System.out.println(j); // dentro do escopo de j System.out.println(k); // dentro do escopo de k } // fim do Bloco 3 System.out.println(i); // dentro do escopo de i System.out.println(j); // dentro do escopo de j System.out.println(k); // ERRO, fora do escopo de k } // fim do Bloco 2 System.out.println(i); // dentro do escopo de i System.out.println(j); // ERRO, fora do escopo de j } // fim do Bloco 1 }

Escopo de Variveis
public class ExemploEscopo {

Escopo de Variveis
public class ExemploEscopo { public static void main(String args[]) { // incio do Bloco 1 int i = 0;

System.out.println(i); // dentro do escopo de i System.out.println(j); // ERRO, fora do escopo de j } // fim do Bloco 1

Escopo de Variveis
public class ExemploEscopo { public static void main(String args[]) { // incio do Bloco 1 int i = 0; { // incio do Bloco 2 int j = 0; System.out.println(i); // dentro do escopo de i

System.out.println(i); System.out.println(j); System.out.println(k); } // fim do Bloco 2 System.out.println(i); // System.out.println(j); // } // fim do Bloco 1

// dentro do escopo de i // dentro do escopo de j // ERRO, fora do escopo de k dentro do escopo de i ERRO, fora do escopo de j

Escopo de Variveis
public class ExemploEscopo { public static void main(String args[]) { // incio do Bloco 1 int i = 0; { // incio do Bloco 2 int j = 0; System.out.println(i); // dentro do escopo de i System.out.println(j); // dentro do escopo de j { // incio do Bloco 3 System.out.println(k);// ERRO varivel k no declarada int k = 0; System.out.println(i); // dentro do escopo de i System.out.println(j); // dentro do escopo de j System.out.println(k); // dentro do escopo de k } // fim do Bloco 3 System.out.println(i); // dentro do escopo de i System.out.println(j); // dentro do escopo de j System.out.println(k); // ERRO, fora do escopo de k } // fim do Bloco 2 System.out.println(i); // dentro do escopo de i System.out.println(j); // ERRO, fora do escopo de j } // fim do Bloco 1 }

Classes Wrapper
O package java.lang contm wrapper classes que correspondem a cada tipo primitivo Classes Wrapper encapsulam funes de manipulao para os
tipos primitivos

Classes Integer

Encapsula funcionalidades para o tipo primitivo int


class ExemploInteger { public static void main(String[] args) { Integer intObj1 = new Integer(10); Integer intObj2 = new Integer("10"); int valor = Integer.valueOf("10"); } }

A classe String
Representa qualquer seqncia de caracteres Operador:
Valores: exemplo de valor literal string String nome = Joo da Silva; nome.toUpperCase(); // mensagem para objeto nome. + (concatenao) nome = nome + sauro;

Observaes

Strings so objetos, no so tipos primitivos, porm Java oferece facilidades de manipulao.

No necessrio importar a classe String, pois a mesma faz parte do pacote java.lang

Principais mtodos da classe String


boolean equals(String s)
o retorna true se a string igual a s boolean equalsIgnoreCase(String s) o retorna true se a string igual a s independente de maisculo/minsculo int length() o retorna o tamanho da string int indexOf(String s) o procura a s na string e retorna a posio, retorna -1 se no achou char charAt(int i) o retorna o caracter na posio i da string (comea de 0)

Literais para String


Cria um objeto para cada literal de string "Texto entre aspas duplas " "Hello World" "duas\nlinhas"
Seqn cia \ddd \uxxxx \ \ \\ \r \n \f \t \b Descrio Caracter octal Caracter UNICODE hexadecimal (xxxx) Apstrofo Aspas Barra Invertida Retorno de carro Nova linha (linefeed) Nova pgina (formfeed) Tab Backspace

Exemplo construo e comparao


class ExemploString { public static void main(String[] args) { String s1, s2, s3, s4, s5, s6; s1 = "Ol!"; s2 = "Ol!"; s3 = "ol!"; s4 = new String("Ol!"); s5 = s4; s6 = new String("Ol!"); boolean b1, b2, b3, b4, b5, b6, b7, b8, b9; b1 = s2.equals(s1); b2 = s3.equals(s1); b3 = s3.equalsIgnoreCase(s1); b4 = s4.equals(s1); b5 = (s2 == s1); b6 = (s4 == s1); b7 = (s4 == s5); b8 = (s4 == s6); b9 = s4.equals(s6); System.out.println("Resposta: " + b1 + b2 + b3 + b4 + b5 + b6 + b7 + b8 + b9); } }

Exemplo Concatenao

class ExemploConcatenacao { public static void main(String[] args) { String s1 = "Ol "; String s2 = "Mundo!"; System.out.println( s1.concat( s2 ) ); System.out.println( s1 + s2 ); }

Converso de tipos
Tipos primitivos (cast) char a; int i = (int)a; int x = (int)10L; String em nmero String piStr = "3.14159"; Float pi1 = Float.valueOf(piStr); float pi2 = Float.parseFloat(piStr); String exemplo = 35; int quantidade1 = Integer.parseInt(exemplo); Integer quantidade2 = Integer.valueOf(exemplo); Integer quantidade3 = new Integer(exemplo);

Exemplo Converso
class ExemploConversao { public static void main(String[] args) { double a = 3.1415927; int i = 123; System.out.println("a = " + String.valueOf(a)); System.out.println("i = " + String.valueOf(i)); System.out.println("a = " + a); System.out.println("i = " + i); String atxt = "3.1415927"; String itxt = "123"; a = Double.valueOf(atxt).doubleValue(); i = Integer.valueOf(itxt).intValue(); System.out.println("a = " + a); System.out.println("i = " + i); i = Integer.parseInt(itxt); System.out.println("i = " + i); } }

A classe Math
classe com diversos mtodos especializados em realizar clculos matemticos para realizar esses clculos, so utilizados os mtodos da classe Math
que devem apresentar a seguinte sintaxe: Math.<nome do mtodo>(argumentos ou lista de argumentos) No necessrio importar a classe Math, pois a mesma faz parte do pacote java.lang

Define duas constantes matemticas:


o o

Math.PI valor de pi (3,14159265358979323846) Math.E logaritmos naturais (2.7182818284590452354)

Principais mtodos da Math


ceil() arredonda um valor para cima floor() arredonda um valor para baixo max() retorna o maior valor entre dois nmeros min() retorna o menor valor entre dois nmeros sqrt() extrai a raiz quadrada de um nmero. pow() retorna o quadrado de um nmero random() retorna um valor aleatrio do tipo double entre 0.0 e 1.0 (o
valor 1 nunca sorteado)

Mtodo ceil()
Tem como funo realizar o arredondamento de um nmero do tipo
double para o seu prximo inteiro (arredonda para cima) o Math.ceil(<valor do tipo double>)
class ExemploCeil { public static void main(String[] args) { double A=5.2,B=5.6,C=-5.8; System.out.println("Arredondando 5.2 = " + Math.ceil(A)); System.out.println("Arredondando 5.6 = " + Math.ceil(B)); System.out.println("Arredondando -5.8 = " + Math.ceil(C)); } }

Sua sintaxe a seguinte:

Mtodo floor()
Tem como funo realizar o arredondamento de um nmero do tipo
double para o seu prximo inteiro (arredonda para baixo)

Sua sintaxe a seguinte:


class ExemploFloor {

o Math.floor(<valor do tipo double>)

public static void main(String[] args) { double A=5.2,B=5.6,C=-5.8; System.out.println("Arredondando 5.2 = " + Math.floor(A)); System.out.println("Arredondando 5.6 = " + Math.floor(B)); System.out.println("Arredondando -5.8 = " + Math.floor(C)); } }

Mtodo max()
Utilizado para verificar o maior valor entre dois nmeros, que podem
ser do tipo double, float, int ou long

A sua sintaxe a seguinte:


o
class ExemploMax {

Math.max(<valor1>,<valor2>);

public static void main(String[] args) { double A=5.2, B=5.6, C=-5.8; int A=10 ,B=15; double C=-5.9,D=-4.5; System.out.println("O maior entre 10 e 15: " + Math.max(A,B)); System.out.println("O maior entre -5.9 e -4.5: " + Math.max(C,D)); System.out.println("O maior entre 10 e -5.9: " + Math.max(A,C)); } }

Mtodo min()
Utilizado para verificar o menor valor entre dois nmeros, que podem
ser do tipo double, float, int ou long o Math.max(<valor1>,<valor2>);
class ExemploMin { public static void main(String[] args) { double A=5.2, B=5.6, C=-5.8; int A=10 ,B=15; double C=-5.9,D=-4.5; System.out.println("O menor entre 10 e 15: " + Math.min(A,B)); System.out.println("O menor entre -5.9 e -4.5: " + Math.min(C,D)); System.out.println("O menor entre 10 e -5.9: " + Math.min(A,C)); } }

A sua sintaxe a seguinte:

Mtodo sqrt()
Utilizado para calcular a raiz quadrada de um nmero A sua sintaxe a seguinte:
o

Math.sqrt(<valor do tipo double>);

class ExemploSqrt { public static void main(String[] args) { double A=900,B=30.25; System.out.println("A raiz quadrada de 900: " + Math.sqrt(A)); System.out.println("A raiz quadrada de 30.25: " + Math.sqrt(B)); } }

Mtodo pow()
Utilizado para calcular o valor elevado de um nmero A sua sintaxe a seguinte:
o

Math.pow(<valor da base>, <valor da potncia>);

class ExemploPow { public static void main(String[] args) { double base=5.5, potencia=2; System.out.println("5.5 elevado a 2: " + Math.pow(base,potencia)); System.out.println("25 elevado a 0.5: " + Math.pow(25,.5)); } }

Mtodo random()
Utilizado para gerar valores de forma aleatria Toda vez que o mtodo random chamado, ser sorteado um valor do
tipo double entre 0.0 e 1.0 (o valor 1 nunca sorteado) utilizar o operador de multiplicao flutuante para um nmero inteiro

Para simular o sorteio de nmeros entre outros intervalos preciso O conversor (int) tambm pode ser usado para truncar a parte do ponto

Exemplo mtodo random()

class ExemploRandom { public static void main(String[] args) { int num = (int) (Math.random() * 99); System.out.print(num+" "); } }

Scanner

classe que fornece mtodos para ler valores de entrada de


vrios tipos

um objeto Scanner pode ser usado para ler a entrada de

diversas origens, incluindo a digitao de valores do teclado

a entrada do teclado representada pelo objeto System.in parte da biblioteca java.util, que deve ser importada no
programa para ser usada

Principais mtodos
nextLine() l todas as entradas at que o fim-de-linha seja encontrado next() l o prximo token de entrada e o retorna como um string (tabs, espao em branco, finalizam as entradas)

nextInt() l uma entrada do tipo Inteiro nextDouble() l uma entrada do tipo double

Exemplo Scanner
import java.util.Scanner; class ExemploScanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Nota do 1o.: "); float nota1 = sc.nextFloat(); System.out.println("Nota do 2o.: "); float nota2 = sc.nextFloat(); float media = (nota1 + nota2) / 2; System.out.println("A mdia : "+media); } }

NumberFormat e DecimalFormat

Classes que fornecem capacidades de formatao de valores


numricos

NumberFormat
porcentagens padro

permite formatar valores como moedas ou

DecimalFormat permite formatar valores baseados em um Ambas esto no package


java.text

Principais mtodos NumberFormat

getNumberInstance() retorna a instncia de um objeto com


base no formato da localidade padro. utilizado para nmeros

getCurrencyInstance() usado para formatar moedas getIntegerInstance() usado para formatar nmeros ignorando
casas decimais

getPercentInstance() usado para formatar fraes, por


exemplo 0,15 formatado e mostrado como 15%

Exemplo NumberFormat
import java.text.*; class ExemploNumberFormat { public static void main(String[] args) { System.out.println( NumberFormat.getCurrencyInstance(). format(12345678.90)); NumberFormat z = NumberFormat.getCurrencyInstance(); System.out.println(z.format(9.50)); } }

Classe DecimalFormat
Caracterer # Definio Local reservado para um dgito. Ignorado se o nmero que est sendo formatado no contm um dgito para colocar nessa posio Local reservado para um dgito. Se o nmero que est sendo formatado no contm um dgito para colocar nessa posio, um zero ser colocado separador decimal separador de agrupamento Indicador de um padro porcentagem. Se estiver presente, o formatador ir dividir o nmero por 100 e mostrar o smbolo de porcentagem Separa padres Formatarar positivos e negativos

. , %

Exemplo DecimalFormat
import java.text.*; class ExemploDecimalFormat { public static void main(String[] args) { double valor = 2000.0; double vezes = 3.0; double prestacao = valor/vezes; DecimalFormat df = new DecimalFormat("0.##"); String dx = df.format(prestacao); System.out.print(dx); } }

Exerccios listagem 1

Classe Date (java.util.Date)

Classe para armazenar a data e a hora Internamente ela tratada como um long que o
numero de milissegundos que se passou desde 01/01/1970 trabalharem direito com internacionalizao

Muitos de seus mtodos esto deprecated por no

Classe Date

Data e hora atual:


o

o Date dataAtual = new Date(); Date dataAtual = new Date(11111111l);

Data e hora com base em milisegundos: Todos os outros construtores so deprecated boolean after(date) e boolean before(date) so usados para
comparao entre datas

Classe Calendar (java.util.Calendar)

Classe abstrata, mais avanada que o Date; Deve ser instanciada usando o mtodo getInstance(); o Calendar cal = Calendar.getInstance();
Pode ser alimentada de duas maneiras: o cal.set(ano, mes, dia);

o cal.setTime(new Date());

Classe Calendar (java.util.Calendar)


Ainda podemos setar data e hora o cal.set(ano, mes, dia, hora, minuto);

o cal.set(ano, mes, dia, hora, minuto, segundo);

Podemos manipular a data aumentando ou diminuindo dias atravs do mtodo add

o cal.add(Calendar.DAY, 10); //aumenta 10 dias

Classe Calendar (java.util.Calendar)

Constantes utilizadas para manipular a data: Dia: o Calendar.DAY_OF_MONTH


o Calendar.DAY_OF_WEEK o Calendar.DAY_OF_YEAR
Ms: o Calendar.MONTH Ano: o Calendar.YEAR

Classe Calendar (java.util.Calendar)

Constantes utilizadas para manipular a data: Hora: o Calendar.HOUR


o Calendar.HOUR_OF_DAY
Segundos: o Calendar.SECOND

Exemplo
import java.util.Calendar; import java.util.Date; class ExemploDecimalFormat { public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.setTime(new Date()); c.add(Calendar.DAY_OF_YEAR, 5);// adiciona 5 dias c.add(Calendar.MONTH, 1);// adiciona 1 ms c.add(Calendar.YEAR, 2);// adciona 2 anos c.add(Calendar.YEAR, -1);// diminui 1 anos } }

Classe DateFormat

Classe utilizada para formatar a sada de uma data Pode ser utilizada internacionalizao com Locale para formatar a sada da data

Classe DateFormat

Podemos utilizar vrios formatos de sada:


o DateFormat.SHORT (10/04/12) o DateFormat.MEDIUM (10/04/2012) o DateFormat.LONG (10 de Abril de 2012) o DateFormat.FULL (Tera-feira, 10 de Abril de 2012)

Classe SimpleDateFormat

Formatao personalizada de data Classe que extende um DateFormat Recebe como parmetro o formato a ser exibido setLenient(false) usado para validao do contedo

Classe SimpleDateFormat

Classe SimpleDateFormat

Para personalizar o idioma devemos usar um Locale


Date hoje = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("E dd ", new Locale("pt", "br")); System.out.println(sdf.format(hoje)); DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, new Locale("pt", "br")); System.out.println(df.format(hoje));

Classe SimpleDateFormat

Ainda podemos converter uma String em um Date

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); try { Date d = df.parse("25/03/2010"); System.out.println( df.format(d)); } catch (ParseException ex) { ex.printStackTrace(); }

Estruturas de Controle

Estrutura if

Estrutura if - else

Estrutura if - else aninhado

Exemplo
import java.util.Scanner; public class ExemploMedia { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Fornea a nota do 1o. Bimestre: "); float nota1 = sc.nextFloat(); System.out.println("Fornea a nota do 2o. Bimestre: "); float nota2 = sc.nextFloat(); float media = (nota1 + nota2) / 2; System.out.println("O aluno foi: "); if (media >= 7.0) System.out.println(media + ", aprovado."); else if (media < 4.0) System.out.println(media + ", reprovado."); else System.out.println(media + ", em exame.");

Estrutura switch

Exemplo
import java.util.Scanner; public class ExemploSwitch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Digite uma opo"); System.out.println("A - alterao"); System.out.println("I - incluso"); System.out.println("E - excluso"); char opcao; opcao = sc.next().charAt(0); switch (opcao) { case 'a': case 'A': System.out.println("Alterao"); break; case 'i': case 'I': System.out.println("Incluso"); break; case 'e': case 'E': System.out.println("Excluso"); break; default: System.out.println("Opo invlida !"); } } }

Exerccios listagem 2

Estrutura for

Exemplo

import java.util.Scanner; public class ExemploFor { public static void main(String[] args) { System.out.println("Informe um numero inteiro:"); Scanner sc = new Scanner("System.ini"); int n = sc.nextInt(); for (int i = 1; i <= 10; i++) { System.out.println(i + " * " + n + " = " + (i * n)); }

Exemplo Pares
class ExemploPares { public static void main(String[] args) { for (int i=0; i<100; i++) { if ((i % 2) == 0) { System.out.println(i); } } } }

Estrutura while

Exemplo
public class ExemploWhile { public static void main(String[] args) { int cont = 1; int soma = 0; while (cont <= 10) { soma += cont; cont ++; } System.out.println("A soma :" + soma); } }

Estrutura do while

Exemplo
public class ExemploDoWhile { public static void main(String[] args) { int cont = 1; int soma = 0; do { soma += cont; cont++; } while (cont <= 10); System.out.println("A soma :" + soma); }

Garbage Collector
Quando um objeto deixa de possuir referncias vlidas para ele, ele
no pode ser mais acessado pelo programa

o objeto intil, e portanto chamado de lixo (garbage) Java realiza periodicamente a coleta de lixo automtica, retornando
uma memria de objeto para o sistema para uso futuro coleta de lixo

Em outras linguagens, o programador responsvel por realizar a System.gc();

Exerccios listagem 3

Referncias
Core Java 2 - Volume 1 - Fundamentos, GARY CORNELL & CAY
S. HORSTMANN, Makron Books, 2000 Prentice-Hall, 2005

Java: Como Programar. HARVEY M. DEITEL & PAUL J. DEITEL, Use a Cabea! Java. Kathy Sierra & Bert Bates, Alta Books, 2007

Crditos
Esse material foi elaborado por: Andr Luiz Forchesatto

o skype: andre_unoesc o e-mail: andre.forchesatto@unoesc.edu.br o twitter: @forchesatto o skype: cristiano.agosti o e-mail: cristiano.agosti@unoesc.edu.br o twitter: @agosti
Esse material pode ser publicamente distribudo, desde que seu contedo no seja alterado e que seus crditos sejam mantidos. Ele no pode ser usado para ministrar qualquer outro curso, porm pode ser utilizado como referncia e material de apoio.

Cristiano Agosti

Potrebbero piacerti anche