난 당신이 자바에서이 같은 것을 사용할 수 있다는 것을 알고있다 : 바로 다른 부품없이 비슷한 일이Java에서 else 부분이없는 고급 if 문이 있습니까?
(a > b) ? a : b;
있습니까?
난 당신이 자바에서이 같은 것을 사용할 수 있다는 것을 알고있다 : 바로 다른 부품없이 비슷한 일이Java에서 else 부분이없는 고급 if 문이 있습니까?
(a > b) ? a : b;
있습니까?
이것은 표현식이 아니라 표현식이므로 항상 평가됩니다. "else part"가 없으면 테스트가 틀린 경우 평가할 표현식이 없습니다. 그래서, 아니오, 다른 것 없이는 비슷한 것이 없습니다.
나는 conditional operator 사용에 대한 좋아하는 것은 당신이
foo = a > b ? c : d;
같은 것을 지정할 수 있습니다 그것을 읽는 당신이 foo에 관계없이 테스트가 사실 여부에 할당 무언가를 가지고 알고 있습니다. 따라서 일부 테스트에 따라 값이 할당되었음을 나타내는 방법을 제공합니다.
그루비는 일부 유사 사업자 있습니다 왼쪽의 표현식이 null의 경우
?:
?.
(safe-null 연산자)은 왼쪽이 Null로 평가되면 null로 평가됩니다. null이 될 가능성이있는 사슬 (예 : foo?.bar?.baz
)이있는 경우에 유용합니다. null이있는 경우 NPE로 폭파하지 않고 모든 null 검사를 입력하지 않을 것입니다.
젠장, 24 초 날 때려. – Antimony
아니요. 그것은 말이되지 않습니다.
?:
은 3 진 비교 연산자 - 표현식입니다. else 문이 없으면 표현식의 값은 무엇입니까? C#은 속기 버전 ??
을 가지고 있습니다. 그러나 그것은 단지 구문 설탕 일 뿐이며 Java는 어쨌든 그런 것을 가지고 있지 않습니다.
나는 이것을 "c"라고 부르는 var에 값을 할당하는 데 사용하고 있다고 생각합니다. if 문이 true 일 때만 값을 할당하려고합니다.
if(a > b) c = a;
하지만 당신이 정말로는 삼항 구문을 사용하려면 경우 당신은 쓸 수 : 일반적인 방법이 될 것 삼항 괄호 그래서 내가 그들을 생략 한 선택적입니다
c = a > b ? a : c;
참고.
.. 'else'부분은 선택 사항입니다. – mre
표현식이 거짓이면 값은 어떻게됩니까? –
'else'가 없으면'if (a> b) z = a'를 수행하십시오. 나는 네가 의미하는 것을 이해하지 못한다. – Shivam