Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FCC 2019

ProgramaçãoLinguagens de programação
Código
fc057564
Banca
FCC
Órgão
TJ-MA
Ano
2019
Cargo
Técnico Judiciário - Técnico em Informática - Software
Em um programa na linguagem Java, um Técnico declarou uma variável e atribuiu a ela um valor inteiro por meio do comando short a = 32768;. Ao tentar executar a aplicação, este comando gerou uma exceção porque variáveis do tipo short só podem conter valores na faixa de:
  1. A-128 a 127.
  2. B0 a 256.
  3. C-32768 a 32767.
  4. D-2048 a 2047.
  5. E0 a 32667.
Revelar gabarito e comentário

GabaritoC — -32768 a 32767.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Java: tipo short

Gabarito: letra C. O tipo primitivo short em Java ocupa 16 bits com sinal (complemento de dois), portanto sua faixa de valores é de -32768 a 32767. Atribuir 32768 a uma variável short gera erro de compilação (ou exceção, no sentido amplo usado pela banca) porque o valor excede o limite máximo positivo.

A questão testa o conhecimento das faixas dos tipos primitivos inteiros em Java. A banca costuma explorar a confusão entre os intervalos de byte, short, int e char. Memorize os limites:

Tipo

Bits

Faixa

byte

8

-128 a 127

short

16

-32768 a 32767

int

32

-2147483648 a 2147483647

char

16

0 a 65535 (sem sinal)

Alternativa A — ❌ Incorreta

A faixa -128 a 127 corresponde ao tipo byte (8 bits), não ao short. É a pegadinha mais comum: confundir os dois tipos.

Alternativa B — ❌ Incorreta

0 a 256 não corresponde a nenhum tipo primitivo inteiro padrão do Java. O tipo char vai de 0 a 65535; byte vai de -128 a 127.

Alternativa C — ✅ Correta ⟵ GABARITO

Faixa exata do short: -32768 a 32767. O valor 32768 está uma unidade acima do máximo, causando o erro.

Alternativa D — ❌ Incorreta

-2048 a 2047 não é faixa de nenhum tipo primitivo Java. Talvez confundam com uma metade do short? Não procede.

Alternativa E — ❌ Incorreta

0 a 32667 não é faixa de tipo primitivo. O short aceita valores negativos, e o limite superior é 32767.

PEGA ESSA DICA!

Decore as faixas usando potências de 2: short = 16 bits = 215-2^{15} a 21512^{15}-1. Para byte: 8 bits = 27-2^7 a 2712^7-1. Sempre desconfie de alternativas que usam apenas números positivos para tipos com sinal.

Gabarito: letra C.

Link permanente: /questoes/fc057564