Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Kokonaislukutietotyypit | Section
C# Perusteet

Kokonaislukutietotyypit

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Tietotyypit ovat tietojen arvojen luokittelu eri kategorioihin niiden luonteen perusteella, kuten kokonaisluvut, desimaaliluvut, tekstimuotoinen data jne. Jokaisella tietotyypillä on erilaisia siihen liittyviä operaatioita; esimerkiksi aritmeettisia operaatioita voidaan suorittaa numeeriselle datalle, mutta ei tekstimuotoiselle datalle.

Avainsana int viittaa "integer"-tietotyyppiin, joka edustaa kokonaislukuja.

Edellisessä osiossa opimme seuraavan syntaksin muuttujan määrittelyyn:

var variableName = value;

Yllä olevan syntaksin lisäksi on olemassa toinen tapa määritellä muuttuja:

Tässä type viittaa muuttujan tietotyyppiin. Tähän mennessä tunnemme vain int-tyypin. Voimme määritellä kokonaislukumuuttujan seuraavasti:

int myVariable = 10;

Tässä tapauksessa voimme myös määritellä muuttujan ilman alkuarvoa:

int myVariable;

Muuttujan alkuarvon antamista määrittelyn yhteydessä kutsutaan alustamiseksi.

var-avainsana mahdollistaa tietotyypin automaattisen päätellyn arvon perusteella. Esimerkiksi var myVariable = 7; määrittää muuttujalle myVariable kokonaislukuarvon, jolloin sen tietotyyppi on int. Tällainen muuttuja on implisiittisesti tyypitetty muuttuja.

Kun käytetään var-avainsanaa, muuttuja täytyy aina alustaa samalla, joten var myVariable; ei ole sallittu.

Toisaalta tietotyypin määrittely manuaalisesti ei vaadi alkuarvoa. Siksi sekä int myVariable; että int myVariable = 10; ovat sallittuja lauseita. Tässä tapauksessa myVariable on eksplisiittisesti tyypitetty muuttuja.

Seuraava koodi tiivistää edellä mainitut kaksi kappaletta:

main.cs

main.cs

12345
var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid

On tärkeää huomata, että muuttujaa, jolle ei ole annettu arvoa, ei voi käyttää. Seuraava koodi aiheuttaa VIRHEEN:

main.cs

main.cs

12
int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'

Korjaus:

main.cs

main.cs

123
int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10

Muuttujan arvoa voidaan asettaa uudelleen niin monta kertaa kuin halutaan:

main.cs

main.cs

12345678
int myVar = 10; System.Console.WriteLine(myVar); // Output: 10 myVar = 15; System.Console.WriteLine(myVar); // Output: 15 myVar = 17; System.Console.WriteLine(myVar); // Output: 17 myVar = 7; System.Console.WriteLine(myVar); // Output: 7

int-muuttuja voi tallentaa arvoja vain tietyllä välillä. On olemassa myös toinen tietotyyppi, long, joka on samanlainen kuin int, mutta se voi tallentaa suurempia lukuja.

Suurempien lukujen tallentaminen kuin tietotyyppi sallii voi johtaa odottamattomiin tuloksiin.

int- ja long-datan kanssa voidaan suorittaa aritmeettisia operaatioita. Seuraava koodiesimerkki näyttää joitakin esimerkkejä:

main.cs

main.cs

1234567891011121314151617181920
// int values int a = 10; int b = 25; int c = a + b; // long values long d = 1000; long e = 2500; long f = d + e; // Adding a 'long' and an 'int' always results in a 'long' resultant value. // Therefore we can store the result of 'd + a' into a new 'long' variable called 'g'. long g = d + a; // For the same reason, we cannot store the result of 'd + a' into an 'int' variable int h = d + a; // Error on this line int i = 5 / 2; System.Console.WriteLine(i); // Output: 2 // Dividing 5 by 2 gives 2.5 however since 'int' can only store integer values, hence the decimal (0.5) part is ignored.

On olemassa kaksi muuta tietotyyppiä, uint ja ulong, joita kutsutaan nimillä unsigned int ja unsigned long. Epämerkkinen tietotyyppi voi sisältää vain positiivisia lukuja, minkä vuoksi niiden positiivinen alue on suurempi.

question mark

Mitä avainsanaa käytetään kokonaislukumuuttujan määrittelyyn C#:ssa?

Valitse kaikki oikeat vastaukset

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 11

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 11
some-alt