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.