Você está na página 1de 4

Respostas capítulo 2

1°) Java especifica rigorosamente o intervalo e o comportamento de seus tipos primitivos porque um dos
objetivos da linguagem é ser portável e independente de plataforma. Isso significa que um programa
Java deve funcionar da mesma forma em qualquer sistema operacional ou arquitetura de hardware que
tenha uma Máquina Virtual Java (JVM) instalada.

2°) O tipo char em Java é diferente do tipo de caractere usado por outras linguagens de programação,
como C ou C++, que usam o tipo char para representar um único byte (ou 8 bits) O tipo char em C ou C++
usa o padrão ASCII (American Standard Code for Information Interchange) para representar os
caracteres.
3°) Falso, em Java um valor boolean só pode ter dois valores possíveis: true ou false. Esses valores são
palavras reservadas da linguagem e não podem ser substituídos por outros valores, como números ou
strings. Portanto, você não pode atribuir um valor diferente de zero a uma variável boolean, pois isso
causaria um erro de compilação.

4°) System.out.println("one\ntwo\nthree"); // imprime one, two e three em linhas separadas

5°) A variável sum é declarada dentro do bloco for, o que significa que ela só é válida dentro desse bloco.

6°) A diferença entre as formas prefixada e posfixada do operador de incremento em Java é que a forma
prefixada (+x) incrementa o valor da variável x antes de usá-lo em uma expressão, enquanto que a forma
posfixada (x+) usa o valor atual da variável x na expressão e depois incrementa o seu valor.

7°) int x = 10;

int y = 0;

if (y != 0 && x / y > 0) {

System.out.println("x / y é positivo");

} else {

System.out.println("x / y é inválido ou não positivo");

8°) Em uma expressão, os valores de byte e short são promovidos para int quando a expressão é
avaliada. Isso significa que o resultado de uma expressão envolvendo byte ou short também será um int,
a menos que seja feito um cast explícito para outro tipo.

9°) Uma coerção é necessária quando se quer converter um valor de um tipo para outro, seja para
realizar uma operação, atribuição ou passagem de parâmetro. Em Java, existem dois tipos de coerção:
explícita e implícita.

A coerção explícita é quando o programador usa um operador de cast para indicar qual o tipo desejado
para o valor. A coerção implícita só ocorre quando o tipo destino é maior ou mais abrangente que o tipo
origem, ou seja, quando não há perda de informação ou precisão. Caso contrário, é necessário usar a
coerção explícita, que pode causar truncamento ou arredondamento do valor.

10°) public class Primos {

// Método que verifica se um número é primo

public static boolean ehPrimo(int n) {


// Se n for menor que 2, não é primo

if (n < 2) {

return false;

// Se n for 2, é primo

if (n == 2) {

return true;

// Se n for par e maior que 2, não é primo

if (n % 2 == 0) {

return false;

// Verifica se n tem algum divisor ímpar até a raiz quadrada de n

int limite = (int) Math.sqrt(n);

for (int i = 3; i <= limite; i += 2) {

if (n % i == 0) {

return false;

// Se não encontrou nenhum divisor, n é primo

return true;

public static void main(String[] args) {

// Itera sobre os números de 2 a 100


for (int i = 2; i <= 100; i++) {

// Se o número é primo, imprime na tela

if (ehPrimo(i)) {

System.out.println(i + " é primo.");

11°) O uso de parênteses adicionais em Java não afeta o desempenho do programa em si, mas sim a
forma como o compilador ou o interpretador avalia as expressões. Dependendo da linguagem de
programação e da complexidade das expressões, o uso de parênteses pode facilitar ou dificultar a leitura
e o entendimento do código, além de alterar a ordem de execução das operações.

12°) Sim, um bloco define um escopo. Um escopo é a região de um programa onde uma variável é visível
e acessível. Uma variável declarada dentro de um bloco só existe dentro desse bloco e não pode ser
usada fora dele. Isso significa que o bloco limita o tempo de vida e o alcance da variável.

Você também pode gostar