SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições

1. Introdução

Até agora temos introduzido directamente os dados directamente no código. Para aprendizagem
de manipulação de dados faz sentido, mais é a forma mais “matreca” de fazer leitura de dados.
Tipicamente a leitura pode ser feita de um ficheiro, de uma base de dados ou ainda do teclado.

Para que os programas tenham utilidade e versatilidade é necessário que o utilizador possa
fornecer dados e que o programa possa manipular esses dados introduzidos. Já vimos que temos
as seguintes opções para imprimir na tela:
System.out.println() e System.out.print(). Sendo que a unica diferenca entre os
statements esta no facto de no primeiro caso o curso desce uma linha e segundo mantém na
mesma linha.

E até agora já vimos os seguintes tipos de statements :
    1. Output
    2. Matemática

Agora, vamos ver mais dois:
  1. Input;
  2. Condição


2. Entrada de Dados

Até agora somente escrevemos programas que fazem output (saída de dados), concretamente na
forma de texto escrito na consola, através de chamar o método System.out.println. Mas
qualquer programa sério precisa também de receber input (entrada de dados) de uma variedade
de fontes: a consola, um ficheiro, base de dados ou uma conexão da rede etc. Infelizmente,
receber input é algo que é meio complicado para um novato em Java, por isso aproveitaremos
de uma classe “ajudante” para facilitar as novas vidas.

Trata-se da classe InputReader, que, conforme o nome indica, “facilita a leitura” de dados.
Para aprender o uso desta classe, naturalmente começamos com o Javadoc dele, que o professor
vai disponibilizar.

Vamos aprender a usar a classe durante as aulas práticas, mais por enquanto note os seguintes
pontos:
   1. O bytecode tem que estar na mesma pasta que contém as mesmas classes que o aluno
        estiver a programar de modo que esta classe esteja disponível para uso no código.
   2. Não pode ser instanciada, ou seja não se cria um objecto desta classe simplesmente
        invocamos o método usando directamente a classe tal como na classe Math.
                //Lê do teclado um caracterer
                char letra = InputReader.readChar();

   3. Note bem que este método pode travar a execução do programa. Ou seja, ele esperará,
      com a paciência infinita do computador, até que o utilizador digite algo e bata na tecla
      “ENTER”. Se o utilizador não fazer isto, o programa ficará parado nesta linha durante
      milhões de anos.




                                                1
Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições




   Veja então um exemplo concreto:

   Exemplo 1

   Escreva um programa em Java que recebe o nome e idade lidos do teclado e imprime os na
   consola.
public class EntradaDeDados {

       public static void main(String[] args){

               //Coloco uma mensagem bonita para comunicação com o utilizador
               System.out.print("Escreva o seu primeiro nome: ");
               String nome = InputReader.readString();


               System.out.print("Escreva a sua idade: ");
               int idade = InputReader.readInt();

               //Imprime na consola o que foi introduzido
               System.out.println("O seu nome é "+nome+" e voce tem "+idade+"
anos");

       }

   }




3. Blocos e Escopo

Um bloco em Java é qualquer conjunto de linhas que são embrulhadas por chavetas { }. Já
vimos um uso de blocos – o corpo do método main() é sempre formado por um único bloco –
mas durante a cadeira encontraremos muitos outros usos. Todos os blocos compartilham uma
característica extremamente importante – eles restringem o escopo de variáveis declarado por
dentro deles.

Escopo é o “universo visível” para uma variável. É um pouco parecido com a situação de
identificar uma pessoa dentro de diferentes contextos sociais. Por exemplo, imagine que você
tem um irmão chamado José, e também um colega com o mesmo nome. Agora dentro da tua
família, se alguém falar de “José”, será óbvio a quem está a referir. Mas quando estas na
faculdade, não será tão fácil! Provavelmente, você usará teu julgamento para perceber de qual
José estão a falar. Mas finalmente, imagine que um “Madjonedjone” encontra te na estrada e
fala “Heyta, ma brother, quero falar com Zé”. Pode ser qualquer um dos milhares dos Josés na
cidade de Maputo com quem ele precisa de “bater o papo”.

Então em Java, temos algo parecido. A regra que já aprendemos que proíbe declarar duas
variáveis com o mesmo nome de facto não é a história inteira! Na realidade, quando uma
variável é definido dentro de um bloco, e a outra não, é possível. Isto é por causa de uma outra
regra:
Uma variável definida dentro de um bloco não é visível fora deste bloco. Quando o bloco em
questão é o corpo de um método, esta variável é chamado uma variável local.


