Considere o seguinte código, escrito em Java. class Main { p...

Próximas questões
Com base no mesmo assunto
Q3103898 Programação
Em relação à linguagem de programação Java, à arquitetura distribuída de microsserviços e à biblioteca Flyway, julgue o próximo item.

Considere o seguinte código, escrito em Java. 


class Main {

 public static void main(String[] args) {

 int x = 11, y = -7, z = 22;

 int resultado = (x >= y) ? ((x >= z) ? x :

z) : ((y >= z) ? y : z);

 System.out.println(“Resultado: “ +

resultado);

 }

}


A partir do código precedente, é correto afirmar que a execução desse código apresentará o seguinte resultado.


Resultado: 22 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C – Certo

1. Tema central e relevância

Esta questão exige conhecimento sobre operadores condicionais ternários em Java, conceito frequentemente explorado em provas de concursos para testar o domínio sobre estruturas de decisão e lógica de programação.

2. Resumo teórico

O operador ternário em Java é uma forma concisa de expressar decisões condicionais, substituindo estruturas if/else simples. Sua sintaxe é:

condição ? valorSeVerdadeiro : valorSeFalso;

Esse operador pode ser aninhado, isto é, utilizar um ternário dentro de outro, o que exige atenção à ordem de avaliação.

3. Justificativa da alternativa correta

Vamos analisar o código:

int x = 11, y = -7, z = 22;

int resultado = (x >= y) ? ((x >= z) ? x : z) : ((y >= z) ? y : z);

Explicação passo a passo:

  • x >= y → 11 >= -7 → Verdadeiro
  • Como a condição principal é verdadeira, avalia-se (x >= z) ? x : z
  • x >= z → 11 >= 22 → Falso
  • Portanto, pega o valor de z, que é 22.

Assim, o resultado será impresso como Resultado: 22, conforme afirma o enunciado.

4. Estratégias para interpretação

Fique atento à ordem de avaliação em expressões com operadores ternários aninhados e use parênteses para facilitar a compreensão. Recomenda-se também decompor o raciocínio em etapas simples, anotando os resultados parciais.

5. Conclusão

A alternativa C ("certo") está correta, pois o código realmente imprime Resultado: 22.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

## Analisando o Código Java

**Sim, a afirmação de que o resultado da execução do código será "Resultado: 22" está correta.**

**Vamos entender passo a passo por que isso ocorre:**

1. **Declaração de variáveis:**

* `int x = 11, y = -7, z = 22;`

* São declaradas três variáveis inteiras com os valores 11, -7 e 22, respectivamente.

2. **Expressão condicional:**

* `(x >= y) ? ((x >= z) ? x :z) : ((y >= z) ? y : z);`

* Essa é uma expressão condicional encadeada (operador ternário).

* **Primeira condição:** `(x >= y)` é verdadeira (11 é maior que -7).

* **Segunda condição:** `(x >= z)` é falsa (11 não é maior que 22).

* **Resultado:** Como a segunda condição é falsa, o valor `z` é escolhido.

3. **Impressão do resultado:**

* `System.out.println(“Resultado: “ +resultado);`

* O valor de `z`, que é 22, é concatenado à string "Resultado: " e impresso no console.

**Portanto, o resultado final da execução será:**

```

Resultado: 22

```

**Em resumo, o código está comparando os valores de x, y e z e atribuindo o maior valor à variável resultado. Neste caso, o maior valor é 22 (z).**

**Observação:** O operador ternário é uma forma concisa de escrever uma expressão condicional if-else em Java. Ele permite tomar decisões com base em uma condição e retornar um valor de acordo com o resultado da condição.

Fonte: Gemini

operador ternário (if-else abreviado)

(condição) ? valor_se_V : valor_se_F

se eu nao fosse da área pensaria que isso seria linguagem de alienígena

intx=11, y = -7, z = 22;

operador ternário, (condição) ? verdadeiro : falso

  1. (11 >= -7) condição
  2.  ((11 >= 22) ? x : z) se a condição for verdadeira, irá retornar o resultado disso
  3. ((-7 >= 22) ? y : z) se a condição for falsa, irá retornar o resultado disso

Operador Ternário (?)

O operador ternário é uma forma curta de escrever um if-else em uma única linha.

int idade = 20;

String categoria = (idade >= 18) ? "Adulto" : "Menor"; 

System.out.println(categoria); // Saída: Adulto

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo