(برنامه نویسی java) کاربرد عملگر علامت ? در محیط جاوا (رباتیک _ الکترونیک)

پژوهشگر و نویسنده:  (  افشین رشید )

نکته: جاوا شامل یک عملگر سه تایی ویژه است که می تواند جایگزین انواع مشخصی از دستورات else-then-if باشد. این عملگر علامت ? است و نحوه کار آن در جاوا مشابه باC و++C و است . 

ابتدا کمی گیج کننده است ، اما می توان از ? براحتی و با کارایی استفاده نمود شکل کلی این عملگر بصورت زیراست : 

experssion 1? experssion2 :experssion3 

در اینجا experssion1 می تواند هر عبارتی باشد که با یک مقدار بولی سنجیده می شود . اگر experssion1 صحیح true باشد ، آنگاه experssion2 سنجیده می شود در غیراینصورت experssion3 ارزیابی خواهد شد . نتیجه عملیات ? همان عبارت ارزیابی شده است . هر دو عبارت experssion2 وexperssion3 و باید از یک نوع باشند که البته void نمی تواند باشد . در اینجا مثالی برای استفاده از عملگر ? مشاهده می کنید : 

 ratio = denom == 0 ? 0 : num / denom; 

هنگامیکه جاوا این عبارت انتساب را ارزیابی می کند ، ابتدا به عبارتی که سمت چپ علامـت سـئوال قـرار دارد ، نگـاه مـی کنـد . اگـر denom مساوی صفر باشد ، آنگاه عبارت بین علامت سئوال و علامت (colon) ارزیابی شده و بعنوان مقدار کل عبارت ? استفاده مـــــی شـــــود . اگـــــر denom مســـــاوی صـــــفر نباشـــــد ، آنگـــــاه عبـــــارت بعـــــد از (colon) ارزیابی شده و برای مقدار کل عبارت ? استفاده می شود . نتیجه تولید شده توسط عملگـر ? سـپس بـه ratio نسـبت داده مـی شـود.

موارد استفاده از این نشانه به قرار زیر است : 

در آخر جملات و عبارات پرسشی مستقیم ؛ چنانکه : کدام را می پسندی؟ سبز یا آبی ؟و در برنامه نویسی جاوا گاه علامت سوال را برای نشان دادن تردید و ابهام در داخل پرانتز می آورند.در پایان جمله های پرسشی غیر مستقیم از علامت سوال ؟؟ استفاده نمی شود بلکه نقطه می گذارند .

نویسنده: (افشین رشید )