Ćwiczenie — drukowanie wartości literałów
W tym ćwiczeniu będziesz drukować komunikaty zawierające inne typy danych i dowiedzieć się, dlaczego typy danych są tak ważne w języku C#.
Co to jest wartość literału?
Wartość literału to stała wartość, która nigdy się nie zmienia. Wcześniej w konsoli wyjściowej był wyświetlany ciąg literału. Innymi słowy, dosłownie chciałeś, aby ciąg znaków H
alfanumerycznych , e
, l
, l
, o
itd. był wyświetlany w konsoli wyjściowej.
Użyj typu danych ciągu za każdym razem, gdy masz alfanumeryczne wyrazy, frazy lub dane do prezentacji, a nie obliczenia. Jakie inne rodzaje danych literałów można drukować w danych wyjściowych?
Ćwiczenie — drukowanie różnych typów danych literału
W języku C# istnieje wiele typów danych. Jednak w miarę rozpoczynania pracy musisz wiedzieć tylko o pięciu lub sześciu typach danych, ponieważ obejmują one większość scenariuszy. Wyświetlmy wystąpienie literału typu danych do danych wyjściowych.
Uwaga
Zaczynając pracę w oknie kodu, możesz zauważyć, że poszczególne elementy składni mają różne kolory wskazujące słowa kluczowe, operatory, typy danych i inne. Zwracaj uwagę na kolory. Może to pomóc w wykrycie błędów składni podczas wprowadzania znaków i może pomóc w bardziej efektywnym zrozumieniu kodu.
Używanie literałów znaków
Jeśli chcesz wydrukować tylko jeden znak alfanumeryczny na ekranie, możesz utworzyć literał znaku, otaczając jeden znak alfanumeryczny w pojedynczych cudzysłowach. Termin char
jest krótki dla znaku. W języku C#ten typ danych oficjalnie nosi nazwę "char", ale często nazywa się "znakiem".
Dodaj następujący wiersz kodu w edytorze kodu:
Console.WriteLine('b');
Obserwuj wprowadzony kod.
Zwróć uwagę, że litera
b
jest otoczona pojedynczym cudzysłowem'b'
. Pojedyncze cudzysłowy tworzą literał znaku. Pamiętaj, że użycie podwójnych cudzysłowów powoduje utworzeniestring
typu danych.Naciśnij zielony przycisk Uruchom, aby uruchomić kod. Powinien zostać wyświetlony następujący wynik w oknie danych wyjściowych:
b
Jeśli wprowadzisz następujący kod:
Console.WriteLine('Hello World!');
Wystąpi następujący błąd:
(1,19): error CS1012: Too many characters in character literal
Zwróć uwagę na znaki pojedynczego cudzysłowu otaczającego Hello World!
element . W przypadku używania pojedynczych cudzysłowów kompilator języka C# oczekuje pojedynczego znaku. Jednak w tym przypadku użyto składni literału znaku, ale zamiast tego podano 12 znaków.
Podobnie jak string
w przypadku typu danych, należy użyć char
zawsze, gdy masz jeden znak alfanumeryczny do prezentacji (nie obliczenia).
Używanie literałów liczb całkowitych
Jeśli chcesz wyświetlić wartość liczbową całkowitą (bez ułamków) w konsoli wyjściowej, możesz użyć literału int. Termin int
jest krótki dla liczby całkowitej, którą można rozpoznać na podstawie nauki matematyki. W języku C#ten typ danych jest oficjalnie nazywany "int", ale często określany jako "liczba całkowita". Literał int
nie wymaga żadnych innych operatorów, takich jak string
lub char
.
Dodaj następujący wiersz kodu w edytorze kodu:
Console.WriteLine(123);
Naciśnij zielony przycisk Uruchom, aby uruchomić kod. W konsoli wyjściowej powinny zostać wyświetlone następujące wyniki:
123
Używanie literałów zmiennoprzecinkowych
Liczba zmiennoprzecinkowa to liczba zawierająca liczbę dziesiętną, na przykład 3,14159. Język C# obsługuje trzy typy danych reprezentujące liczby dziesiętne: float
, double
i decimal
. Każdy typ obsługuje różne stopnie dokładności.
Float Type Precision
----------------------------
float ~6-9 digits
double ~15-17 digits
decimal 28-29 digits
W tym miejscu precyzja odzwierciedla liczbę cyfr po przecinku, które są dokładne.
Dodaj następujący wiersz kodu w edytorze kodu:
Console.WriteLine(0.25F);
Aby utworzyć literał, dołącz literę
float
F
po numerze. W tym kontekście literaF
jest nazywana sufiksem literału. Sufiks literału informuje kompilator, że chcesz pracować z wartościąfloat
typu. Jako sufiks literału można użyć małegof
lub górnegoF
litery jako sufiksu literałufloat
.Naciśnij zielony przycisk Uruchom, aby uruchomić kod. W konsoli wyjściowej powinny zostać wyświetlone następujące wyniki:
0.25
Zwróć uwagę, że
float
typ danych jest najmniej precyzyjny, dlatego najlepiej użyć tego typu danych dla stałych wartości ułamkowych, aby uniknąć nieoczekiwanych błędów obliczeniowych.Dodaj następujący wiersz kodu w edytorze kodu:
Console.WriteLine(2.625);
Aby utworzyć
double
literał, wystarczy wprowadzić liczbę dziesiętną. Kompilator domyślnie określadouble
literał, gdy liczba dziesiętna jest wprowadzana bez sufiksu literału.Naciśnij zielony przycisk Uruchom, aby uruchomić kod. Powinien zostać wyświetlony następujący wynik w oknie danych wyjściowych:
2.625
Dodaj następujący wiersz kodu w edytorze kodu:
Console.WriteLine(12.39816m);
Aby utworzyć literał liczby dziesiętnej, dołącz literę
m
po liczbie. W tym kontekście literam
jest nazywana sufiksem literału. Sufiks literału informuje kompilator, że chcesz pracować z wartościądecimal
typu. Jako sufiks literału można użyć małegom
lub górnegoM
litery jako sufiksu literałudecimal
.Naciśnij zielony przycisk Uruchom, aby uruchomić kod. W konsoli wyjściowej powinny zostać wyświetlone następujące wyniki:
12.39816
Używanie literałów logicznych
Jeśli chcesz wydrukować wartość reprezentującą wartość true
lub false
, możesz użyć literału logicznego.
bool
Termin jest krótki dla wartości logicznej. W języku C#są one oficjalnie określane jako "bool", ale często deweloperzy używają terminu "Wartość logiczna".
Dodaj następujące wiersze kodu w edytorze kodu:
Console.WriteLine(true); Console.WriteLine(false);
Naciśnij zielony przycisk Uruchom, aby uruchomić kod. W konsoli wyjściowej powinny zostać wyświetlone następujące wyniki:
True False
Literały bool
reprezentują ideę prawdy i fałszu. Gdy zaczniesz dodawać logikę decyzyjną do aplikacji, użyjesz bool
wartości w szerokim zakresie. Obliczysz wyrażenia, aby sprawdzić, czy wyrażenie ma wartość true, czy false.
Dlaczego podkreślamy typy danych?
Typy danych odgrywają centralną rolę w języku C#. W rzeczywistości nacisk na typy danych jest jednym z kluczowych funkcji wyróżniających języka C# w porównaniu z innymi językami, takimi jak JavaScript. Projektanci języka C# zauważyli, że mogą pomóc deweloperom unikać typowych usterek oprogramowania, wymuszając typy danych. Zobaczysz, jak to podejście jest stosowane, w miarę nauki języka C#.
Typy danych definiują możliwości
Wcześniej pokazano, że string
wartości i char
s są używane do "prezentacji, a nie obliczeń". Jeśli trzeba wykonać operację matematyczną na wartościach liczbowych, należy użyć typu int
lub decimal
. Jeśli masz dane używane do manipulowania prezentacją lub tekstem string
, należy użyć typu danych lub char
.
Załóżmy, że musisz zebrać dane od użytkownika, takie jak numer telefonu lub kod pocztowy. W zależności od kraju/regionu, w którym mieszkasz, dane mogą składać się z znaków liczbowych. Jednak ponieważ rzadko wykonuje się obliczenia matematyczne na numerach telefonów i kodach pocztowych, należy użyć typu danych string
do pracy z nimi.
To samo można powiedzieć o typie bool
. Jeśli potrzebujesz pracować ze słowami "true"
i "false"
w aplikacji, użyj typu string
. Jednak jeśli potrzebujesz pracować z pojęciami true
(prawda) i false
(fałsz) w ramach oceniania, użyj typu bool
.
Ważne jest, aby wiedzieć, że te wartości mogą wyglądać podobnie jak ich odpowiedniki w postaci literałów ciągu. Inaczej mówiąc, można uznać, że następujące instrukcje są takie same:
Console.WriteLine("123");
Console.WriteLine(123);
Console.WriteLine("true");
Console.WriteLine(true);
Jednak jest to tylko wyświetlane dane wyjściowe, które wydają się być podobne. W rzeczywistości rodzaje operacji dostępnych dla wartości typu int
lub bool
są inne niż dla ich równoważników używających typu string
.
Podsumowanie
Głównym wnioskiem jest to, że istnieje wiele typów danych, ale skupisz się na kilku na razie:
string
w przypadku wyrazów, fraz lub danych alfanumerycznych do prezentacji, a nie obliczeńchar
dla pojedynczego znaku alfanumerycznegoint
dla liczby całkowitejdecimal
dla liczby ze składnikiem ułamkowymbool
true
/false
dla wartości