Pular para o conteúdo principal

Questão de Programação — Java — Quadrix 2024

ProgramaçãoJava
Código
qg347473
Banca
Quadrix
Órgão
CFP
Ano
2024
Nível
Médio
Cargo
Técnico Administrativo - Suporte Técnico em Informática
Quanto às linguagens de programação Java e PHP, julgue o item a seguir.Em Java, o tipo de dados short representa um número inteiro complementar de dois bits assinado de 16 bits.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

Tipos primitivos inteiros em Java: o tipo short

Gabarito: C — CERTO. Em Java, o tipo short é, de fato, um tipo de dado primitivo inteiro que ocupa 16 bits (2 bytes) e é representado em complemento de dois, sendo, portanto, um inteiro assinado (signed). A afirmação está correta e reflete a especificação da linguagem Java.

O tipo short é um dos oito tipos primitivos da linguagem Java, que se dividem em: numéricos inteiros (byte, short, int, long), numéricos reais (float, double), caractere (char) e lógico (boolean). Cada tipo primitivo tem um tamanho fixo em bits, independente da plataforma, o que garante a portabilidade do código Java (princípio WORA — Write Once, Run Anywhere).

O short ocupa 16 bits, ou seja, 2 bytes. Por ser um tipo assinado (signed), ele utiliza o bit mais significativo para representar o sinal (positivo ou negativo), e os demais 15 bits para a magnitude. A representação numérica é feita em complemento de dois, que é o padrão utilizado pela maioria das linguagens de programação modernas para representar números inteiros com sinal. Isso significa que o intervalo de valores que um short pode armazenar vai de -32.768 a 32.767 (ou seja, de -2^15 a 2^15 - 1).

Para efeito de comparação, veja os outros tipos inteiros primitivos de Java:

Tipo

Tamanho

Intervalo

byte

8 bits

-128 a 127

short

16 bits

-32.768 a 32.767

int

32 bits

-2.147.483.648 a 2.147.483.647

long

64 bits

-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

A pegadinha que a banca poderia explorar é a confusão entre o short (16 bits) e o byte (8 bits) ou o int (32 bits). É comum o candidato confundir o tamanho em bits de cada tipo, ou ainda pensar que o short é um tipo sem sinal (unsigned), o que não é verdade em Java — todos os tipos inteiros primitivos em Java são assinados.

Na prática, o short é raramente utilizado em programas Java, pois o int é o tipo padrão para operações com números inteiros. No entanto, o short pode ser útil em situações que exigem economia de memória, como em arrays grandes de valores inteiros pequenos, ou em operações com arquivos binários e protocolos de rede que especificam campos de 16 bits.

Guarde a relação entre tamanho em bits e intervalo de valores: é exatamente nessa fronteira que a questão se resolve. O short tem 16 bits, é assinado e usa complemento de dois — todos os três atributos estão corretos na afirmação.

Alternativa C — ✅ CERTOGABARITO

A afirmação está correta. O tipo short em Java é um tipo primitivo inteiro que ocupa 16 bits (2 bytes), é assinado (signed) e utiliza a representação em complemento de dois. Isso está de acordo com a especificação da linguagem Java, que define os tamanhos fixos dos tipos primitivos para garantir portabilidade. O intervalo de valores do short é de -32.768 a 32.767, exatamente o que se espera de um inteiro de 16 bits com sinal em complemento de dois.

Alternativa E — ❌ ERRADO

A afirmação não está errada. O tipo short em Java é, de fato, um inteiro de 16 bits, assinado e representado em complemento de dois. A alternativa E seria correta apenas se a afirmação contivesse algum erro, como dizer que o short tem 8 bits (que seria o byte) ou que é um tipo sem sinal (o que não existe em Java para tipos inteiros primitivos). Como a afirmação está tecnicamente correta, a alternativa E é incorreta.

PEGA ESSA DICA!

Para memorizar os tipos inteiros de Java, lembre-se da ordem crescente de tamanho: byte (8 bits), short (16 bits), int (32 bits) e long (64 bits). Cada um dobra o tamanho do anterior. E lembre-se: em Java, todos os tipos inteiros primitivos são assinados (signed), ou seja, sempre há um bit reservado para o sinal.

Gabarito: letra C

Link permanente: /questoes/qg347473