Visual Basic 2005/Operaatorid
Operaatorid
[muuda]Visual Basic 2005'le on sisse ehitatud palju operaatoreid, millega saame andmeid mõjutada. Operaator täidab funktsiooni ühel või mitmel alusel operandide vahel. Näiteks me liidame kaks arvväärtusmuutujat operaatoriga "+" ja salvestame saadud väärtuse operaatoriga "=" kolmandasse muutujasse järgnevalt: üldarv x + üldarv y = üldarv z. Kahte muutujat (x, y) kutsutakse operandideks. VB 2005 on palju erinevaid tüüpe operande ja järgnevalt on nad kirja pandud oma funktsioonitähtsuselt.
Aritmeetilised Operaatorid
[muuda]Aritmeetilisi operaatoreid kasutatakse aritmeetikalistes ülesannetes mille arvutatakse numbrilisi väärtuseid. Allpool asetsev tabel iseloomustab neid.
|
Operaator |
Kasutamine |
| ^ | Astendamine |
| - | Negatsioon |
| * | Korrutamine |
| / | Jagamine |
| \ | Jagatise täisosa eraldamine |
| Mod | Jagatise jäägi eraldamine |
| + | Liitmine |
| - | Lahutamine |
Näide
[muuda]See näide iseloomustab, kuidas saab andmeid siduda ja andmeid väärtustada.
Sub Main()
Dim a As String = "Konstandi pii ligikaudne väärtus on "
Dim b As String = ", millest täisosa on "
Dim c As String = " ja murdosa "
Const pii As Double = Math.PI
Dim täisosa As Integer = pi
Dim murdosa As Double = pii Mod 1
Dim Teade As String = a & pii & b & täisosa & c & murdosa & "."
Console.WriteLine(Teade)
Console.Read()
End Sub
või
Sub Main()
Dim Teade As String = "Konstandi pii ligikaudne väärtus on {1}," & _
"millest täisosa on {2} ja murdosa {3}."
Const pi As Double = Math.PI
Dim murdosa As Double = pii Mod 1
Dim täisosa As Integer = pii
Console.WriteLine(Teade, vbNewLine, pii, täisosa, murdosa)
Console.Read()
End Sub
NB: Konsooli ilmuks teade:
"Konstandi pii ligikaudne väärtus on 3,14159265358979, millest täisosa on 3 ja murdosa 0,14159265358979."
Aheldamise operaatorid ehk sidujad
[muuda]Aheldamise operaatorid ühendavad mitu sõnet üheks.
|
Operaator |
Kasutamine |
| & | Sõne siduja |
| + | Sõne siduja |
| {} | Sõne asendaja, C analoog. |
Näide
[muuda]See näide näitab, kuidas on võimalik sõnesid ja arve omavahel siduda
Sub Main()
Dim a As String = "Eile olin "
Dim b As String = ", aga täna olen "
Dim c As Integer = 18
Dim Teade As String = a & c & b & c + 1 & "."
Console.WriteLine(Teade)
Console.Read()
End Sub
Konsooli tuleb teade: "Eile olin 18, aga täna olen 19."
Näide 2
[muuda]See näide näitab, kuidas on võimalik sõnes olevaid muutujaid asendada.
Sub Main()
Dim a As String = "Eile olin {1}, aga täna olen {2}.{0}"
Dim c As Integer = 18
Console.Write(a, vbNewLine, c, c + 1)
Console.Read()
End Sub
Seletus: Sõnes olev {0} asendatakse esimese muutujaga, mis talle järgneb. Sealjuures tähistab {} sulgudes sees olev number mitmenda talle järgneva muutujaga tuleb ennast asendada. Kusjuures pole tähtis, mitu korda ja kas üldse kasutatakse kõiki muutujaid. Veidi suurem vahe on näitega 1 see, et nüüd kasutatakse reavahetuseks konstanti vbNewLine. Asendusmuutujaks vormistatakse ala, mis järgneb sõnele ja on komaga eraldatud talle eelnevatest asendusmuutujatest. 'NB: Konsooli tuleb teade:
"Eile olin 18, aga täna olen 19."
Võrdeoperaatorid
[muuda]Võrdeoperaatorite abil võrreldakse võrratuse operande ja tagastatakse loogiline väärtus, mis võib olla ka tõene või väär. Seda sümboliseerib tabel allpool:
|
Operaator |
Kasutamine |
| = | Võrdväärsus (mitte vähem ega rohkem) |
| <> | Ebavõrdsus (vähem kui või rohkem kui) |
| < | vähem kui |
| > | rohkem kui |
| <= | vähem kui või võrdväärne |
| >= | rohkem kui või võrdväärne |
Loogilised ja bitioperaatorid
[muuda]Loogilised operaatorid võrdlevad kahendväärtuseid ja tagastavad kahendväärtuse (tõene või väär). Lühidalt: loogilised operaatorid on väärtusedhoidjad, mis võivad tagastada sündmuse või tehte kohta tema loogilise tehte väärtuse, kas tõene või väär. Järgnev tabel iseloomustab neid.
|
Operaator |
Kasutamine |
| Not | Negatsioon [ Mitte ] |
| And | Konjunktsioon (sidesõna) [ Ja ] |
| AndAlso | Konjunktsioon (sidesõna) [ JaVeel ] |
| Or | Disjunktsioon (katkendlikkus) [ Või ] |
| OrElse | Disjunktsioon (katkendlikkus) [ VõiVeel ] |
| XOr | Disjunktsioon (katkendlikkus) [ XVeel] |