                                               2
Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições


Voltamos atacar este assunto de visibilidade de variáveis quando estivermos a ver os métodos.

4. Condição

Um aspecto fundamental da programação é executar um ou mais statements mediante uma
condição. Para fazer isto em Java existe várias soluções sendo a mais simples dela o if.
Basicamente o if funciona de uma maneira muito simples:
       if(condição)
       {
            bloco
       }


Ou seja:
   Se uma dada condição for verdadeira, executa o bloco delimitado pelas chavetas a
   seguir. Caso contrário, salta para o primeiro statement após o bloco.

Veja o exemplo abaixo:
Escreva um programa em Java que pega o nome do filme, a idade do comprador, preço inicial
do filme e imprime o preço baseado na idade do comprador. Se a idade estiver abaixo de 12
desconto 15%.

public class Filmes {

       /**
        * @param args
        */
       public static void main(String[] args) {
             //1. Obter o nome do filme, preço normal e a idade de comprador
             System.out.print("Introduza o titlo do filme:");
             String nomeDoFilme = InputReader.readString();

               System.out.print("Introduza a idade do comprador:");
               int idadeDoComprador = InputReader.readInt();

               System.out.print("Introduza o preço inicial do filme:");
               double precoDoFilme = InputReader.readDouble();

               if(idadeDoComprador < 12)
               {
                     //2.calcula o preço do filme
                     System.out.println("Aplicando descconto de 15%");
                     precoDoFilme = precoDoFilme * 0.85;
               }

            //3. Imprima na consola o preço final do filme
            System.out.println("O filme "+nomeDoFilme+" custa apenas
"+precoDoFilme+" MT");

       }

}
Nas secções a seguir, veremos todos os detalhes de como preparar a parte mais importante desta
estrutura, a condição.


                                              3
Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições

5. Criando Condições Com Operadores E Expressões booleanos

Uma condição é nada mais de uma expressão que devolve um valor booleano. Ou seja, somente
pode ser verdadeira ou falsa – ou em Java, true ou false. Para criar uma tal expressão, basta
usar um dos seis operadores de comparação(VEJA NA FICHA TEORICA 4 os operadores
lógicos e de comparação)

Veja o exemplo abaixo:

int a = 3, b = 5;

if(a != b) //correcto - ambos operandos são int
{
      System.out.println("a é diferente de b");
}

if(a > 4.0) //correcto - ambos operandos são numéricos
{
    System.out.println("a é maior de 4");
}

if(b < "8") //ERRADO - um operador é numérico mas o outro é String
{
    System.out.println("b é menor de 8");
}

6. Guardando O Resultado De Expressões boolean Em Variáveis

Tal como o resultado de qualquer outro cálculo, é possível guardar o valor de uma expressão
booleana para reutiliza-lo mas tarde no programa. Tem que se definir uma variável do tipo
boolean. Esta variável somente pode conter true ou false. Veja o exemplo abaixo:


int idade = 11;

boolean podeVerFilme = idade > 17;

if(!podeVerFilme)
{
    System.out.println("Es jóvem demais - vai lá tomar sorvete!");
}




                                              4
Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições


7. O Escopo De Um Bloco if

Tal como aprendemos na aula passada, uma variável declarada dentro de um bloco não é visível
fora do bloco. Esta regra aplica igualmente também ao bloco que segue a uma condição if.

Veja o exemplo abaixo:

int idade = 11;
boolean podeVerFilme = idade > 17;

if(!podeVerFilme)
{
  //na linha abaixo, a variável idade é perfeitamente visível
  String mensagem = "Tens " + idade + " anos. Es jovem - vai tomar sorvete!";
}

System.out.println(mensagem);         //ERRO: aqui a variável mensagem é invisível


8 . Desafios

Desafio 1

Escreva um programa em Java que lê um numero inteiro do teclado e imprime o a raiz cúbica
deste numero se o mesmo for par.

Desafio 2

Escreva um programa em Java que lê dois números reais do teclado e imprime na tela somente
o Maior numero entre os dois.




