درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره تخصصی آموزش متن کاوی با ابزار NLTK
مدرس: taghandiki
این دوره را در 11 قسط خریداری کنید
دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
مدرس: حسین احمدی
این دوره را در 23 قسط خریداری کنید
دوره آموزشی ساخت ربات تلگرام
مدرس: taghandiki
این دوره را در 8 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی Exploit نویسی به زبان Perl
مدرس: dr-iman
این دوره را در 7 قسط خریداری کنید
دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
مدرس: حسین احمدی
این دوره را در 11 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید

کار کردن با مقادیر بینهایت و تعریف نشده در جاوا

0 نظرات
46 بازدیدها
سلام به Itpro‌ های عزیز. گاهی در عملیات ریاضی پیش می‌آید که نتیجه تعریف نشده و یا بینهایت می شود. ولی معمولاً در برنامه نویسی گفته می‌شود که در این حالت برای ما استثناء پیش می‌آید و حالت بینهایت در برنامه نویسی وجود ندارد. در این مطلب می‌خواهیم بگوییم که این حرف کاملاً درست نیست و می‌توان در جاهایی فهمید که نتیجه بینهایت شده است و یا نتیجه تعریف نشده است. در این مطلب با استفاده از زبان جاوا تعیین می‌کنیم که نتیجه یک عمل محاسباتی تعریف نشده و یا بینهایت شده است یا خیر. برای مثال ساده اگر ما یک عدد را بر صفر تقسیم کنیم نتیجه‌ای که به وجود می‌آید به خاطر اینکه مخرج کسر بسیار کوچک (صفر) است عدد ما بسیار بزرگ خواهد شد (بینهایت). یعنی عملاً داریم یک عدد را بر صفر تقسیم می‌کنیم و نتیجه بینهایت را تولید می کنیم. از طرفی اگر ما مقدار ۰ را بر ۰ تقسیم کنیم نتیجه تعریف نشده است. حال می‌خواهیم این عبارات را در زبان جاوا پیاده‌سازی کنیم و نتیجه بگیریم. برای این کار ما از نوع داده double استفاده می کنیم. دقت کنید که اگر شما از انواع داده صحیح استفاده کنید به مشکل برخورد می‌کنید و exception تقسیم بر صفر دریافت خواهید کرد. برای اینکه متوجه شویم که نتیجه بینهایت شده است در کلاس Double‌ در جاوا از متد isInfinite استفاده می کنیم. اگر این متد مقدار true به ما بدهد به این معنی است که نتیجه محاسبات بینهایت شده است. همچنین برای دریافتن اینکه نتیجه محاسبات تعریف نشده است از متد isNaN در کلاس Double استفاده می کنیم. در کد زیر نتیجه محاسبات بینهایت شده است:
double s1=5;
double s2=0;
double s3=s1/s2;
System.out.println(Double.isInfinite(s3));

خروجی قطعه کد بالا true خواهد بود. به این معنی که نتیجه به دست آمده بینهایت است. همچنین برای اینکه بفهمیم نتیجه تعریف نشده است مانند کد زیر عمل می کنیم:
double s1=0;
double s2=0;
double s3=s1/s2;
System.out.println(Double.isNaN(s3));

به خاطر اینکه هم صورت کسر و هم مخرج کسر صفر هستند نتیجه تعریف نشده خواهد بود که در کد بالا این اتفاق مشاهده می‌شود و نتیجه کد بالا مقدار true را در خروجی چاپ می کند.
ITPRO باشید.

نویسنده: مهدی عادلی فر
منبع: Itpro
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow