اع

اعداد در Java

36 تمرین

درباره‌ی اعداد

یکی از جنبه‌های کلیدی کار با اعداد در Java، تفاوت میان اعداد صحیح (اعدادی بدون رقم پس از جداکننده‌ی اعشار) و اعداد اعشاری (اعدادی با صفر یا چند رقم پس از جداکننده‌ی اعشار) است.

افزون بر int و double، Java انواع داده‌ی دیگری هم دارد:

// 8-Bit Integer
byte   a = 127;

// 16-Bit Integer
short  b = 262143;

// 64-Bit Integer
long   d = 18446744073709551999L;

// 32-bit Single-Precision Floating-Point
float  e = 5409.29f;

هم اعداد صحیح و هم اعداد اعشاری می‌توانند از نویسه‌ی _ به عنوان «جداکننده‌ی رقم» استفاده کنند، که هنگام تعریف اعداد بزرگ می‌تواند کمک‌کننده باشد:

int largeInt = 1_000_000;
// => 1000000

double largeDouble = 9_876_543.21;
// => 9876543.21

محاسبات با عملگرهای حسابی استاندارد (+، -، * و غیره) انجام می‌شوند. اعداد را می‌توان با عملگرهای مقایسه‌ای استاندارد (<، >= و غیره) به همراه عملگر تساوی (==) و عملگر نامساوی (!=) مقایسه کرد.

5 * 6
// => 30

1.2 > 0.8
// => true

120 == 100
// => false

2 != 4
// => true

هنگام تبدیل میان انواع داده‌ی عددی، دو نوع تبدیل عددی وجود دارد:

  1. تبدیل‌های ضمنی: هیچ داده‌ای از دست نمی‌رود و به نگارش اضافه‌ای نیاز نیست.
  2. تبدیل‌های صریح: ممکن است داده از دست برود و به نگارش اضافه‌ای به شکل یک «کست» نیاز است.

از آنجا که int دقت کمتری از double دارد، تبدیل int به double ایمن است و بنابراین یک تبدیل ضمنی به شمار می‌رود. اما تبدیل double به int می‌تواند به معنای از دست رفتن داده باشد، پس به یک تبدیل صریح نیاز دارد.

int i = 9;
double d = 2.72;

// Safe conversion, thus implicit conversion
double fromInt = i;

// Potentially unsafe conversion, thus explicit conversion
int fromDouble = (int)d;
ویرایش از طریق GitHub این پیوند در پنجره یا زبانه‌ی جدیدی باز می‌شود

اعداد را یاد بگیرید