Najlepsza odpowiedź
W zależności od języka programowania mogą oznaczać różne rzeczy.
Na przykład w Javascript? to operator warunkowy (trójskładnikowy) , a\% jest operatorem reszty z Operatory arytmetyczne
W Oracle SQL? jest symbolem zastępczym dla parametrów dynamicznych , a\% pasuje do 0 lub więcej znaków z danych w LIKE klauzule.
W Mathematica? jest używany dla PatternTest , a\% jest używany jako skrót dla operacji Out .
Musisz być bardziej szczegółowy w języku, w którym piszesz, aby uzyskać bardziej szczegółową odpowiedź.
Odpowiedź
To (oczywiście) zależy od języka programowania. Jednak zdecydowanie najpowszechniejszym zastosowaniem jest ten z rodziny języków C, w którym jest to operator porównujący dla równości. C używa „=” do przypisania, a C pozwala również na wykonanie przypisania prawie wszędzie, więc nie mogą używać go również do porównania. Dlatego napisali go dwa razy, aby dokonać porównania.
W przypadku typów całkowitych i innych typów prostych, takich jak boolean i znaki, jest to mniej lub bardziej proste. 42 == 42 jest prawdą, a 42 == 47 jest fałszem. Liczba zmiennoprzecinkowa dodaje kilka przypadków narożnych (po prostu mówiąc, ponieważ zmiennoprzecinkowe zawsze dodaje do wszystkiego przypadki narożne!). W przypadku bardziej złożonych obiektów sprawa staje się bardziej skomplikowana. Na przykład w Javie „==” oznacza „dokładnie ten sam obiekt” (jak w programie, znajduje się w tym samym miejscu pamięci) po zastosowaniu do obiektów, a dla większości porównań powinno się używać metody equals (). Metoda equals () jest domyślnie zaimplementowana jako ==, ale możesz ją zmienić tak, aby odpowiadała Twoim potrzebom (o ile przestrzegasz pewnych rozsądnych ograniczeń i pamiętaj, aby odpowiednio dostosować powiązane metody, w szczególności hashCode ()). W językach takich jak C ++, kto wie? C ++ pozwala na przeciążenie operatorów. (Czasami to świetnie, czasami jest po prostu bardzo zagmatwane.)