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

Kokonaislukutietotyypit

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

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

Avainsana int viittaa "kokonaisluku"-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 lauseessa var myVariable = 7; muuttujalle myVariable annetaan kokonaislukuarvo, 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 käsin 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ää. Siksi 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.

Aritmeettisia operaatioita voidaan suorittaa int- ja long-tyyppisillä tiedoilla. Seuraava koodiesimerkki havainnollistaa tätä:

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. Allekirjoittamattomat tietotyypit voivat sisältää vain positiivisia lukuja, minkä vuoksi niiden positiivinen arvoalue 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 2. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 2. Luku 1
some-alt