Java یک زبان با نوعبندی ایستا است؛ یعنی برای همهچیز در زمان کامپایل یک نوع مشخص وجود دارد. نسبت دادن یک مقدار به یک اسم را تعریف متغیر میگویند.
int explicitVar = 10; // Explicitly typed
مقدار یک متغیر را میتوان با عملگر = مقداردهی و بهروزرسانی کرد.
پس از تعریف، نوع متغیر هرگز تغییر نمیکند.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning different type
// count = false;
Java یک زبان شیءگرا است و لازم است همهی توابع درون یک «کلاس» تعریف شوند.
کلاسها با کلیدواژهی class تعریف میشوند.
به تابعی که درون یک کلاس تعریف میشود، «متد» میگویند.
هر متد میتواند صفر یا چند پارامتر داشته باشد.
نوع همهی پارامترها باید صریح مشخص شود؛ برای پارامترها استنتاج نوع وجود ندارد.
به همین شکل، نوع بازگشتی هم باید صریح مشخص شود.
مقدارها با کلیدواژهی return از تابع بازگردانده میشوند.
برای اینکه کلاسهای دیگر بتوانند یک متد را فراخوانی کنند، باید تعیینکنندهی دسترسی public اضافه شود.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
فراخوانی یک متد با مشخص کردن اسم کلاس و اسم متد و پاس دادن آرگومانها برای هر یک از پارامترهای متد انجام میشود.
int sum = new Calculator().add(1, 2);
اگر یک متد از «وضعیت» کلاس استفاده نکند (که در این تمرین همینطور است)، میتوان آن متد را با تعیینکنندهی static بهصورت «ایستا» درآورد.
به همین شکل، اگر یک کلاس فقط متدهای ایستا داشته باشد، آن هم میتواند با تعیینکنندهی static ایستا شود.
static class Calculator {
public static int multiply(int x, int y) {
return x * y;
}
}
محدوده در Java بین کاراکترهای { و } تعریف میشود.
Java از دو نوع کامنت پشتیبانی میکند.
کامنتهای تکخطی با // شروع میشوند و کامنتهای چندخطی بین /* و */ قرار میگیرند.
مقادیر صحیح بهصورت یک یا چند رقم (پشت سر هم) تعریف میشوند و از عملگرهای ریاضی پیشفرض پشتیبانی میکنند.