هفت سال قبل اولین مطلبم در مورد جاوا را با عنوان «تاریخچه زبان جاوا» نوشتم. مطلبی که در ادامه مشاهده میفرمایید، ادامه آن مقاله و راهنمایی برای شروع برنامهنویسی به زبان جاوا است.
معرفی JDK
JDK که مخفف کلمه Java Development Kit میباشد، مجموعهای از کلاسها و ابزارهاست که با استفاده از آن میتوان یک برنامه جاوا را کامپایل و اجرا کرد. JDK از اجزای زیر تشکیل شده است:
- مجموعهای از کلاسها (که در واقع کتابخانه یا Library جاوا محسوب میشوند.)
- کامپایلر
- دیباگر یا اشکالزدا (Debugger)
- محیط اجرایی جاوا JRE
JDK همچنین حاوی ابزارهایی است که با استفاده از هریک از آنها میتوانید عملیات مختلفی که در زبان جاوا وجود دارند را انجام دهید. برخی از این ابزارها (دستورات) عبارتند از:
- javac: ابزاری برای کامپایل کردن کدهای جاواست. این ابزار از روی فایلهای *.java فایلهای *.class میسازد.
- java: این ابزار، برنامهای را که کامپایل شده است را اجرا میکند.
- jar: از روی مجموعهای از فایلها، یک فایل jar میسازد. فایلهای jar، فایلهای بستهبندی شبیه zip هستند که در جاوا استفاده میشوند. این فایلها پسوند *.jar دارند.
- javadoc: از این ابزار برای تولید مستندات کلاسهای جاوا استفاده میشود.
- jdb: ابزاری برای اشکالزدایی (debug) برنامههاست.
- appletviewer: ابزاری برای تست و مشاهده اپلتهاست. زمانیکه در حال نوشتن یک اپلت هستید، با استفاده از این ابزار میتوانید آن را اجرا نموده و عملکرد صحیح آن را بررسی کنید.
نصب JDK
ابتدا نسخه متناظر با سیستم عامل خود را از صفحه Java SE Development Kit 7 Downloads دریافت نمایید. در مراحل نصبی که در ادامه مشاهده میفرمایید، <version> زیر نسخه مرتبط با بروزرسانی JDK است. همچنین در تمامی مراحل از نسخه 64bit جاوا استفاده شده است.
نصب JDK در گنو/لینوکس
بسته deb برای اوبونتو و توزیعهای مشابه
دستورات زیر را برای اضافه کردن مخزن ppa و نصب جاوا به ترتیب در خط فرمان وارد نمایید:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java7-set-default
sudo update-java-alternatives -s java-7-oracle
در صورتیکه هنگام دانلود جاوا با خطای Forbidden 403 مواجه شدید، دستور نصب چندین بار تکرار نمایید تا نهایتا به یک mirror باز دست یابید. برای مطمئن شدن از نصب کامل جاوا دستور زیر را وارد نمایید:
java -version
خروجی دستور بالا باید مشابه زیر باشد:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
بسته rpm برای RHEL، CentOS 6/5 و Fedora 18-12
بعد از دریافت فایل rpm از سایت اوراکل دستور زیر را در خط فرمان وارد نمایید:
rpm -Uvh jdk-7u45-linux-x64.rpm
برای مطمئن شدن از نصب کامل جاوا دستور زیر را وارد نمایید:
java -version
خروجی دستور بالا باید مشابه زیر باشد:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
سایر توزیعهایگنو/لینوکس
وارد خط فرمان (ترمینال) شده و با دستور cd به پوشهای که قصد نصب جاوا در آن را دارید بروید. با دستور mv فایل jdk-7u<version>-linux-x64.tar.gz را به این پوشه منتقل نمایید. در نهایت با دستور tar فایل را از حالت فشرده خارج نمایید:
tar zxvf jdk-7u-linux-x64.tar.gz
نصب JDK در ویندوز
برای نصب حداقلی JDK کافیست فایل jdk-7<version>-windows-x64.exe را اجرا کرده و مراحل نصب را طی نمایید.
نصب JDK در مک
برای نصب JDK در مک بر روی فایل jdk-7u<version>-macosx-x64.dmg دوبار کلیک نموده و در پنجره جدید بر روی فایلی که پسوند pkg دارد دوبار کلیک نمایید تا برنامه install اجرا شود. مراحل نصب را تا انتها ادامه دهید تا جاوا به طور کامل رو روی سیستم عامل شما نصب شود.
عناصر پایه زبان جاوا
قبل از شروع به کدنویسی به هر زبانی، ابتدا باید عناصر پایهای آن زبان مانند کلمات کلیدی، انواع داده و ... را فرا گرفت. در ادامه عناصر پایهای زبان جاوا و نحوه پیادهسازی و استفاده برخی از آنها را نوشتهام.
کلمات کلیدی (Keywords)
کلمات کلیدی به کلماتی گفته میشود که برای کامپایلر و زبان برنامهنویسی با معنا بوده و نحوه تغسیر یک کد را مشخص میکنند. در زبان جاوا این کلمات تماما به حروف کوچک بوده و امکان استفاده از آنها به عنوان نام متغیر، نام کلاس، نام تابع و متد وجود ندارد. زبان جاوا پنجاه کلمه کلیدی دارد که عبارتند از:
abstract | continue | for | new | switch |
assert | default | goto | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp | volatile |
const | float | native | super | while |
توضیحات کد (Comments)
منظور از توضیحات، عباراتی هستند که کامپایلر آنها را هنگام کامپایل نادیده میگیرد. دلایل نوشتن توضیحات در کد عبارتند از:
- خواناتر کردن کد برنامه
- مشخص کردن مواردی که نیاز به رسیدگی دارند (TODO)
- مشخص کردن کلی اطلاعات نگارش کد مانند نسخه، برنامهنویس، زمان نگارش، تاریخ بروزرسانی، محیط برنامهنویسی مورد استفاده و...
- تعریف نحوه استفاده از یک تابع (Method)، پارامترها و خروجی آن
- استفاده از ابزارهایی مانند javadoc برای ساخت خودکار مستندات از توضیحات موجود در کدها
برای نوشتن توضیحات (Comment) در زبان جاوا، با توجه به توضیح مورد نظر میتوان آن را به یکی از سه نوع خطی، چند خطی (بلوکی) و مستنداتی (Documentation) نوشت. مانند:
خطی
// This is an end-of-line comment
چند خطی
/* This is a multi-line comment.
It may occupy more than one line. */
با هدف تولید مستندات (Documentation)
/**
* This is a documentation comment.
*
* @author Saeid Zebardast
* @see Docs
* @since 1.0
*/
انواع داده (Data Types)
در زبان جاوا ۸ نوع داده اولیه (Primitive Data Type) تعریف شده است. توضیحات ۸ نوع داده اولیه جاوا در جدول زیر آماده است:
نوع | حاوی | پیشفرض | اندازه | محدوده قابل استفاده و نمایش |
---|---|---|---|---|
boolean | true یا false | false | 1bit | NA |
char | کاراتر یونیکد | \u0000 | 16bits | \u0000 to \uFFFF |
byte | داده عددی صحیح | 0 | 8bits | -128 .. 127 |
short | داده عددی صحیح | 0 | 16bits | -32,768 .. 32,767 |
int | داده عددی صحیح | 0 | 32bits | -2,147,483,648 .. 2,147,483,647 |
long | داده عددی صحیح | 0 | 64bits | -9,223,372,036,854,775,808 .. 9,223,372,036,854,775,807 |
float | داده عددی اعشاری | 0.0 | 32bits | 3.40282347 x 1038, 1.40239846 x 10-45 |
double | داده عددی اعشاری | 0.0 | 64bits | 1.7976931348623157 x 10308, 4.9406564584124654 x 10-324 |
برای تعریف متغیر میتوان از این نوع دادهها یا نوع دادههای پیچیدهتر استفاده کرد. نوع دادهها پیچیدهتر با استفاده از دادههای اولیه تعریف میشوند. به عنوان مثال نوع داده رشته (String) از یک یا ترکیب چند کاراکتر تولید میشود. هر کاراکتر در زبان جاوا داخل یک quote قرار میگیرد در حالیکه یک رشته داخل double quote قرار میگیرد:
char myChar = 'a';
String s = "Hello guys";
عملگرها (Operators)
عملگرها در زبان جاوا مشابه زبان سی پلاس پلاس میباشند. در جدول زیر فهرست عملگرهای زبان جاوا را مشاهده مینمایید:
اولویت | عملگر | توضیحات |
---|---|---|
1 | () | فراخوانی متد |
[] | دسترسی به آرایه | |
. | انتخاب یک عضو کلاس | |
2 | ++ -- | افزایش و کاهش پسوندی |
3 | ++ -- | افزایش و کاهش پیشوندی |
+ - | علامت منفی و مثبت اعداد | |
! ~ | NOT منطقی و NOT بیتی | |
(type) val | تبدیل نوع val به type | |
new | ایجاد یک instance از کلاس یا ساخت آرایه | |
4 | * / % | ضرب، تفریق و باقیمانده تقسیم |
5 | + - | جمع و تفریق |
+ | پیوست دادن رشتهها به یکدیگر (String concatenation) | |
6 | << >> >>> | Bitwise left shift, signed right shift and unsigned right shift |
7 | < <= | رابطه کوچکتر و کوجکترمساوی |
> >= | رابطه بزرگتر و بزرگترمساوی | |
instanceof | مقایسه نوع یک آبجکت | |
8 | == != | رابطه برابری و نابرابری |
9 | & | AND بیتی و منطقی |
10 | ^ | XOR بیتی و منطقی |
11 | | | OR بیتی و منطقی |
12 | && | شرط AND منطقی |
13 | || | شرط OR منطقی |
14 | c ? t : f | شرط (if) یک خطی |
15 | = | انتساب یک مقدار |
+= -= | انتساب افزایش و کاهشی | |
*= /= %= | انتساب با عملگر ضرب، تقسیم و باقیمانده تقسیم | |
<<= >>= >>>= | انتساب با bitwise left shift, signed right shift and unsigned right shift | |
&= ^= |= | انتساب با AND, XOR و OR بیتی |
گرامر و نحو کدنویسی (Syntax)
به منظور فراگیری اولیه گرامر و نحو کدنویسی در زبان جاوا قطعه کد زیر، معروف به Hello World را در نظر بگیرید:
/****************************************
* Compilation: javac HelloWorld.java
* Execution: java HelloWorld
*
* @author Saeid Zebardast
* Prints "Hello, World". By tradition, this is
* everyone's first program.
*
* % java HelloWorld
* Hello, World
*
****************************************/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
- خط 1 تا 12: توضیحات برنامه هستند که شامل نحوه کامپایل، اجرا و خروجی تولید شده آن میباشند.
- خط 14: تعریف کلاس و نام آن. این کلاس به صورت public تعریف شده. دقت کنید که هر فایل .java فقط میتواند یک کلاس public داشته باشد و نام این کلاس باید با نام فایل برابر باشد.
- خط 16: تعریف متد main برای اجرا. با توجه به ضرورت متد main باید به صورت public و static و بدون خروجی (void) تعریف شود. دقت کنید که زبان جاوا به کوچک و بزرگ بودن حروف حساس است (case-sensitive).
- خط 17: چاپ عبارت Hello, World در خروجی (کنسول)
محیطهای برنامهنویسی برای جاوا
شما میتوانید از هر ویرایش متنی مانند Notepad، Notepad++، Sumblime و Vi برای نوشتن و ویرایش کدهای جاوا استفاده نمایید. با این حال محیطهای یکپارچه توسعه نرمافزار (IDE) مانند IntelliJ IDEA، NetBeans و Eclipe نیز استفاده نمایید. من IntelliJ IDEA را نسبت به سایر نرمافزارها ترجیح میدهم.
چند نکته
- این راهنما براساس نسخه ۷ جاوا نوشته شده است.
- این مطلب فقط شروعی برای برنامهنویسی جاوا بوده و دربرگیرنده موارد ابتدایی در این زمینه است.
- من متوجه تحریم بودن ایران از سوی شرکت اوراکل هستم ولی از طرفی بر این باورم که مطمئنا شما راهی برای دور زدن این تحریم خواهید یافت.