• Nenhum resultado encontrado

O tipo boolean representa os valores verdadeiro/falso. Java define os valores ver- dadeiro e falso usando as palavras reservadas true e false. Logo, uma variável ou expressão de tipo boolean terá um desses dois valores.

Aqui está um programa que demonstra o tipo boolean:

// Demonstra valores booleanos. class BoolDemo {

public static void main(String[] args) { boolean b;

b = false;

System.out.println("b is " + b); b = true;

System.out.println("b is " + b);

// um valor booleano pode controlar a instrução if if(b) System.out.println("This is executed.");

b = false;

if(b) System.out.println("This is not executed.");

// o resultado de um operador relacional é um valor booleano System.out.println("10 > 9 is " + (10 > 9));

} }

A saída gerada por esse programa é mostrada abaixo:

b is false b is true

This is executed. 10 > 9 is true

Três fatos interessantes se destacam nesse programa. Em primeiro lugar, como você pode ver, quando um valor boolean é exibido por println( ), a palavra “true” ou “false” é usada. Em segundo lugar, o valor de uma variável boolean é suficien- te para controlar a instrução if. Não há necessidade de escrever uma instrução if como esta:

if(b == true) ...

Em terceiro lugar, o resultado de um operador relacional, como <, é um valor boolean. Portanto, a expressão 10 > 9 exibe o valor “true”. Além disso, o conjunto de parênteses adicional delimitando 10 > 9 é necessário porque o operador + tem prece-

dência maior do que >. Quando um operador tem precedência maior do que o outro,

ele é avaliado antes deste em uma expressão.

Verificação do progresso

1. Quais são os tipos inteiros Java? 2. O que é Unicode?

3. Que valores uma variável boolean pode ter?

Respostas:

1. Os tipos inteiros Java são byte, short, int e long.

2. Unicode é um conjunto de caracteres internacional e multilíngue. 3. As variáveis de tipo boolean podem ser true ou false.

TENTE ISTO 2-1

Qual é a distância do relâmpago?

Sound.java

Neste projeto, você criará um programa que calcula a que distância, em pés, um ouvinte está da queda de um relâmpago. O som viaja a aproximadamente 1.100 pés por segundo pelo ar. Logo, conhecer o intervalo entre o momento em que você viu um relâmpago e o momento em que o som o alcançou lhe permitirá calcular a distância do relâmpago. Para este projeto, considere que o intervalo seja de 7,2 segundos.

LITERAIS

Em Java, os literais são valores fixos representados em sua forma legível por huma- nos. Por exemplo, o número 100 é um literal. Normalmente os literais também são chamados de constantes. Quase sempre, os literais, e sua aplicação, são tão intuitivos

PASSO A PASSO

1. Crie um novo arquivo chamado Sound.java.

2. Para calcular a distância, você terá que usar valores de ponto flutuante. Por quê? Porque o intervalo de tempo, 7,2, tem um componente fracioná- rio. Embora pudéssemos usar um valor de tipo float, usaremos double no exemplo.

3. Para calcular a distância, você multiplicará 7,2 por 1.100. Em seguida, atri- buirá esse valor a uma variável.

4. Por fim, exibirá o resultado.

5. Aqui está o programa Sound.java inteiro:

/*

Tente isto 2-1

Calcule a distância da queda de um raio cujo som leve 7,2 segundos

para alcançá-lo. */

class Sound {

public static void main(String[] args) { double distance;

distance = 7.2 * 1100;

System.out.println("The lightning is approximately " + distance + +

" feet away.");

} }

6. Compile e execute o programa. O resultado a seguir será exibido:

The lightning is approximately 7920.0 feet away.

7. Desafio extra: você pode calcular a distância de um objeto grande, como uma parede de pedra, medindo o eco. Por exemplo, se você bater palmas e medir quanto tempo leva para ouvir o eco, saberá o tempo total que o som leva para ir e voltar. A divisão desse valor por dois gera o tempo que o som leva para se propagar em uma direção. Então, você poderá usar esse valor para calcular a distância do objeto. Modifique o programa anterior para que ele calcule a distância, supondo que o intervalo de tempo seja igual ao de um eco.

que eles foram usados de alguma forma por todos os exemplos de programa anterio- res. Agora chegou a hora de serem explicados formalmente.

Os literais Java podem ser de qualquer um dos tipos de dados primitivos. A maneira como cada literal é representado depende de seu tipo. Como explicado ante- riormente, constantes de caracteres são delimitadas por aspas simples. Por exemplo, “a” e “%” são constantes de caracteres.

Os literais inteiros são especificados como números sem componentes fracio- nários. Por exemplo, 10 e –100 são literais inteiros. Os literais de ponto flutuante requerem o uso do ponto decimal seguido pelo componente fracionário do número. Por exemplo, 11,123 é um literal de ponto flutuante. Java também permite o uso de notação científica para números de ponto flutuante. Para usá-la, especifique a mantis- sa, depois um E ou um e e então o expoente (que deve ser um inteiro). Por exemplo, 1,234E2 representa o valor 123,4 e 1,234E-2 representa o valor 0,01234.

Por padrão, os literais inteiros são de tipo int. Se quiser especificar um literal long, acrescente um l ou L. Por exemplo, 12 é um int, mas 12L é um long.

Também é padrão os literais de ponto flutuante serem de tipo double. Para es- pecificar um literal float, acrescente um F ou f à constante. Por exemplo, 10,19F é de tipo float.

Embora os literais inteiros criem um valor int por padrão, eles podem ser atri- buídos a variáveis de tipo char, byte ou short, contanto que o valor atribuído possa ser representado pelo tipo de destino. Um literal inteiro sempre pode ser atribuído a uma variável long.

A partir do JDK 7, é permitido embutir um ou mais sublinhados em um literal inteiro ou de ponto flutuante. Isso pode facilitar a leitura de valores compostos por muitos dígitos. Quando o literal é compilado, os sublinhados são simplesmente des- cartados. Aqui está um exemplo:

123_45_1234

Essa linha especifica o valor 123.451.234. O uso de sublinhados é particularmente útil na codificação de coisas como números de peças, identificações de clientes e códigos de status que normalmente são criados como uma combinação de subgrupos de dígitos.