|
تاریخ انتشار:۱۰:۰ ۱۳۹۸/۶/۳۰
آموزش #C - جلسه سوم
آشنایی با متغیرها (variables)، عملگرها (operators) و value type ها
در قسمت قبل با یک برنامه ی ساده شروع کردیم که تنها در خروجی یک پیغام را چاپ میکرد، در این قسمت قصد داریم با متغیرها (variables)، عملگرها (operator) و value type بیشتر آشنا شویم.
شاید هیچ سازه ای به اندازه ی متغیرها برای یک زبان برنامه نویسی اهمیت نداشته باشند. متغیر در واقع مکانی در حافظه است که میتوان یک مقدار را به آن اختصاص داد. به این دلیل به آن متغیر میگویند که مقدار آن میتواند در طول اجرای برنامه تغییر کند. به عبارت دیگر محتوای متغیرها قابل تغییر هستند و همیشه ثابت نمیمانند. ویژوال استودیو را اجرا کنید و یک پروژه جدید بسازید اگر این کار را نمیتوانید انجام دهید حتماً قسمت قبل را مطالعه بفرمایید.
به برنامه زیر دقت کنید، این برنامه دو متغیر را که اسم آنها x و y است میسازد:
;using System ;using System.Collections.Generic ;using System.Linq ;using System.Text namespace Example } class Program } static void Main(string[] args) } ;int x ;int y x = 100; // this assign 100 to x ;Console.WriteLine("X Contains " + x) ;y = x / 2 ;Console.Write("y contains x / 2: ") ;Console.WriteLine(y) { { {
وقتی برنامه را اجرا کردید (توسط Ctrl + F5) خروجی زیر برای شما نمایش داده میشود:
x contains 100 y contains x / 2: 50
این برنامه شامل چندین مفهوم جدید است که در ادامه به شرح آنها میپردازیم:
;int x
اعلام یک متغیر که نام آن x و نوع آن عدد صحیح (integer) است. در سی شارپ ، همه ی متغیرها پیش از اینکه مورد استفاده قرار بگیرند ابتدا باید اعلام شوند. علاوه بر این، نوع مقداری را که متغیر در خود نگه میدارد باید مشخص شود. در این مورد x میتواند مقادیر integer (عدد صحیح) را در خود نگه دارد. در سی شارپ، برای اعلام یک متغیر از نوع عدد صحیح (integer) قبل از نام آن از کلمه کلیدی int استفاده میکنند. پس int x یک متغیر را اعلام میکند که اسم آن x و نوع آن integer (عدد صحیح) است.
;int y
توجه داشته باشید که در این مورد هم یک متغیر از نوع عدد صحیح ساخته میشود با این تفاوت که اسم آن فرق میکند. به صورت کلی شما برای اعلام یک متغیر از این الگو میتوانید پیروی کنید:
که type نوع متغیر و var-name نام متغیر را مشخص میکند. علاوه بر int سی شارپ از نوع های داده ای (data type) دیگر هم پشتیبانی میکند که کامل به شرح آنها خواهیم پرداخت.
;x = 100
این خط کد مقدار ۱۰۰ را به x اختصاص میدهد. در سی شارپ، عملگر انتساب یک تک مساوی است و بدین صورت عمل میکند که یک کپی از مقدار سمت راست خودش را در متغیر سمت چپش قرار میدهد. همانطور که میبینید در اینجا علامت انتساب باعث شده است که یک کپی از مقدار سمت راست (عدد ۱۰۰) در متغیر سمت چپ (متغیر x) قرار بگیرد. خط کد بعدی مقدار x را در خروجی نمایش میدهد که قبل از آن رشتهی " X Contains" قرار دارد:
;Console.WriteLine("x contains " + x)
در این خط کد علامت + موجب میشود که مقدار x بعد از string (رشته) نمایش داده شود. این روش میتواند یک حالت کلی به خود بگیرد. با علامت + شما میتوانید آیتم های دیگری را که میخواهید در یک ()WriteLine داشته باشید، به هم وصل کنید. خط کد بعدی مقدار x را که بر ۲ تقسیم شده است به y اختصاص میدهد:
این خط کد مقدار x را بر ۲ تقسیم و سپس نتیجه ی آن را در y ذخیره میکند. بنابراین بعد از اجرای این خط، y شامل مقدار ۵۰ میشود و مقدار x بدون تغییر باقی میماند. سی شارپ مانند تمام زبانهای برنامه نویسی طیف گسترده ای از عملگرهای محاسباتی را پشتیبانی را میکند. از جمله این عملگرها:
دو خط بعدی برنامه:
;Console.Write("y contains x / 2: ") ;Console.WriteLine(y)
دو چیز در اینجا جدید است: اول ()Console.Write است که رشته ی :y contains x / 2 را در خروجی نمایش میدهد. تفاوت این دستور با دستور ()Console.WriteLine این است که وقتی خروجی بعدی تولید میشود از همان خط شروع میشود، نه از خط بعدی. دوم اینکه ()Console.WriteLine متغیر y را به عنوان ورودی گرفته است و مقدار آن را در خروجی نمایش میدهد. پس توجه داشته باشید، هنگامی که میخواهید مقدار یک متغیر را در خروجی نمایش دهید کافی است اسم آن را در ()Console.WriteLine یا ()Console.Write وارد کنید. همانطور که مشاهده میکنید مقدار y در جلوی رشتهی :y contains x / 2 نمایش داده میشود زیرا برای چاپ این رشته از ()Console.Write استفاده کردیم ولی اگر از ()Console.WriteLine استفاده میکردیم مقدار y در خط بعدی نمایش داده میشد. یک نکته ی جالب دیگر در مورد اعلام متغیرها این است که شما میتوانید دو یا بیشتر از دو متغیر را در یک تعریف متغیر اعلام کنید. فقط کافی است اسم متغیرها را با کاما از هم جدا کنید، برای مثال متغیرهای y و x را از این روش هم میتوان اعلام کرد:
;int x, y
همچنین نیازی نیست که ابتدا متغیر را تعریف کنید و بعد به آن مقدار بدهید، میتوانید این کار را هم زمان با تعریف متغیر انجام دهید. بدین صورت:
;int x = 100
تا اینجا ما فقط از اعداد صحیح برای محاسبه استفاده کردیم، مثل عدد ۱۸ یا ۲۲ و غیره. برای استفاده از اعداد اعشاری مثل ۲۲.۵ یا ۱۵.۶ باید از نوع عددی double، float و decimal استفاده کنیم. نوع عددی float برای مقادیر ممیز شناور با دقت کمتر و نوع عددی double برای مقادیر ممیز شناور با دقت بیشتر است به طوری که دقت double دو برابر float است. decimal یک دیتا تایپ ۱۲۸ بیتی است که در مقایسه با float و double از دقت بیشتر و بازه ی کمتری برخوردار است و این خاصیت آن باعث میشود که برای محاسبات پولی و مالی بسیار مناسب باشد. نوع float سی و دو بیتی است و بازه ی اعداد آن را میتوانید در جدول زیر مشاهده کنید:
نوع دابل ۶۴ بیتی است و محدوده ی آن در جدول زیر مشخص است:
بازه ی تقریبی و دقت decimal را در جدول زیر میتوانید مشاهده کنید:
سی شارپ شامل دو دسته بندی برای data type (نوع داده) است: Value Type
Reference Type
تفاوت بین این دو، مقداری است که آن متغیر دارد. برای value type، متغیر یک مقدار واقعی را در خود نگه میدارد مثل: ۲۲ یا ۳۴۵.۶ اما برای Reference type، متغیر یک ارجاع به Value را در خود نگه میدارد که این اکثراً در کلاس مورد استفاده قرار میگیرد. در مورد Reference type بعداً بیشتر صحبت خواهیم کرد، فعلاً به value type میپردازیم. در جدول زیر لیست کاملی از تمام value type ها را میبینید:
سی شارپ همچنین ۹ integer type را تعریف میکند که char، byte، sbyte، short، ushort، int، uint، long، ulong
هستند و هرکدام بازه ی خاصی از اعداد را شامل میشوند. در جدول زیر بازه ی عددی و تعداد بیت هریک را میبینید. نوع char اصولاً به نمایندگی از کاراکتر استفاده میشود که در مقالات آینده در مورد آن صحبت خواهیم کرد:
در قسمت بعدی با چندین مثال به تشریح کاملتر مباحثی که در اینجا به صورت تئوری بیان شد میپردازیم. سعی کنید که حتماً اصطلاحات انگلیسی استفاده شده در این مقالات را یاد بگیرید چرا که برنامه نویسی اصطلاحات زیادی دارد و اکثراً واژه ی معادل فارسی ندارند یا در صورت داشتن، معادل فارسی آنها آنچنان که باید مناسب نیست و ما ترجیح میدهیم که از واژه و اصطلاحات اصلی آنها استفاده کنیم.
منبع: webtarget.ir
|
|
|