Archiwa tagu: csharp

C# operatory arytmetyczne

Myślę, że nie trzeba tłumaczyć czym są operatory arytmetyczne. Ograniczę się tylko do ich przedstawienia z krótkim przykładem.

Dodawanie "+"
przykład:
int x = 10;
int y = 7;
Console.WriteLine( x + y );  // wyświetlenie w konsoli wyniku działania
Odejmowanie  "-"
przykład:
int x = 20;
int y = 10;
Console.WriteLine( x – y );  // wyświetlenie w konsoli wyniku działania
Mnożenie " * "
przykład:
int x = 5;
int y = 5;
Console.WriteLine( x * y );  // wyświetlenie w konsoli wyniku działania
Dzielenie "/"
przykład:
int x = 10;
int y = 5;
Console.WriteLine( x / y );  // wyświetlenie w konsoli wyniku działania
Reszta z dzielenia "%"
przykład:
int x = 12;
int y = 5;
Console.WriteLine( x % y ); // wyświetlenie w konsoli wyniku działania

W powyższym przykładzie dla reszty z dzielenia wynikiem będzie liczba 2. Pamiętaj, że znak modulo '%' to nie to samo co dzielenie '/'.

darmowy-kurs-csharp   Przy bardziej skomplikowanych działaniach z większą ilością nawiasów itp. obowiązuje, jak w matematyce, pierwszeństwo wykonywania działań.

darmowy-kurs-csharp   Kiedy wynikiem naszego działania może być liczba zmiennoprzecinkowa, wtedy musimy skorzystać ze zmiennych typu double a nie typu int.

przykład dzielenia zmiennych typu int które dają wynik zmiennoprzecinkowy

int x = 81;
int y = 10;
Console.WriteLine(x / y);

Wynikiem naszego działania będzie liczba 8 mimo, że wynik dzielenia to 8,1. Dlaczego tak się stało? Ponieważ zmienne wykorzystane w tym działaniu są typu int, z typ ten reprezentuje liczby całkowite.

przykład dzielenia zmiennych typu double które dają wynik zmiennoprzecinkowy

double x = 81;
double y = 10;
Console.WriteLine(x / y);

Wynikiem naszego działania będzie liczba 8,1 i to jest prawidłowy wynik.

Operator dekrementacji

Dekrementacja (ang. decrement – ubytek) to proces odwrotny do inkrementacji (opisanej wcześniej). To zmniejszenie wartości argumentu o jeden. Operator dekrementacji to „ – – ”. Przykład: powiedzmy, że chcemy zmniejszyć wartość zmiennej „a” która w chwili obecnej wynosi 10 o jeden, czyli finalnie nasza zmienna otrzyma wartość 9. int a = 10; // tworzymy zmienną "a" i przypisujemy jej wartość 10 Listing 5.1 Zmniejszanie wartości zmiennej bez operatora dekrementacji.

   int a = 10; // tworzymy zmienną "a" i przypisujemy jej wartość 10
   a = a - 1 ; // zmniejszamy jej wartość o 1

Pobierz cały listing 5.1

W powyższym przykładzie widzimy, że zmniejszyliśmy wartość zmiennej “a” o 1 ale bez użycia operatora dekrementacji. Listing 5.2 Zmniejszenie wartości zmiennej „a” przy użyciu operatora dekrementacji.

int a = 10; // tworzymy zmienną "a" i przypisujemy jej wartość 10
a--; // zmniejszamy wartość zmiennej "a" o 1 przy użyciu operatora dekrementacji

Pobierz cały listing 5.2

Jeżeli chodzi o pojęcie dekrementacji to wyróżniamy jej dwie postacie pre dekrementacja i post dekrementacja. Już same przedrostki naprowadzają o co chodzi. Otóż pre dekrementacja to operacja powodująca zmniejszenie wartości zmiennej przed użyciem zmiennej a post dekrementacja to operacja powodująca zmniejszenie wartości zmiennej po jej użyciu, co obrazują poniższe przykłady. Listing 4.3 Użycie pre dekrementacji.

int a = 10; // tworzymy "a" i przypisujemy jej wartość 10
Colsole.WriteLine(--a); 
/* przykład pre dekrementacji czyli najpierw zmniejszamy wartość zmiennej (operator dekrementacji znajduje się przed zmienną „a”) a później wyświetlamy jej wartość na ekranie */
Console.ReadKey();

Pobierz cały listing 5.3.

Analizując powyższy przykład pre dekrementacji należy zwrócić uwagę że na ekranie pojawi się wartość 9 ponieważ dekrementacja (zmniejszenie wartości o 1) nastąpiła przed wyświetleniem wartości zmiennej „a” na ekranie. Listing 4.4 Użycie post dekrementacji.

int a = 10;
   // tworzymy zmienną "a" i przypisujemy jej wartość 10
Console.WriteLine(a--); 
   /* przykład post dekrementacji, czyli najpierw wyświetlamy wartość zmiennej "a" na ekranie a później zmniejszamy jej wartość o 1 operatorem dekrementacji "--" */
Console.ReadKey();

Pobierz cały listing 5.4

Analizując powyższy przykład chciałem zwrócić uwagę na miejsce które wymaga dodatkowego wyjaśnienia. Zwódźcie uwagę, że mimo wyświetlenia na ekranie wartości 10 po wykonaniu się instrukcji Console.WriteLine(a–); wartość zmiennej „a” będzie równa 9. Dlaczego? Ponieważ operator dekrementacji znajduje się za zmienną „a”, co powoduje zmniejszenie wartości tej zmiennej już po wyświetleniu jej wartości pierwotnej na ekranie. Gdybyśmy dodali do naszego kodu kolejne polecenie Console.WriteLine(a); to zobaczylibyśmy na ekranie wartość 9. Dekrementację możemy wykonać wielokrotnie.