|와 | 또는 연산자의 차이점은 무엇입니까?
나는 항상 사용해 왔다.||
의 파이프)는 C과 PHP의 OR 사용하는 있다: occasion 1 개개 、 occasion 、 occasion 1 、 occasion occasion 、 。|
이두 가가 도도 도? ?? ???둘 다 사용할 때 주의해야 할 사항이 있습니까? 니면서 서환 ?환? ????
★★★★★★★와 같이&
★★★★★★★★★★★★★★★★★」&&
오퍼레이터, 이중 오퍼레이터는 "단락" 오퍼레이터입니다.
예를 들어 다음과 같습니다.
if(condition1 || condition2 || condition3)
condition1이 true이면 condition2와 3은 체크되지 않습니다.
if(condition1 | condition2 | condition3)
1이 이미 참인 경우에도 조건 2와 3을 확인합니다.당신의 조건은 매우 비싼 기능일 수 있기 때문에 그것을 사용함으로써 성능을 크게 향상시킬 수 있습니다.
Null References 또는 이와 유사한 문제가 하나 있습니다.예를 들어 다음과 같습니다.
if(class != null && class.someVar < 20)
는 null, if-statement, if-statement, if-statement, if-statement, if-statement, if-statement, if-statement, if-statement, , ifclass != null
'&'만'&'만 요.class.someVar
좋은 결과가 거예요.NullReferenceException
Or-Operator를 사용하면 나쁜 일을 일으킬 가능성은 낮지만 명심해야 할 사항입니다.
요.&
★★★★★★★★★★★★★★★★★」|
단, 각 조건이 실행되어야 하는 함수인 설계가 없는 한 연산자.디자인 냄새처럼 들리지만 때로는 깔끔한 작업 방식일 수도 있습니다.&
기능을 하고, 그 중 을 실행합니다라고 하는 반면, "3"은 "false", "false"는 "그렇지 않으면"입니다.|
「 return false」를 반환하지 않는 , 「 return false」를 실행합니다 「none return false」를 사용합니다.- none return false」를 참조해 주세요.
.|
★★★★★★★★★★★★★★★★★」&
연산자(단, 비트 연산자).
||는 논리 OR 연산자입니다.그게 뭔지 알고 있는 것 같네요조건문(if, while 등)에서 사용합니다.
condition1 || condition2
condition1 또는 condition2 중 하나가 true이면 true로 평가됩니다.
|는 비트 단위 OR 연산자입니다.두 개의 번호를 조작할 때 사용합니다.각 숫자의 각 비트를 개별적으로 조사합니다.이 중 1비트가 적어도1개의 숫자의 1인 경우 결과 비트도 1이 됩니다.다음은 몇 가지 예입니다.
A = 01010101
B = 10101010
A | B = 11111111
A = 00000001
B = 00010000
A | B = 00010001
A = 10001011
B = 00101100
A | B = 10101111
그게 말이 됐으면 좋겠어요.
따라서 마지막 두 가지 질문에 답하려면 "두 운영자의 차이점을 알아야 한다"는 것 외에 다른 주의 사항은 없습니다.서로 완전히 다른 두 가지 일을 하기 때문에 서로 바꿀 수 없습니다.
하나는 "비트 또는"입니다.
10011b | 01000b => 11011b
다른 하나는 논리 혹은.
true 또는 false => true
좋은 질문입니다.이 두 연산자는 PHP와 C#에서 동일하게 동작합니다.
|
or or ada.| 0010 = 등입니다: : 1101 | 0010 = 1111 。) 쓰기(0X02) 쓰기 (예 : = = 01 ( 0X01) = 10 ( 0X02) = 11 ( 0X03) 입니다.한 가지 유용한 예는 파일을 여는 것입니다.로 예를 들 수 .
File.Open(FileAccess.Read | FileAccess.Write); //Gives read/write access to the file
||
or or ada. 가게에 가거나 쇼핑몰에.예를 들어, 나는 가게에 가거나 쇼핑몰에 갈 것이다.이것은 암호에서 가장 자주 사용되는 것입니다.예를 들어 다음과 같습니다.
if(Name == "Admin" || Name == "Developer") { //allow access } //checks if name equals Admin OR Name equals Developer
PHP 리소스: http://us3.php.net/language.operators.bitwise
C# 리소스: http://msdn.microsoft.com/en-us/library/kxszd0kx(VS.71).aspx
http://msdn.microsoft.com/en-us/library/6373h346(VS.71).aspx
& (조건 1 & 조건 2) : 첫 번째 케이스가 거짓인 경우에도 두 케이스 모두 체크한다.
& & - (조건 1 & 조건 2) : 케이스 1이 잘못된 경우 두 번째 케이스를 굳이 확인할 필요가 없다.
& & - 오퍼레이터는 코드 실행을 보다 빠르고 전문적으로 수행하며 거의 사용되지 않습니다.
| - (조건 1 | 조건 2) : 케이스1이 참인 경우에도 양쪽 케이스 체크
|| - (조건 1 | | 조건 2) : 첫 번째 케이스가 참인지 두 번째 케이스는 굳이 확인할 필요가 없습니다.
|| - 오퍼레이터가 코드 실행을 프로페셔널하게 고속화 | 거의 사용하지 않음
Java의 간단한 예
public class Driver {
static int x;
static int y;
public static void main(String[] args)
throws Exception {
System.out.println("using double pipe");
if(setX() || setY())
{System.out.println("x = "+x);
System.out.println("y = "+y);
}
System.out.println("using single pipe");
if(setX() | setY())
{System.out.println("x = "+x);
System.out.println("y = "+y);
}
}
static boolean setX(){
x=5;
return true;
}
static boolean setY(){
y=5;
return true;
}
}
출력:
using double pipe
x = 5
y = 0
using single pipe
x = 5
y = 5
수학적 정의에 따르면 OR 및 AND는 이진 연산자이며, | 및 &와 마찬가지로 LHS 및 RHS 조건을 확인합니다.
|| 및 & & LHS 조건이 충족되지 않을 때 OR 연산자와 AND 연산자의 속성을 중지하여 변경합니다.
단일 파이프 |는 비트 연산자의 1개입니다.
Wikipedia에서:
C 프로그래밍 언어 패밀리에서 비트 OR 연산자는 "|"(파이프)입니다.이 연산자는 피연산자를 부울값으로 처리하며 "||"(2개의 파이프)로 기록되는 부울 "논리" 또는 부울값과 혼동해서는 안 됩니다.
의 경우|
Logicall » Logicall||
또는
단위&
logicall 및 and and&&
,을 요. if( a>b | a==0)
a>b
「」가 됩니다.a==0
그때 평가하겠습니다.|
작업이 완료됩니다.
하지만|| if a>b
그러면 다음 RHS를 체크하지 않습니다.
&&&&도 마찬가지입니다.
if(A>0 & B>0)
LHS를 평가한 후 RHS를 비트 단위로 수행합니다.
에(A>0 && B>0)
if(A>0)
이false
(LHS) 직접,return false;
| 연산자는 2개의 오퍼랜드(양쪽이 false를 반환하려면 false로 평가해야 함을 의미)의 비트 단위 OR을 실행합니다.한편 | 연산자는 필요한 경우에만 두 번째 연산자를 평가합니다.
http://msdn.microsoft.com/en-us/library/kxszd0kx(VS.71).aspx
http://msdn.microsoft.com/en-us/library/6373h346(VS.71).aspx
singe pipe "|"는 "비트 단위" 또는 "비트 단위"이며, 사용자가 무엇을 하고 있는지 알고 있을 때만 사용해야 합니다.이중 파이프 "||"는 논리 또는 "x == 0 | x == 1"과 같은 논리 문에 사용할 수 있습니다.
다음은 비트 또는 동작의 예입니다.a=0101 및 b=0011이면 a|b=0111입니다.0이 아닌 것을 true로 취급하는 논리 시스템을 취급하고 있는 경우, 비트 단위 또는 는 논리 단위와 동일하게 동작합니다.또, 상대편(비트 단위 및 "&")은 동작하지 않습니다.또한 비트 단위 또는 단락 평가를 수행하지 않습니다.
단일 파이프(|)는 비트 단위 OR 연산자입니다.
2개의 파이프(||)가 논리 OR 연산자입니다.
그것들은 서로 교환할 수 없다.
언급URL : https://stackoverflow.com/questions/35301/what-is-the-difference-between-the-and-or-operators
'programing' 카테고리의 다른 글
Vue Router Guards가 Vuex를 대기하도록 하는 방법 (0) | 2022.10.09 |
---|---|
사전 이해에서 if/else를 사용하려면 어떻게 해야 합니까? (0) | 2022.10.09 |
SVG 콘텐츠 삭제 또는 치환 방법 (0) | 2022.10.09 |
Spring Boot R2DBC가 Maria에 문자 필드를 저장하지 못함DB (0) | 2022.10.09 |
URL에서 서버로 파일 다운로드 (0) | 2022.10.09 |