Não entendi esta linha

tenho a seguinte linha:

bem, o trecho (h >= 0 && h < 24) eu entendi, o que eu não entendi é o significado do ? (Ponto de interrogação) no trecho ? h : 0.

Aproveitando o tópico, me expliquem a seguinte linha:

((hora == 12 || hora == 0)? 12 : hora % 12)+

Boa noite :grin:

Só para entender…

“h” é maior ou igual a “0” e “h” é menor que “24”? – Pergunta

Se for verdadeiro retorna “h” senão retorna “0”


Por favor me corrijam se estiver errado :?:

:lol:

:arrow: Continuando…(Esqueci deste trecho) :oops:

hora é igual a “12” ou hora igual “0”? - Pergunta

Se for verdadeiro retorna 12, senão retorna “hora módulo de 12”;

Um abraço

Caro Mr_Browstone, trata-se do operador ternário de Java, uma espécie de if mais compacto, que testa uma determinada expressão e caso ela seja verdadeira retorna a primeira opção, caso contrário retorna a segunda:

expressão ? opção1 : opção2

Lembre-se que ele pode vir aninhado, o que a princípio pode causar uma certa confusão. Mas o importante é que antes do ? venha algo que retorne um valor booleano e que as opções sejam do mesmo tipo da variável que recebe o retorno. E a expressão pode tb vir ou não com parênteses, isso é indiferente, a menos que vc queira determinar a ordem de execução no caso de expressões aninhadas.

:grin:

A ficha caiu, obrigado! :grin:

Disponha! :lol: