Questão de Programação — Java — Quadrix 2024
- Código
- qg349518
- Banca
- Quadrix
- Órgão
- CREFITO - 8ª Região (PR)
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Sistemas
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: E — ERRADO. O comando javac é o compilador da linguagem Java, responsável por transformar o código-fonte (arquivo .java) em bytecode (arquivo .class); quem inicia a execução de um programa Java é o comando java, que carrega a classe compilada na JVM. A afirmação troca as funções dos dois comandos — armadilha clássica de inversão de papéis.
Para entender por que a afirmação está errada, é preciso dominar o fluxo básico de desenvolvimento em Java, que envolve duas etapas distintas e complementares. A primeira é a compilação: você escreve o código-fonte em um arquivo com extensão .java e utiliza o comando javac (Java Compiler) para gerar o arquivo compilado, com extensão .class, contendo o chamado bytecode. A segunda é a execução: você utiliza o comando java (Java Application Launcher) para carregar o bytecode na JVM (Java Virtual Machine) e efetivamente rodar o programa. A JVM interpreta o bytecode e o traduz para instruções que o sistema operacional entende, permitindo que o mesmo código rode em diferentes plataformas — o princípio WORA (Write Once, Run Anywhere).
Vejamos um exemplo concreto. Suponha que você criou um arquivo OlaMundo.java com o seguinte conteúdo:
public class OlaMundo {
public static void main(String[] args) {
System.out.println("Olá, mundo!");
}
}Para transformar esse código-fonte em algo executável, você digita no terminal:
javac OlaMundo.javaEsse comando gera o arquivo OlaMundo.class (o bytecode). Em seguida, para executar o programa, você digita:
java OlaMundoNote que, na execução, você não informa a extensão .class — apenas o nome da classe. É o comando java que inicia a JVM e executa o método main, ponto de entrada de todo programa Java.
A confusão entre javac e java é um dos erros mais comuns entre iniciantes e, por isso, a banca explora exatamente essa inversão. O candidato que decora os comandos sem entender o papel de cada um tende a marcar "Certo", achando que javac é o comando de execução. Mas a função de cada comando é bem definida: javac compila; java executa.
Guarde essa distinção: compilar ≠ executar. É exatamente nessa fronteira que a questão se decide — e é nela que você deve se apoiar para julgar o item.
A afirmação diz que o comando javac é utilizado para iniciar a execução de um programa Java. Isso está errado. O javac é o compilador, que apenas traduz o código-fonte .java em bytecode .class. A execução é feita pelo comando java, que invoca a JVM e roda o método main da classe. Portanto, a banca inverteu os papéis dos dois comandos — o que torna o item falso.
Para não errar mais, associe: javac = compilar (a letra "c" de compilar) e java = executar. Na prova, sempre que aparecer "iniciar a execução", "rodar o programa" ou "executar", o comando correto é java; se aparecer "compilar", "gerar bytecode" ou "transformar .java em .class", o comando é javac.
Gabarito: E — ERRADO.
Link permanente: /questoes/qg349518