                                               5
Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições




Glossário
bloco: um secção de código, consistindo em um ou mais statements, isolado do resto por
chavetas – { no inicio e } no fim.

escopo: o “universo de visibilidade” ou “alcance” de uma certa variável. Tipicamente, o
escopo de um statement é definido pelo bloco em que ela está definida.

fluxo de controle: a sequência de execução dos statements num programa – tipicamente, esta
não corresponde à simples ordem em que o statements aparecem no código do programa.

variável local: uma variável definido dentro do corpo de um método, que não é visível fora do
escopo daquele bloco, e “morre” uma vez que o método termina execução.

boolean:   um tipo para variáveis e expressões que somente pode conter o valor true ou o valor
false

condição: uma expressão que produz um valor do tipo boolean


if: uma palavra-chave de controle do fluxo, que testa uma certa condição, e se for verdade,
executa o bloco imediatemente a seguir

input/output: os termos em inglês (e programação) para entrada/saída de dados – as vezes
abreviadas simplesmente: I/O.




                                               6

Weitere ähnliche Inhalte

Was ist angesagt?

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java III
Verônica Veiga
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
Regis Magalhães
 

Was ist angesagt? (20)

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java12
Java12Java12
Java12
 
Curso Java I
Curso Java ICurso Java I
Curso Java I
 
Fascículo1java
Fascículo1javaFascículo1java
Fascículo1java
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java III
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Java Day 2011 - Reflection: Maximizando a produtividade em Java
Java Day 2011 - Reflection: Maximizando a produtividade em JavaJava Day 2011 - Reflection: Maximizando a produtividade em Java
Java Day 2011 - Reflection: Maximizando a produtividade em Java
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Introdução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIIntrodução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection API
 
01 java fundamentos
01 java fundamentos01 java fundamentos
01 java fundamentos
 
Java primeiros-passos
Java primeiros-passosJava primeiros-passos
Java primeiros-passos
 
Java
JavaJava
Java
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova
 
Pacotes -organizando_suas_classes_e_bibliotecas
Pacotes  -organizando_suas_classes_e_bibliotecasPacotes  -organizando_suas_classes_e_bibliotecas
Pacotes -organizando_suas_classes_e_bibliotecas
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 

Ähnlich wie Ficha teorica aula_input_reader

Crackeando aplicativos no android _by c0_m3nd4d0r
Crackeando aplicativos no android  _by c0_m3nd4d0rCrackeando aplicativos no android  _by c0_m3nd4d0r
Crackeando aplicativos no android _by c0_m3nd4d0r
nunes666
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
biandamakengo08
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
PeslPinguim
 

Ähnlich wie Ficha teorica aula_input_reader (20)

Crackeando aplicativos no android _by c0_m3nd4d0r
Crackeando aplicativos no android  _by c0_m3nd4d0rCrackeando aplicativos no android  _by c0_m3nd4d0r
Crackeando aplicativos no android _by c0_m3nd4d0r
 
Java1
Java1Java1
Java1
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
 
ptt
pttptt
ptt
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Apostila java
Apostila javaApostila java
Apostila java
 
Aula 1
Aula 1Aula 1
Aula 1
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Tutorial instalacão java
Tutorial instalacão javaTutorial instalacão java
Tutorial instalacão java
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
ALGEBRA 06 - Tipos Primitivos de Dados.ppt
ALGEBRA 06 - Tipos Primitivos de Dados.pptALGEBRA 06 - Tipos Primitivos de Dados.ppt
ALGEBRA 06 - Tipos Primitivos de Dados.ppt
 
Tutorial java
Tutorial javaTutorial java
Tutorial java
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Basico dovba excel_tutorial1
Basico dovba excel_tutorial1Basico dovba excel_tutorial1
Basico dovba excel_tutorial1
 

Mehr von Portal_do_Estudante_Java (11)

Tutorial java
Tutorial javaTutorial java
Tutorial java
 
String tokenizer
String tokenizerString tokenizer
String tokenizer
 
Series lab
Series labSeries lab
Series lab
 
Ficheiros texto
Ficheiros textoFicheiros texto
Ficheiros texto
 
String
StringString
String
 
Programacao em java
Programacao em javaProgramacao em java
Programacao em java
 
Javacodingstandardssummary
JavacodingstandardssummaryJavacodingstandardssummary
Javacodingstandardssummary
 
Javacodingstandards
JavacodingstandardsJavacodingstandards
Javacodingstandards
 
A linguagem java
A linguagem javaA linguagem java
A linguagem java
 
52 java
52 java52 java
52 java
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
 

Ficha teorica aula_input_reader

