Ćwiczenie — drukowanie wartości literałów

Ukończone

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 Halfanumerycznych , e, l, l, oitd. 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".

  1. Dodaj następujący wiersz kodu w edytorze kodu:

    Console.WriteLine('b');
    
  2. 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 utworzenie string typu danych.

  3. 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.

  1. Dodaj następujący wiersz kodu w edytorze kodu:

    Console.WriteLine(123);
    
  2. 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, doublei 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.

  1. 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 litera F 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łego f lub górnego F litery jako sufiksu literału float.

  2. 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.

  3. 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śla double literał, gdy liczba dziesiętna jest wprowadzana bez sufiksu literału.

  4. Naciśnij zielony przycisk Uruchom, aby uruchomić kod. Powinien zostać wyświetlony następujący wynik w oknie danych wyjściowych:

    2.625
    
  5. 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 litera m 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łego m lub górnego M litery jako sufiksu literału decimal.

  6. 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".

  1. Dodaj następujące wiersze kodu w edytorze kodu:

    Console.WriteLine(true);
    Console.WriteLine(false);
    
  2. 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 stringwartości i chars 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 alfanumerycznego
  • int dla liczby całkowitej
  • decimal dla liczby ze składnikiem ułamkowym
  • booltrue/false dla wartości