Articles of operador condicional

Por que o Java não tem versões de atribuição compostas dos operadores condicional e condicional? (&& =, || =)

Então, para operadores binários em booleanos, o Java tem & | , ^ , && e || . Vamos resumir o que eles fazem brevemente aqui: JLS 15.22.2 Operadores lógicos booleanos &, ^ e | JLS 15.23 Condicional-E Operador && JLS 15.24 Condicional-Ou Operador || Para & , o valor do resultado será true se […]

Diferenças de operadores condicionais entre C e C ++

Eu li em algum lugar que o operador ?: Em C é ligeiramente diferente em C ++, que há algum código-fonte que funciona de maneira diferente em ambos os idiomas. Infelizmente, não consigo encontrar o texto em nenhum lugar. Alguém sabe o que é essa diferença?

Por que o operador ternário elimina números inteiros inesperadamente?

Eu vi isso discutido em algum lugar que o código a seguir resulta em obj sendo um Double , mas que imprime 200.0 do lado esquerdo. Object obj = true ? new Integer(200) : new Double(0.0); System.out.println(obj); Resultado: 200,0 No entanto, se você colocar um object diferente no lado direito, por exemplo, BigDecimal , o […]

Problema de tipo anulável com?: Operador condicional

Alguém poderia explicar por que isso funciona em c # .net 2.0: Nullable foo; if (true) foo = null; else foo = new DateTime(0); … mas isso não acontece: Nullable foo; foo = true ? null : new DateTime(0); A última forma me dá um erro de compilation “O tipo de expressão condicional não pode […]

Precedência do operador com o operador Ternary do Javascript

Eu não consigo envolver minha cabeça em torno da primeira parte deste código (+ =) em combinação com o operador ternário. h.className += h.className ? ‘ error’ : ‘error’ A maneira que eu acho que esse código funciona é a seguinte: h.className = h.className + h.className ? ‘ error’ : ‘error’ Mas isso não está […]

Tipo de retorno de ‘?:’ (Operador condicional ternário)

Por que o primeiro retorna uma referência? int x = 1; int y = 2; (x > y ? x : y) = 100; Enquanto o segundo não? int x = 1; long y = 2; (x > y ? x : y) = 100; Na verdade, o segundo não compilou nada – “não lvalue […]

Booleanos, operadores condicionais e autoboxing

Por que isso lança NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } enquanto isso não public static void main(String[] args) throws Exception { Boolean b = true ? null : false; […]

Como eu uso o operador condicional?

Eu sempre quis saber como escrever a syntax “A ? B : C” em uma linguagem compatível com C ++. Eu acho que funciona algo como: (Pseudo-código) If A > B C = A Else C = B Algum veterano C ++ programador por favor me ajude?

Benefícios do uso do operador condicional?: (Ternário)

Quais são os benefícios e desvantagens do operador?: Em oposição à instrução padrão if-else. Os mais óbvios são: Condicional: Operador Mais curto e mais conciso ao lidar com comparações de valor direto e atribuições Não parece ser tão flexível quanto a construção if / else Padrão Se / Outro Pode ser aplicado a mais situações […]

O operador condicional não pode converter implicitamente?

Estou um pouco perplexo com essa pequena peculiaridade do C #: Dadas variables: Boolean aBoolValue; Byte aByteValue; As seguintes compilações: if (aBoolValue) aByteValue = 1; else aByteValue = 0; Mas isso não vai: aByteValue = aBoolValue ? 1 : 0; Erro diz: “Não é possível converter implicitamente o tipo ‘int’ para ‘byte’.” E claro, essa […]