  • 1. Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições 1. Introdução Até agora temos introduzido directamente os dados directamente no código. Para aprendizagem de manipulação de dados faz sentido, mais é a forma mais “matreca” de fazer leitura de dados. Tipicamente a leitura pode ser feita de um ficheiro, de uma base de dados ou ainda do teclado. Para que os programas tenham utilidade e versatilidade é necessário que o utilizador possa fornecer dados e que o programa possa manipular esses dados introduzidos. Já vimos que temos as seguintes opções para imprimir na tela: System.out.println() e System.out.print(). Sendo que a unica diferenca entre os statements esta no facto de no primeiro caso o curso desce uma linha e segundo mantém na mesma linha. E até agora já vimos os seguintes tipos de statements : 1. Output 2. Matemática Agora, vamos ver mais dois: 1. Input; 2. Condição 2. Entrada de Dados Até agora somente escrevemos programas que fazem output (saída de dados), concretamente na forma de texto escrito na consola, através de chamar o método System.out.println. Mas qualquer programa sério precisa também de receber input (entrada de dados) de uma variedade de fontes: a consola, um ficheiro, base de dados ou uma conexão da rede etc. Infelizmente, receber input é algo que é meio complicado para um novato em Java, por isso aproveitaremos de uma classe “ajudante” para facilitar as novas vidas. Trata-se da classe InputReader, que, conforme o nome indica, “facilita a leitura” de dados. Para aprender o uso desta classe, naturalmente começamos com o Javadoc dele, que o professor vai disponibilizar. Vamos aprender a usar a classe durante as aulas práticas, mais por enquanto note os seguintes pontos: 1. O bytecode tem que estar na mesma pasta que contém as mesmas classes que o aluno estiver a programar de modo que esta classe esteja disponível para uso no código. 2. Não pode ser instanciada, ou seja não se cria um objecto desta classe simplesmente invocamos o método usando directamente a classe tal como na classe Math. //Lê do teclado um caracterer char letra = InputReader.readChar(); 3. Note bem que este método pode travar a execução do programa. Ou seja, ele esperará, com a paciência infinita do computador, até que o utilizador digite algo e bata na tecla “ENTER”. Se o utilizador não fazer isto, o programa ficará parado nesta linha durante milhões de anos. 1
  • 2. Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições Veja então um exemplo concreto: Exemplo 1 Escreva um programa em Java que recebe o nome e idade lidos do teclado e imprime os na consola. public class EntradaDeDados { public static void main(String[] args){ //Coloco uma mensagem bonita para comunicação com o utilizador System.out.print("Escreva o seu primeiro nome: "); String nome = InputReader.readString(); System.out.print("Escreva a sua idade: "); int idade = InputReader.readInt(); //Imprime na consola o que foi introduzido System.out.println("O seu nome é "+nome+" e voce tem "+idade+" anos"); } } 3. Blocos e Escopo Um bloco em Java é qualquer conjunto de linhas que são embrulhadas por chavetas { }. Já vimos um uso de blocos – o corpo do método main() é sempre formado por um único bloco – mas durante a cadeira encontraremos muitos outros usos. Todos os blocos compartilham uma característica extremamente importante – eles restringem o escopo de variáveis declarado por dentro deles. Escopo é o “universo visível” para uma variável. É um pouco parecido com a situação de identificar uma pessoa dentro de diferentes contextos sociais. Por exemplo, imagine que você tem um irmão chamado José, e também um colega com o mesmo nome. Agora dentro da tua família, se alguém falar de “José”, será óbvio a quem está a referir. Mas quando estas na faculdade, não será tão fácil! Provavelmente, você usará teu julgamento para perceber de qual José estão a falar. Mas finalmente, imagine que um “Madjonedjone” encontra te na estrada e fala “Heyta, ma brother, quero falar com Zé”. Pode ser qualquer um dos milhares dos Josés na cidade de Maputo com quem ele precisa de “bater o papo”. Então em Java, temos algo parecido. A regra que já aprendemos que proíbe declarar duas variáveis com o mesmo nome de facto não é a história inteira! Na realidade, quando uma variável é definido dentro de um bloco, e a outra não, é possível. Isto é por causa de uma outra regra: Uma variável definida dentro de um bloco não é visível fora deste bloco. Quando o bloco em questão é o corpo de um método, esta variável é chamado uma variável local. 2
  • 3. Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições Voltamos atacar este assunto de visibilidade de variáveis quando estivermos a ver os métodos. 4. Condição Um aspecto fundamental da programação é executar um ou mais statements mediante uma condição. Para fazer isto em Java existe várias soluções sendo a mais simples dela o if. Basicamente o if funciona de uma maneira muito simples: if(condição) { bloco } Ou seja: Se uma dada condição for verdadeira, executa o bloco delimitado pelas chavetas a seguir. Caso contrário, salta para o primeiro statement após o bloco. Veja o exemplo abaixo: Escreva um programa em Java que pega o nome do filme, a idade do comprador, preço inicial do filme e imprime o preço baseado na idade do comprador. Se a idade estiver abaixo de 12 desconto 15%. public class Filmes { /** * @param args */ public static void main(String[] args) { //1. Obter o nome do filme, preço normal e a idade de comprador System.out.print("Introduza o titlo do filme:"); String nomeDoFilme = InputReader.readString(); System.out.print("Introduza a idade do comprador:"); int idadeDoComprador = InputReader.readInt(); System.out.print("Introduza o preço inicial do filme:"); double precoDoFilme = InputReader.readDouble(); if(idadeDoComprador < 12) { //2.calcula o preço do filme System.out.println("Aplicando descconto de 15%"); precoDoFilme = precoDoFilme * 0.85; } //3. Imprima na consola o preço final do filme System.out.println("O filme "+nomeDoFilme+" custa apenas "+precoDoFilme+" MT"); } } Nas secções a seguir, veremos todos os detalhes de como preparar a parte mais importante desta estrutura, a condição. 3
  • 4. Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições 5. Criando Condições Com Operadores E Expressões booleanos Uma condição é nada mais de uma expressão que devolve um valor booleano. Ou seja, somente pode ser verdadeira ou falsa – ou em Java, true ou false. Para criar uma tal expressão, basta usar um dos seis operadores de comparação(VEJA NA FICHA TEORICA 4 os operadores lógicos e de comparação) Veja o exemplo abaixo: int a = 3, b = 5; if(a != b) //correcto - ambos operandos são int { System.out.println("a é diferente de b"); } if(a > 4.0) //correcto - ambos operandos são numéricos { System.out.println("a é maior de 4"); } if(b < "8") //ERRADO - um operador é numérico mas o outro é String { System.out.println("b é menor de 8"); } 6. Guardando O Resultado De Expressões boolean Em Variáveis Tal como o resultado de qualquer outro cálculo, é possível guardar o valor de uma expressão booleana para reutiliza-lo mas tarde no programa. Tem que se definir uma variável do tipo boolean. Esta variável somente pode conter true ou false. Veja o exemplo abaixo: int idade = 11; boolean podeVerFilme = idade > 17; if(!podeVerFilme) { System.out.println("Es jóvem demais - vai lá tomar sorvete!"); } 4
  • 5. Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições 7. O Escopo De Um Bloco if Tal como aprendemos na aula passada, uma variável declarada dentro de um bloco não é visível fora do bloco. Esta regra aplica igualmente também ao bloco que segue a uma condição if. Veja o exemplo abaixo: int idade = 11; boolean podeVerFilme = idade > 17; if(!podeVerFilme) { //na linha abaixo, a variável idade é perfeitamente visível String mensagem = "Tens " + idade + " anos. Es jovem - vai tomar sorvete!"; } System.out.println(mensagem); //ERRO: aqui a variável mensagem é invisível 8 . Desafios Desafio 1 Escreva um programa em Java que lê um numero inteiro do teclado e imprime o a raiz cúbica deste numero se o mesmo for par. Desafio 2 Escreva um programa em Java que lê dois números reais do teclado e imprime na tela somente o Maior numero entre os dois. 5
  • 6. Programação I – Java: Inteiração com Utilizador, Blocos e Escopos e Condições Glossário bloco: um secção de código, consistindo em um ou mais statements, isolado do resto por chavetas – { no inicio e } no fim. escopo: o “universo de visibilidade” ou “alcance” de uma certa variável. Tipicamente, o escopo de um statement é definido pelo bloco em que ela está definida. fluxo de controle: a sequência de execução dos statements num programa – tipicamente, esta não corresponde à simples ordem em que o statements aparecem no código do programa. variável local: uma variável definido dentro do corpo de um método, que não é visível fora do escopo daquele bloco, e “morre” uma vez que o método termina execução. boolean: um tipo para variáveis e expressões que somente pode conter o valor true ou o valor false condição: uma expressão que produz um valor do tipo boolean if: uma palavra-chave de controle do fluxo, que testa uma certa condição, e se for verdade, executa o bloco imediatemente a seguir input/output: os termos em inglês (e programação) para entrada/saída de dados – as vezes abreviadas simplesmente: I/O. 6