|
تاریخ انتشار:۱۰:۰ ۱۳۹۸/۷/۱۳
آموزش #C - جلسه پنجم
آشنایی با دیتا تایپ کاراکتر و منطق بولین
در قسمت قبل در مورد Floating-Point Data Types و چگونگی دریافت مقدار از کاربر و چند نکته ی دیگر، توضیحاتی داده شد. در این قسمت به توضیح دیتا تایپهای char و bool خواهیم پرداخت. کاراکتر و بولین دو بحث پایه ای و مهم در برنامه نویسی هستند که کابردهای اساسی و مهمی دارند.
کاراکترها (Characters)
در سی شارپ از دیتا تایپ char برای نگهداری هر کاراکتری میتوان استفاده کرد. در متغیری از جنس char شما میتوانید کاراکترهای تکی (Single Character) را نگهداری کنید. سی شارپ بر اساس استاندارد یونی کد از ۱۶ بیت برای نمایش کاراکترها استفاده میکند، در صورتی که اکثر زبانهای دیگر از ۸ بیت استفاده میکنند، مثل ++C و این میتواند مشکل ساز شود زیرا بعضی از حروف الفبایی را (مثل زبان چینی) نمیتوان در ۸ بیت نمایش داد. این ویژگی سی شارپ باعث میشود بتوانید مقادیر جالبی را با فرمت یونی کد تولید کنید. برای مثال حروف الفبای خارجی که برای نمایش آنها باید از کاراکتر استفاده کرد مثل حروف یونانی، عبری، چینی و آلمانی همچنین علامتهای خاص از جمله علامتهای پولهای خارجی، علامتهای ریاضی، اشکال هندسی و غیره که در صفحه کلید استاندارد موجود نیستند اما با استاندارد یونی کد قابل دسترسی هستند. مقادیر کاراکتر را باید بین علامت single quotation (سینگل کوتیشن ‘ ‘) قرار داد، بدلیل اینکه کامپیوتر برای نگهداری مقادیر character و integer تفاوت قائل میشود.
برای مثال هر دو عبارت زیر درست هستند:
;int aNumValue = 9
در صورتیکه هر دو عبارت زیر نادرست هستند:
;char aCharValue = 9 ;'int aNumValue = '9 error, won't work//
یک عدد میتواند یک کاراکتر باشد، که در اینصورت باید بین single quotation قرار بگیرد و نوع آن هم char باشد. همچنین یک حرف الفبایی نمیتواند در متغیری از نوع عددی قرار بگیرد.
چند نمونه:
;'char myInitial = 'J ;'%'=char percentSign ;'char numThatIsAChar = '9
کاراکترها را میتوان در خروجی نمایش داد:
static void Main(string[] args) } ;char ch ;'ch = 'X ;Console.WriteLine("This is a ch: " + ch) {
شما میتوانید هر کاراکتری از جمله کاراکترهایی مثل backspace و tab را ذخیره کنید. برای ذخیره ی این نوع کاراکترها (Escape Sequence) از دو علامت استفاده میشود که همیشه اولین آنها علامت backslash است. این جفت علامت، یک کاراکتر را نمایش میدهند. برای مثال کد زیر، کاراکتر backspace و کاراکتر tab را به ترتیب در متغیرهای aBackSpaceChar و aTabChar ذخیره میکند:
;'char aBackspaceChar = '\b ;'char aTabChar = '\t
در این مثال، escape sequence یک مقدار را برای هر کاراکتر (یک backspace و یک tab بهجای حروف b و t) نشان میدهد. جدول زیر برخی از escape sequence های رایج در سی شارپ را نشان میدهد.
متغیری از جنس char تنها یک کاراکتر را در خود نگه میدارد. برای اینکه رشته ای از کاراکترها را داشته باشید (مثل نام شخصی خودتان) باید از string استفاده کنید. در طول انجام مثالها با نحوه ی استفاده از char و اینکه در چه مواردی استفاده دارد بیشتر آشنا خواهید شد.
بولین (The bool Type)
دیتا تایپ bool یک منطق بولی (بولین – Boolean) است که بر پایه ی این دو مقدار است: false و true. یک متغیر از جنس int میتواند میلیونها مقدار مختلف در زمانهای مختلف را در خود ذخیره کند ولی متغیری از جنس bool تنها میتواند یکی از این دو مقدار را در خود نگه دارد: true یا false. برای اعلام یک متغیر بولین باید از کلمه کلیدی bool استفاده کنید.
مثال زیر دو مقدار را در دو متغیر از جنس bool ذخیره میکند:
;bool isItMonday = false ;bool areYouTired = true
شما همچنین میتوانید بر اساس نتیجه ی مقایسه ی دو مقدار، مقدار true یا false را در یک متغیر بولین قرار دهید. عملگرهای مقایسه ای دو آیتم را با هم مقایسه میکنند، یک عبارت که شامل عملگر مقایسه ای است، یک مقدار بولین دارد.
جدول زیر ۶ عملگر مقایسه ای که سی شارپ پشتیبانی میکند را نشان میدهد:
هنگامی که شما از عملگرهای مقایسه ای که دارای دو علامت هستند (=>، =<، =!، ==) استفاده میکنید، نمیتوانید بین دو علامت از space استفاده کنید و توجه داشته باشید که علامت = همیشه در سمت راست است.
به مثال زیر توجه کنید:
static void Main(string[] args) } bool isSixBigger = 6 > 5; // Value stored would be true bool isSevenSmallerOrEqual = 7 <= 4; // Value stored would be false ;Console.WriteLine(isSixBigger) ;Console.WriteLine(isSevenSmallerOrEqual) {
در این مثال دو عدد با هم مقایسه میشوند و حاصل آنها که یا true است یا false، در متغیر بولین قرار داده میشود. هرچند این روش مقدار دهی به متغیرهای بولین تا حدودی بلا استفاده است ولی برای مثال و یادگیری در اینجا مناسب است. استفاده از مقادیر بولین زمانی معنای بهتری پیدا میکند که شما از متغیرها بجای اعداد ثابت در مقایسه ها استفاده کنید.
به مثال زیر توجه کنید:
static void Main(string[] args) } ;int hoursWorked = 45 ;int annualIncome = 80000 ;bool doesEmployeeReceiveOvertime = hoursWorked > 40 ;bool isEmployeeInHighTaxBracket = annualIncome > 100000 ;Console.WriteLine(doesEmployeeReceiveOvertime) ;Console.WriteLine(isEmployeeInHighTaxBracket) {
در بولین اول این برنامه متغیر hoursWorked با مقدار ثابت ۴۰ مقایسه میشود، اگر مقدار hoursWorked کمتر از ۴۰ باشد پس مقدار متغیر doesEmployeeReceiveOvertime برابر با false میشود، در غیر اینصورت برابر با true میشود.
در بولین بعدی، متغیر annualIncome باید مقداری بیشتر از ۱۰۰۰۰۰ را داشته باشد تا متغیر isEmployeeInHighTaxBracket برابر با true شود.
نکته ی مهم: توجه داشته باشید که علامت انتساب یک "تک مساوی" است و علامت مقایسهی دو مقدار "دومساوی" است. به مثال زیر توجه کنید:
;using System
;using System.Collections.Generic
;using System.Linq
;using System.Text
namespace test } class Program } static void Main(string[] args) } ;bool b ;b = false ;Console.WriteLine("b is " + b) ;b = true ;Console.WriteLine("b is " + b) ;Console.WriteLine("10 > 9 is " + (10 > 9)) ;Console.WriteLine("10 == 9 is " + (10 == 9)) { { {
:خروجی
b is false b is true is true 10>9 is false 10==9
همانطور که میبینید هنگامی که مقدار بولین در خروجی توسط ()Console.WriteLine نمایش داده میشود، مقدار آن یا بصورت True نمایش داده میشود یا False. همینطور (۱۰ > ۹) و (۱۰ == ۹) شامل مقدار بولی هستند.
منبع:webtarget.ir
|
|
|