Pre nego što i počnemo da programiramo, bilo bi dobro da razumete šta je programiranje. Programiranje vam je u suštini veština da vi svojim kodom saopštite računaru da se ponaša na određen način. Tokom godina se to radilo na razne načine, ali kako prolazi vreme to postaje sve jednostavnije iako potrebe tržišta su sve komplikovanije. Danas se od programiranja traži mnogo više i retko možete videti da samo jedan programer radi na celom projektu, već se akcenat stavlja na što boljem timu. Na žalost kod naših kompanija je u praksi često slučaj starosne diskriminacije i programerski timovi su često neiskusni u nadi da će steći vremenom sve potrebne veštine, iako to nigde nećete javno čuti. Ali da vidimo kako računari rade. Kad vi programirate, vi u stvari dajete naredbe računaru u vidu jedne linije koda ili više grupisanih redova i takve redove zovemo iskazi. Iskaze grupišete u metode, metode u klase i sve to uglavnom radite da ne pišete više puta isti kod u projektu, već da ga pozovete sa mesta gde je već ispisan i testiran. Takođe vaš kod mora imati svrhu i bitan razlog što je uopšte ispisan u programu. Takođe mora biti bez greške i optimizovan. Vaš računar će uvek tačno da uradi ono što ste mu naredili bez obzira da li je to logično. Logika i pravilno ispisan kod je na vama.
( Tipovi podataka u C# programskom jeziku )
Šta su C# tipovi podataka, kako se deklarišu i inicijalizuju?
Tipovi u C# programskom jeziku se dele na vrednosne i referentne. Ukoliko poznajete C ili C++ programski jezik, pokazivače zaboravite. I nemojte da krijete taj srećan izraz na licu. Umesto pokazivača se u C# programskom jeziku koriste referentni tipovi. I za razliku od drugih programski jezika C# je strog u deklarisanju promenjivih. Jednostavno morate poznavati i deklarisati tipove kao određene tipove. Čak ih morate i inicijalizovati inače će vam Visual Studio 2015 prijaviti grešku.
Promenjiva vam je skladišna lokacija u memoriji računara kojoj dodeljujete neku privremenu vrednost. Najbolje je da promenjivu shvatite kao kutiju u koju će te staviti neki podatak. Međutim nisu sve promenjive iste, kao što nisu ni svi podaci isti. Svaka promenjiva ima svoj tip podataka. Ako pišete slova, onda taj podatak stavljate u promenjivu koja je tipa podataka za slova, dok broj stavljate u promenjivu tip podataka za određeni broj. Međutim postoji mnogo tipova podataka za brojeve, jer nisu svi brojevi isti. Neki su veliki, neku su celobrojni dok su neki sa pokretnim zarezom. Deklaracija znači da vi unapred odredite koji tip pripada vašoj promenjivoj i deklarisanjem vi rezervišete mesto u memoriji za vašu promenjivu. Da bi vam to bilo jasnije, najbolje da odmah to isprogramiramo. Pogledajte navedeni kod gde program sam pokazuje kolike su nam minimalne i maksimalne vrednosti koje određeni tip podataka poseduje:
using System;
using static System.Console;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataTypesVariablesConstants
{
class Program
{
static void Main(string[] args)
{
/* DATA TYPES, VARIABLES AND CONSTANTS
MANUEL RADOVANOVIC - 12/11/15 */
WriteLine("\t\tDATA TYPES IN C# PROGRAMMING LANGUAGE\n");
// This bool
variable can be true or false
bool boolVariable = true;
WriteLine(" bool or System.Boolean ... {0}, {1}", boolVariable, !boolVariable);
// This byte
variable has range from 0 to 255
byte byteVariable = 0;
WriteLine(" byte or System.Byte ... {0}, {1}", byteVariable, byteVariable = 255);
// This sbyte
variable has range from -127 to 128
sbyte sbyteVariable = -128;
WriteLine(" sbyte or System.SByte ... {0}, {1}", sbyteVariable, sbyteVariable = 127);
// This
variable has only a character
char charVariable = 'A';
WriteLine(" char or System.Char ... {0}, {1}\n", charVariable, charVariable = '9');
decimal decimalVariable = decimal.MinValue;
WriteLine(" decimal or System.Decimal ... {0},\n\t\t\t\t {1}\n",
decimalVariable,
decimalVariable = decimal.MaxValue);
double doubleVariable = double.MinValue;
WriteLine(" double or System.Double ... {0},\n\t\t\t {1}\n",
doubleVariable,
doubleVariable = double.MaxValue);
float floatVariable = float.MinValue;
WriteLine(" float or System.Single ... {0}, {1}\n",
floatVariable,
floatVariable = float.MaxValue);
int intVariable = int.MinValue;
WriteLine(" int or System.Int32 ... {0}, {1}", intVariable, intVariable = int.MaxValue);
uint uintVariable = 0;
WriteLine(" uint or System.UInt32 ... {0}, {1}\n", uintVariable, uintVariable = uint.MaxValue);
long longVariable = long.MinValue;
WriteLine(" long or System.Int64 ... {0}, {1}", longVariable, longVariable = long.MaxValue);
ulong ulongVariable = ulong.MinValue;
WriteLine(" ulong or System.UInt64 ... {0}, {1}\n", ulongVariable, ulongVariable = ulong.MaxValue);
short shortVariable = short.MinValue;
WriteLine(" short or System.Int16 ... {0}, {1}", shortVariable, shortVariable = short.MaxValue);
ushort ushortVariable = ushort.MinValue;
WriteLine(" ushort or System.UInt16 ... {0}, {1}\n", ushortVariable, ushortVariable = ushort.MaxValue);
string stringVariable = "A
string can have 2GB or over 1 billion characters.";
WriteLine(" string or System.String ... {0}\n", stringVariable);
object objectVariable = "An
object can hold any type.";
WriteLine(" object or System.Object ... {0}\n", objectVariable);
const decimal PI = 3.14159265359M;
WriteLine(" You cannot change constant value after
initialization.\n Constant PI = {0} always.",
PI);
ReadLine();
}
}
}
Kad pokrenemo navedeni program dobićemo rezultate koji nam pokazuju minimalne i maksimalne vrednosti tipova podataka u C# programskom jeziku.
DATA TYPES IN C# PROGRAMMING LANGUAGE
bool or System.Boolean ... True, False
byte or System.Byte ... 0, 255
sbyte or System.SByte ... -128, 127
char or System.Char ... A, 9
decimal or System.Decimal ... -79228162514264337593543950335,
79228162514264337593543950335
double or System.Double ... -1.79769313486232E+308,
1.79769313486232E+308
float or System.Single ... -3.402823E+38, 3.402823E+38
int or System.Int32 ... -2147483648, 2147483647
uint or System.UInt32 ... 0, 4294967295
long or System.Int64 ... -9223372036854775808, 9223372036854775807
ulong or System.UInt64 ... 0, 18446744073709551615
short or System.Int16 ... -32768, 32767
ushort or System.UInt16 ... 0, 65535
string or System.String ... A string can have 2GB or 1 billion characters.
object or System.Object ... An object can hold any type.
You cannot change constant value after initialization.
Constant PI = 3.14159265359 always.
Kako navedeni program izgleda možete pogledati i na video-u:
( C# 6.0 Tutorial - Fundamentals - 2. Data Types, Variables and Constants )
Prvo što možete primetiti u ovom kodu je da je on sav na engleskom jeziku. Kad vi učite programiranje, često se koristi i srpski jezik u nazivima promenjivih, metoda, klasa; postoje i kompanije koje kod nas vode cele projekte na srpskom jeziku ali je to u principu loša praksa. Vaš kod uvek treba da je na engleskom jeziku da bi bio razumljiv svakom programeru u svetu. Promenjiva se na engleskom jeziku kaže variable. Ja sam u ovom primeru namerno svaku promenjivu nazvao variable ali sa drugačijim prefiksom, da bi vama bilo jasnije šta su promenjive. Znači:
float floatVariable = float.MinValue;
( Ključne reči u C# programskom jeziku )
Ne može da korisitite specijalne karaktere za nazive promenjivih osim donje crte. Na primer ne možete ovako zvati promenjive:
888, int, 8house, vari@ble itd.
Takođe ne preporučujem da koristite donju crtu _ poput _variable iako je to dozvoljeno jer možete da ograničite međupovezanost nekog drugog programskog jezika sa C# programskim jezikom poput Visual Basic-a. Vi ste navedenu liniju koda mogli napisati i ovako:
float floatVariable =
-3.402823E+38F;
To je najmanja vrednost za koju tip podataka float možete koristiti. Ako će te koristiti brojeve u vašem programu manje od minimalne vrednosti ili veće od maksimalne vrednosti nekog tipa podataka, onda treba da izaberete drugi tip podataka koji je u rangu tipa podataka; inače će te dobiti grešku za prekoračenje memorije. Deklaracija promenjive se vrši samo jednom, naučna notacija E u navedenom izrazu označava da je broj pisan skraćeno od -3.4028230000000000000000000000000000000, to ste učili u matematici; ali sufiks F na kraju broja je druga priča. Npr. ako vi napišete nešto ovako:
float floatVariable =
8.54;
Dobiće te grešku jer računar ne zna da li je 8.54 double, float ili decimal tip podataka.
Sufiksi u C# programskom jeziku su:
- F – float
- D – double
- M – decimal
- L – long
- U – unsigned
- UL – unsigned long
int intVariable = 8;
Pogledajte ovu liniju koda:
WriteLine(" decimal or System.Decimal ... {0},\n\t\t\t\t {1}\n",
decimalVariable,
decimalVariable = decimal.MaxValue);
( Escape karakteri u C# programskom jeziku )
Komentari koji su podržani od strane C# programskog jezika su isti kao što koriste programeri C i C++ programskog jezika. Oni mogu biti single-line komentari koji počinju sa karakterima // i traju do kraja linije u kojoj pišete komentar:
//
This bool variable can be true or false
ili delimited comments – razdvojeni komentari koji počinju sa /* karakterima i završavaju se sa */ karakterima:
/* DATA TYPES, VARIABLES AND CONSTANTS
MANUEL RADOVANOVIC - 12/11/15 */
Postoje i specijalni
XML tag komentari koji se u C# programskom jeziku uglavnom koriste za
dokumentaciju koda ili klase. Počinje sa /// karaktera i sama pravi summary
tag. Na primer:
///
<summary>
/// This class performs an important function.
///
</summary>
Konstante su vam isto što i promenjive samo što u njima držite vrednosti koje nećete menjati. Konstante ne možete menjati, jedino ako prepravljate program. Tad su korisne jer onda prepravljate podatak na samo jednom mestu, inače bi ste morali izvrnuti čitav kod programa i prepravljati svugde gde se pojavljuje vrednost koju hoćete da promenite. I mnogo je jednostavnije pisati u kodu PI gde se traži nego 3.141459265395. Konstante se deklarišu ključnom rečju const.
const decimal PI = 3.14159265359M;
Šta je došlo novo sa C# 6.0 u navedenom primeru?
Sad možete imensku reference da označite kao statičke i onda da koristite njihove metode bez kompletne imenske putanje.
using static System.Console;
Onda nije potrebno da pišemo:
Console.WriteLine("\t\tDATA
TYPES IN C# PROGRAMMING LANGUAGE\n");
Već možete da izostavite imenski naziv Console:
WriteLine("\t\tDATA TYPES IN C# PROGRAMMING LANGUAGE\n");
using System.Console;
Gospodin Manuel Radovanović je zaista jedan veliki stručnjak i dosta se može naučiti iz ovih tutorijala.Gledao sam razne tutorijale i tvrdim da su ovi jedni od boljih.Hvala G.Manuel.
OdgovoriIzbrišiHvala
OdgovoriIzbriši