جاوا چیست؟ آشنایی با ۰ تا ۱۰۰ زبان برنامه‌نویسی جاوا

زمان مطالعه: حدود 9 دقیقه / 65 گفتگو

مطمئنا تا به حال نام جاوا (Java) را شنیده‌اید، یکی از محبوب‌ترین زبان‌های برنامه‌نویسی دنیا که به دلیل چند سکویی (Cross Platform) بودن و همچنین پشتیبانی از ویژگی شئ‌گرایی (OOP) مورد توجه افراد بسیار زیادی در دنیا قرار گرفته است.

جاوا چیست؟

جاوا به صورت رایگان در دسترس است و بدون اغراق می‌توان آن‌را جزو کارآمد‌ترین زبان‌های برنامه‌نویسی سطح بالا دانست، در ادامه با همیار آی‌تی همراه باشید تا بیشتر با این زبان دوست‌داشتنی و تاریخچه‌ی آن آشنا شویم.

از آنجایی که در برنامه‌نویسی اپلیکشین‌های اندروید نیز از این زبان استفاده می‌کنیم می‌توان یکی از مهم‌ترین دلایل محبوبیت آن را، به خصوص در میان برنامه‌نویسان ایرانی، همین مورد دانست، بسیاری از افراد برای نوشتن برنامه‌های اندرویدی به سراغ یادگیری جاوا می‌روند، حال بیایید کمی بیشتر با تاریخچه و نحوه‌ی شکل‌گیری این زبان آشنا شویم.

تاریخچه‌ی زبان جاوا (Java)

اوایل دهه‌ی ۱۹۹۰ میلادی آقای جیمز گاسلینگ و همکارانش از پیچیدگی زبان ++C احساس نارضایتی می‌کردند و به همین دلیل تصمیم گرفتند، زبانی را ابداع کنند که علاوه‌بر قدرت زبان ++C از سادگی بیشتری برخوردار باشد، جالب است بدانید آن‌ها در ابتدا نام Oak به معنای “بلوط” را روی این زبان گذاشته بودند، دلیل این امر هم این بود که یک درخت بلوط در مجاورت اتاق کار آقای گاسلینگ قرار داشت، پس از مدتی مدیران شرکت سان‌مایکروسیستمز (شرکت گاسلینگ و همکارانش) تصمیم گرفتند نام مناسب‌تری را برای این زبان برگزینند.

برای این منظور به یک کافی‌شاپ مراجعه کردند و حدود نصف روز به بحث و تبادل نظر در این خصوص پرداختند و در نهایت تصمیم بر این شد که از مخفف نام‌های خودشان یعنی James Gosling و Arthur Van Hoff و همچنین Andy Bechtolsheim استفاده کنند و در نهایت نام Java را بر روی این زبان نهادن، هرچند در نقل قولی آمده است Arthur و Andy که در تیم اولیه بودند پس از مدتی از شرکت سان جدا شده و در ادامه جیمز گاسلینگ به همراه دو تن از کارمندان سان‌مایکروسیستمز به نام‌های Mike Sheridan و Patrick Naughton به همراه آقای گاسلینگ توسعه‌ی زبان جاوا را تحت نام پروژه‌ی سبز (Green) ادامه داده و سپس با تغییر نام به جاوا آن را منتشر کردند، اما چیزی که واضح است جیمز کاسلینگ کانادایی نقشی حیاتی در خلق این زبان داشته است.

تصویر خالق زبان جاوا
جیمز آرتور گاسلینگ، یکی از دانشمندان کامپیوتر و خالق زبان جاوا

از آنجایی که مراسم نام‌گذاری در یک کافی‌شاپ صورت گرفته بود برای نماد این زبان از یک “فنجان قهوه‌ی داغ” استفاده شد، هرچند برخی می‌گویند جیمز گاسلینگ به نوعی قهوه که در جزیره‌ای به نام Java (در اندونزی) وجود داشت علاقه‌ی فراوانی نشان میداد و نام جاوا نیز از همین نوع قهوه گرفته‌شده است، نهایتا در سال ۱۹۹۵ زبان Java توسط شرکت Sun Microsystems ارائه و بعدها توسط اواکل خریداری شد.

اهداف اولیه‌ی جاوا

همانطور که گفتیم جیمز گاسلینگ این زبان را با هدف جایگزینی برای ++C توسعه داد، از این رو اهداف خاصی نیز برای آن در نظر گرفته شد که عبارت بودند از:

  • ساده و مشهور بودن
  • قابلیت شئ‌گرایی قدرتمند
  • کارایی و عملکرد بالا و بهینه
  • قابلیت انتقال و پرتابل بودن
  • ضریب اطمینان بالا و خطای کم
  • زبانی پویا با قابلیت نخ‌کشی (Treading)

شعار اصلی جاوا این بود: 

یک بار بنویس، همه جا اجرا کن!

در حقیقت شما یکبار برنامه را می‌نویسید و به کمک ماشین مجازی جاوا (JVM) آن‌را در سایر پلتفرم‌ها نیز اجرا می‌کنید، به همین دلیل است که می‌گوییم جاوا یک زبان چند‌سکویی (Cross Platform) است، همین امر در ابتدای کار به شدت بر محبوبیت این زبان افزود.

ماشین مجازی جاوا (JVM) چیست؟

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

  • فراهم کردن محیطی برای اجرای برنامه در سیستم‌های مختلف
  • وظیفه‌ی مدیریت و بهینه‌سازی منابع حافظه‌ی آن سیستم

هنگامی که شما یک برنامه را به زبان جاوا می‌نویسید و آن را کامپایل می‌کنید در اصل برنامه‌ی شما به مجموعه کدهایی به‌نام “بایت‌کد” تبدیل می‌شود، ماشین مجازی تنها این بایت‌کدها را متوجه می‌شود، آن‌ها را دریافت کرده و مطابق با تنظیماتش آن‌را اختصاصا برای یک سیستم‌عامل خاص کامپایل و قابل اجرا می‌کند، به نمای تصویری زیر توجه کنید:

ماشین مجازی جاوا چیست؟
توصیف نحوه‌ی عملکرد JVM در جاوا

همانطور که در تصویر بالا نیز واضح است، شما یکبار برنامه را می‌نویسید و اجرای آن در سیستم‌عامل‌های مختلف را به JVM میسپارید، مثلا برنامه‌ی جاوایی که در ویندوز نوشته شده است باید به راحتی و بدون هیچ‌گونه مشکلی در لینوکس نیز اجرا شود و این امر امکان‌پذیر نیست مگر با وجود ماشین مجازی.

چه برنامه‌هایی را می‌توان با زبان جاوا نوشت؟

همانطور که گفتیم، جاوا یک زبان چندسکویی است، بنابراین شما می‌توانید با استفاده از آن برای سیستم‌عامل‌های مختلفی مانند ویندوز، لینوکس، او‌اس‌ایکس، اندروید، وب و… برنامه‌نویسی کنید، در حقیقت یکبار برنامه‌ی خود را بنویسید و همه‌جا آن‌را استفاده کنید!

در ایران نیز برنامه‌های بسیار زیادی (به خصوص نرم‌افزارهای دولتی) با این زبان توسعه یافته‌اند، بنابراین شما با یادگیری جاوا تقریبا می‌توانید به بازار کار بسیار خوبی امیدوار باشید، در کشورهای توسعه‌یافته‌ای مانند استرالیا، کانادا، انگلستان و آمریکا شرایط از این نیز بهتر است و تقریبا سرمایه‌گذاری‌های فراوانی روی آن می‌شود.

محبوبیت زبان جاوا
زبان جاوا با حدود ۳۶ درصد سهم، سومین زبان مورد استفاده در دنیاست!

همانطور که می‌بینید زبان جاوا پس از جاوا اسکریپت و SQL سومین زبان پر استفاده در دنیا محسوب می‌شود.

لطفا Java را با JavaScript اشتباه نگیرید!

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

معرفی نسخه‌های اصلی زبان جاوا

این زبان از پلتفرم‌های مختلفی پشتیبانی می‌کند، برای برنامه‌نویسی در هر یک از این پلتفرم‌ها از نسخه‌ی خاصی از جاوا استفاده می‌شود که در ادامه برخی از مهم‌ترین این نسخه‌ها را با هم بررسی می‌کنیم:

Java SE: این نسخه که مخفف Standard Edition و در حقیقت نسخه‌ی اصلی می‌باشد، شامل کتابخانه‌های اصلی زبان جاواست که با استفاده از آن می‌توان برای دسکتاپ و سرورها برنامه‌نویسی کرد، این نسخه را با نام J2SE نیز می‌شناسند.

Java EE: این نسخه مخفف شده‌ی عبارت Enterprise Edition به مفهوم نسخه‌ی تجاری بوده و برای ساخت برنامه‌های تحت وب و اپلیکیشن‌های تجاری و سازمانی مورد استفاده قرار می‌گیرد، نام دیگر این نسخه J2EE است.

Java ME: این نسخه مخفف Micro Edition بوده و در حقیقت نسخه‌ای کوچک و سبک است که برای برنامه‌نویسی ریزپردازنده‌ها و تلفن‌های قدیمی‌تر به کار گرفته می‌شود، مانند سایر نسخه‌ها، این نسخه نیز با نام مستعار J2ME شناخته می‌شود.

نمونه‌ای از سینتکس زبان جاوا

در این مقاله قصد آموزش برنامه‌نویسی جاوا را نداریم، بلکه یک نمونه کد Hello World که به زبان Java نوشته شده است را برای شما در ادامه آورده‌ایم:

public class helloworld {
        public static void main(String[] args) {
                System.out.println("Hello world!!!");
        }
}

جاوا یک زبان Class Base است، یعنی تماما با استفاده از کلاس‌ها نوشته می‌شود، اگر تمایل دارید بیشتر با این مفهوم و همچنین چگونگی کامپایل شدن این کدها آشنا شوید، توصیه می‌کنیم مقاله‌ی کامپایل Java را مطالعه نمایید، در آن‌جا به طور مفصل این مورد را با استفاده از CMD ویندوز آموزش داده‌ایم.

محیط‌های توسعه‌ی معروف جاوا

برای نوشتن هر نوع برنامه‌ای به یک محیط توسعه‌ی یکپارچه یا IDE احتیاج خواهید داشت که فرایند کدنویسی، دیباگ و کامپایل کدها را برای شما ساده و آسان کند، از محبوب‌ترین IDE های زبان جاوا می‌توان به موارد زیر اشاره کرد:

  • IntelliJ IDEA
  • NetBeans
  • Eclipse

شما می‌توانید برای توسعه‌ی برنامه‌ی خود از یکی از این نرم‌افزارها استفاده کنید، به یاد داشته باشید برای برنامه‌نویسی جاوا به JRE و JDK احتیاج خواهید داشت که با مراجعه به وبسایت شرکت اوراکل می‌توانید آخرین نسخه‌ی این ابزارها را متناسب با سیستم خود دریافت کنید.

استفاده از زبان جاوا برای برنامه‌نویسی اندروید

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

برای برنامه‌نویسی اندروید باید با نصب Java روی دستگاه خود Android Studio و SDK مورد نیاز آن که توسط گوگل توسعه داده شده است را دانلود و روی رایانه‌ی خود نصب کنید، از آنجایی که هدف اصلی ما در این آموزش بررسی زبان جاوا بود بیش از این به موضوع اندروید نمی‌پردازیم.

اپلت جاوا (Java Applet) چیست؟

به طور کلی واژه‌ی اپلت (Applet) به معنای برنامک (برنامه‌های کاربردی کوچک) برای اولین بار در سال ۱۹۹۳ استفاده شد، اپلت‌ها در حقیقت برنامه‌های کوچکی هستند که در زمینه‌ی یک برنامه‌ی بزرگ‌تر اجرا می‌شوند، به عنوان مثال فایل‌های فلش که در گذشته در وبسایت‌ها به کار می‌رفت نوعی اپلت بود، اپلت‌های جاوا نیز به همین گونه هستند، برنامه‌های کوچکی که معمولا در سمت کاربر و توسط مرورگر و به کمک جاوای نصب شده روی سیستم کاربر اجرا می‌شوند، نقطه‌ی مقابل اپلت، سرولت (Servlet) می‌باشد که در سمت سرور اجرا می‌شود.

اپلت‌ها معمولا تک منظوره بوده و وظیفه‌ی خاصی را دنبال می‌کنند، از جمله معروف‌ترین اپلت‌های جاوا می‌توان به فلش پلیر و مدیاپلیر داخلی ویندوز که در مرورگر اینترنت اکسپلورر استفاده می‌شد اشاره کرد.

نحوه‌ی کامپایل و اجرای کدهای جاوا به کمک CMD ویندوز!

حتما می‌دانید که برای کامپایل و اجرای کدها به محیطی برای کد نویسی احتیاج خواهید داشت که اصطلاحا آن را کامپایلر یا IDE (آی‌دی‌ای) می‌نامند، حال فرض کنید به هر دلیلی به IDE مورد نظر خود دسترسی نداشته باشید و قصد اجرای یک قطعه کد جاوا را داشته باشید، در چنین شرایطی می‌توانید به کمک CMD موجود در ویندوز و بدون نیاز به هیچ‌گونه IDE کدهای مورد نظر خود را اجرا و خروجی آن‌ها را مشاهده کنید.

چگونه زبان جاوا را با CMD ویندوز اجرا کنیم؟

برای انجام این‌کار باید مراحلی را انجام دهید که در ادامه آن‌ها را توضیح می‌دهیم، پس با همیار آی تی همراه باشید و ببینید که چگونه می‌توان کدهای جاوا را به صورت دستی کامپایل کرد!

توجه: پیش نیاز استفاده از این روش نصب بودن جاوا در سیستم شما می‌باشد (JRE و JDK) اما احتیاجی به نصب یک IDE مجزا نخواهید داشت!
توجه: در این مقاله قصد آموزش زبان برنامه‌نویسی جاوا را نداریم، پس برای استفاده از این روش باید آشنایی قبلی با سینتکس این زبان داشته باشید.

برای شروع ابتدا نوت‌پد ویندوز را باز کرده و کدهای مورد نظر خود را به زبان جاوا بنویسید، به عنوان مثال می‌توانید از قطعه کد زیر برای تست کار استفاده کنید:

public class helloworld {
public static void main(String[] args) {
System.out.println("Hello world!!!");
}
}

پس از نوشتن کد فایل نوت پد را با نامی که برای کلاستان انتخاب کردید (در اینجا helloworld) و پسوند java. در دسکتاپ خود ذخیره کنید، مانند تصویر زیر:

java-compiling
dir

حال CMD ویندوز را اجرا کرده و عبارت dir را تایپ کنید و اینتر بزنید تا دایرکتوری‌های سیستم برای شما نمایش داده شود، با چنین تصویری مواجه خواهید شد:
از آنجایی که فایل کد خود را در محل دسکتاپ ذخیره کردیم باید وارد دایرکتوری Desktop شویم، برای این منظور دستور cd desktop را تایپ کرده و اینتر میزنیم.

حال وارد دایرکتوری دسکتاپ شده‌ایم، برای مشاهده‌ی محتویات این دایرکتوری مجددا دستور dir را تایپ کنید، اگر به این اطلاعات نگاه کنید فایل helloworld.java را نیز مشاهده خواهید کرد، حال باید این فایل را به بایت‌کدها تبدیل کنیم، برای این منظور دستور javac helloworld.java را اجرا کنید.

با انجام این‌کار در کنار فایل قبلی، فایلی با عنوان helloworld.class ذخیره خواهد شد، اگر آن را باز کنید با چنین نوشته‌هایی مواجه خواهید شد:

java-class

نوشته‌هایی که مشاهده می‌کنید بایت‌کدها هستند، این دستورات به زبان ۰ و ۱ تبدیل شده و برای ماشین (در اینجا رایانه) کامپایل می‌شوند.

در آخرین مرحله کافیست دستور java helloworld را تایپ کنید (احتیاجی به نوشتن پسوند فایل نیست)

اگر تمام مراحل را به درستی انجام داده باشید، نتیجه‌ی کدی که در ابتدا نوشتید را مشاهده خواهید کرد!

java-compiled

همانگونه که مشاهده کردید توانستیم بدون نیاز به IDE و تنها به کمک CMD ویندوز کدهای جاوا را کامپایل کنیم، حال کمی بیشتر با نحوه‌ی کار آی‌دی‌ای‌ها آشنا شده و به اهمیت وجود آن‌ها پی می‌بریم!

حال که با این موارد آشنا شدیم می‌توانیم دلیل محبوبیت زبان جاوا را بهتر درک کرده و بدانیم چرا می‌توان آن را به عنوان یک زبان دوست‌داشتنی آموخت و به کار گرفت.

در نهایت از شما کاربران گرامی می‌خواهیم اگر اطلاعات بیشتری در مورد این زبان دارید آن را در بخش دیدگاه‌ها با ما و سایر کاربران همیار آی‌تی به اشتراک بگذارید، نظرات و دیدگاه‌های شما به کامل‌تر شده این مقاله کمک می‌کند.

شما یک گام جلوتر از دیگران باشید! اگر به آی‌تی و تکنولوژی علاقه‌مندید و دوست دارید سریع‌تر در این زمینه پیشرفت کنید، همین حالا به جمع ۳۹۳۵ عضو همیار آی‌تی بپیوندید، دسترسی به تمام آموزش‌های پریمیوم، دریافت جدیدترین آموزش‌های کاربردی مرتبط با آی‌تی و استفاده از مشاوره‌ی رایگان، برخی از مزایای عضویت در سایت هستند، شما نیز به کاربران همیار پیوسته و همین حالا وارد دنیای حرفه‌ای‌ها شوید... من هم می‌خواهم عضو ویژه‌ی همیار شوم

65 گفتگو

در بحث‌‌ پیرامون این مقاله شرکت کنید، سوالات شما توسط کارشناسان همیار آی‌تی پاسخ داده می‌شود...

  1. Avatar نیما گفت:

    با سلام
    من رشته دبیرستانم علوم انسانی بود .آیا به نظر شما با زمینه علوم انسانی و عدم استعداد در زمینه ریاضی و کامپیوتر ،امکان یادگیری مباحث مرتبط با اندروید و گرفتن شغل توسعه دهنده اندروید رو دارم؟
    من زبانم خوب هست، برنامه ایندیزاین رو هم مسلط هستم و در زمینه عمومی کامپیوتر هم اطلاعاتم خوب هست.
    برای عنوان شغلی زیر با مشخصات زیر چند ماه زمان لازم دارم تا به این توانایی برسم .ممنون در صورت امکان پاسخ رو ایمیل فرمایید
    Android Developer m/f/d
    > passion for Android development and superb familiarity with the Android SDK
    > fluency in Kotlin and Java
    > an eye for detail and joy over beautiful UI and well-thought-out UX
    > a good grasp of the Android UI design guidelines
    > basic Linux skills
    > experience with distributed version control (Git or Mercurial) and managing pull requests
    > experience working in an agile software development environment
    > high motivation to autonomously tackle new challenges

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام، یادگیری برنامه‌نویسی خیلی وابسته به رشته‌ی تحصیلی نیست و اگر علاقه داشتید باشید، می‌تونید یادش بگیرید، اما علاقه خیلی مهمه وگرنه در میانه‌ی راه خسته میشید، در خصوص زمان هم برای هر کسی متفاوته و ممکنه از چند ماه تا چند سال طول بکشه تا روی یک زمینه حرفه‌ای بشید.

  2. Avatar amir farsi گفت:

    سلام خسته نباشید زبان های دیگر هم مثل جاوا jvm دارن یا ی جوردیگه کار میکنن و اینکه اصلا چرا نیاز به JVM داریم؟؟ ممنون

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام، خیر JVM همونطور که از اسمش پیداست فقط برای زبان جاواست، اما به طور کلی ما ۲ نوع زبان برنامه‌نویسی داریم، زبان‌های مفسری و زبان‌های کامپایلری، زبان‌های مفسری مثل پایتون و پی‌اچ‌پی به این شکل هستند که موقع اجرا کامپیوتر خط به خط می‌خونتشون و اجرا میشه، اما زبان‌های کامپایلری (مثل ++C یا سی‌شارپ) بعد از اینکه نوشته شدند باید به وسیله‌ی یک کامپایلر، اصطلاحا کامپایل (Compile) بشن و به زبان ماشین تبدیل بشن، حالا JVM که برای جاواست این بین قرار می‌گیره و کدهای جاوا رو تبدیل به بایت‌کد می‌کنه (بین کد و زبان ماشین و یک مرحله قبل از کامپایل کد)

  3. Avatar دهناد گفت:

    با سلام و احترام. چرا به جاوا اطلاق ماشین مجازی می شود؟ اصلا ماشین مجازی یعنی چه و در مقابل چه چیزی است؟

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام، ماشین مجازی برنامه‌ایه که کدهای جاوا رو به زبان ماشین تبدیل میکنه و کمک میکنه تا یه برنامه یکبار نوشته بشه و روی سیستم‌های مختلف اجرا بشه، اصطلاحا به این ابزار میگن ماشین مجازی جاوا یا JVM

  4. Avatar amir farsi گفت:

    سلام خسته نباشید در cmd فقط میشود رشته نوشت یا عمل های شرطی هم میشه( if)؟

    1. فرشاد گوهری فرشاد گوهری گفت:

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

  5. Avatar ناشناس گفت:

    سلام برای برنامه نویسی اندروید با استفاده از جاوا دقیقا به چه برنامه هایی نیاز داریم؟
    و کار هرکدوم از این برنامه ها چیه؟

    1. فرشاد گوهری فرشاد گوهری گفت:

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

  6. Avatar محمد مهدی گفت:

    سلام برای کد نویسی به زبان جاوا حتما نیازه که نرم افزارNetBeansرو نصب کنیم؟ با نرم افزار ++Notepadنمیشه به زبان جاوا کدنویسی کرد؟

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام، بله باید یک IDE داشته باشید، ++Notepad یک ویرایشگر متن هست و IDE نیست، اما جاوا باید کامپایل بشه و ساده‌ترین راه کامپایل یک برنامه استفاده از یک IDE هست، البته نت‌بینز تنها IDE نیست که می‌تونید استفاده کنید و برنامه‌های دیگری هم برای اینکار وجود دارند، مثلاً Eclipse یا IntelliJ Idea یا ویژوال استودیو مایکروسافت و…

  7. Avatar سینا گفت:

    سلام. من تازه می خواهم برنامه نویسی را شروع کنم. جاوا برای این کار خوبه؟

  8. Avatar علی گفت:

    دوستانی که با خطای javac مواجه شده اند، احتمال دارد نسخه های متفاوتی از جاوا بر روی سیستم شما نصب باشد بنابراین باید دقیقا آدرس javac برای سیستم قابل تشخیص باشد. برای رفع مشکل در cmd به جای نوشتن فقط javac آدرس کامل آن و سپس Enter. حالا عبارت javac و بعد آدرس فایل برنامه (کدی که نوشته اید) را وارد کنید.
    مثلا اگر jdk شما در مسیر C:Program FilesJavajdk1.8.0_221bin و فایل شما در آدرس C:code ذخیره شده است باید کل دستور را به صورت زیر بنویسید :
    ۱. cd C:Program FilesJavajdk1.8.0_221bin با این دستور وارد فولدری می شوید که فایل javac در آن واقع شده است. حال Enter کنید تا وارد فولدر شوید.

    ۲. در این مرحله دستور زیر را بنویسید :
    javac C:codeHelloWord.java
    در این مرحله اول فایل javac فراخوانی شده وسپس آدرس فایل کد شما به آن پاس داده میشود. دقت کنید که حتما برا کامپایل فایل خود باید در انتهای نام فایل خود پسوند java را قید کنید.

  9. Avatar جعفری گفت:

    سلام با جاوا میشه وبسایت هم طراحی کرد؟

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام دوست گرامی، بله میشه، اما در حال حاضر زبان‌های مناسب‌تری برای طراحی وب وجود داره که با استفاده اون‌ها می‌تونید راحت‌تر یک وبسایت رو پیاده‌سازی کنید، اگر به برنامه‌نویسی وب علاقه دارید، این آموزش می‌تونه براتون مفید باشه:
      https://www.hamyarit.com/internet/web-design/

  10. Avatar ف گفت:

    خیلی متشکرم، اولین کد اجرا شد

  11. Avatar ناشناس گفت:

    ممنون، خیلی به دردم خورد

  12. Avatar اخبار فرهنگی و هنری - نودی گفت:

    awliii mrc

  13. جواد جواد گفت:

    سلام خسته نباشید
    من برنامه نت بینس
    رو مطابق آموزش قسمت اول
    آوزش برنامه نویسی دکتر کلامی نصب کردم
    و بعد از ساخت پروژه hello world
    کامنت ها رو حذف کردم و
    ;(“!system.out.println(“Hello world

    رو وارد کردم و error:

    could not find or load main class
    Helloworldapp
    java result:1
    رو میده میشه کمک و راهنمایی کنید تا این مشکل رو برطرف کنم.

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام
      البته بنده برنامه‌نویسی انجام نمیدم که بتونم دقیقا مشکلتون رو حل کنم، اما احتمال میدم شما به‌جای کامنت، اسکوپ اصلی برنامه‌تون رو حذف کرده باشید، جاوا یک زبان کلاس‌بیس هست و احتمالا شما الان کلاس اصلی Main برنامه رو حذف کرده باشید.
      کد اصلی برنامه‌ی شما برای اجرا باید به شکل نمونه‌کد بالا (بخش مشکی رنگ) باشه.

  14. جواد جواد گفت:

    ممنون از شما و کمکتون
    طبق راهنمایی که گفتین جلو
    میرم و اگه نیاز بود بازهم مزاحمتون
    میشم
    امیدوارم بتونم جبران بکنم
    بازهم تشکر.

    1. فرشاد گوهری فرشاد گوهری گفت:

      خواهش می‌کنم جواد عزیز، موفق باشید.

    2. Avatar Mawladad گفت:

      دوست عزیز میخواستم یک کمک همرایم کنی در باره فرق بین جاوا و php میخواستم معلومات پیدا کنم در ویبسایت اوقدر دقیق نیست

  15. جواد جواد گفت:

    با عرض سلام و خسته خدمت شما دوست گرامی.
    من تازه عضو سایت شما شدم
    راستش من علاقه ی شدیدی نسبت
    به برنامه نویسی خصوصا برنامه نویسی اندروید دارم از اونجایی که تازه به این عرصه
    پا گذاشتم ممنون میشم که راهنمایی و کمکم کنید من الان دارم آموزش های در مبحث زبان برنامه نویسی جاوا میبینم و در یه قسمت به مشکل برخوردم و نمیدونم یا
    متوجه نمیشم که چطوری باید ایده ای که تو ذهنم دارم رو به نرم افزار تبدیل کنم(نمیدونم که چطوری باید ایده ام یا پروژه ام رو کد نویسی کنم و به نرم افزار تبدیل کنم)
    مثال؛ میخوام بیو گرافی از محمدرضا شجریان
    و اهنگ هایش را به قالب یک نرم افزار در آورم ولی نمیدونم چطوری
    ممنون میشم خودتون کمک و راهنماییم
    بکنید.
    با سپاس و تشکر از زحماتتون

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام دوست عزیز.

      خب در اولین مرحله برای تبدیل ایده‌تون به برنامه ۲ راه پیش رو دارید، یا اینکه خودتون شروع کنید و برنامه‌نویسی رو یاد بگیرید و یا اینکه از برنامه‌نویسان دیگه کمک بگیرید، با توجه به اینکه گفتید برنامه‌نویسی رو شروع کردید بنابراین راهکار اول برای شما مناسب‌تر خواهد بود.
      بعد از اینکه جاوا رو یاد گرفتید و تا حدودی با مفاهیم برنامه‌نویسی آشنا شدید بهتره برید سراغ پلتفرم مورد نظرتون و به صورت عملی کار رو شروع کنید، معمولا هر پلتفرمی (مثلا همین اندروید) یکسری API و توابع از پیش آماده در اختیار شما قرار میده که بتونید با کمک اون‌ها برنامه‌های مورد نظرتون رو پیاده‌سازی کنید، فقط کافیه نیازتون رو در گوگل جستجو کنید، مثلا برای ایجاد بیوگرافی قاعدتا شما احتیاج دارید که یک متن رو در نرم‌افزار نمایش بدید، برای این مورد کافیه در گوگل جستجو کنید How to show text in android Activity یا اگر زیاد با زبان انگلیسی آشنا نیستید همون رو به فارسی سرچ کنید، اطلاعات جامع و کاملی به‌دست خواهید آورد.

      امیدوارم تونسته باشم تا حدودی پاسخ سوالتون رو بدم، اما اگر باز هم احتیاج به راهنمایی دارید بپرسید، خود من تا جایی که بتونم و سایر دوستانی که در این زمینه تخصص دارند راهنمایی‌تون می‌کنند.

  16. Avatar ناشناس گفت:

    سلام ببخشید شما آموزش خود برنامه نویسی جاوا رو هم میذارید؟ (منظورم خود زبان و سنتکسش هست)
    چون اینجا بیشتر در مورد تاریخچه جاوا گفتید ولی من آموزش زبان برنامه نویسی Java رو در سایتتون پیدا نکردم.
    امیدوارم تونسته باشم منظورم رو خوب برسونم

    1. فرشاد گوهری فرشاد گوهری گفت:

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

  17. Avatar Aliakbar گفت:

    سلام و عرض ادب خدمت شما میخاستم بدونم که الگوریتم ربط به جاوا دارد یا نه

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام
      بله، لازم هست دوست عزیز.
      فرقی نمی‌کنه به چه زبانی بخواین برنامه‌نویسی رو شروع کنید، الگوریتم، منطق برنامه‌نویسی هست و پیش‌نیازه.

  18. Avatar Ali گفت:

    سلام میخاستم بدونم که برای کد نویسی جاوا الگوریتم نیاز است یا نه

  19. Avatar steve گفت:

    ببخشید فک میکنم تو این مقاله اسم همکاران اقای گاسلین اشتباه یا بقیش رو ننوشتید اسم هایی که من خونده بودم راجبشون اینا بودن :

    Patrick Naughton
    mike shadon

    اینا هم بودن من تو ویدیو اموزشی از زبان مدرس اون ویدیو شنیدم حالا شایدم اون مدرس اشتباه کرده باشه !

    1. فرشاد گوهری فرشاد گوهری گفت:

      این دو نفری که شما اسم بردید هم در ایجاد زبان جاوا نقش داشتند دوست عزیز، توی نقلی قولی اومده که Andy و Arthur پس از مدتی از شرکت سان‌مایکروسیستمز جدا شدن و آقای گاسلینگ به همراه Mike Sheridan و Patrick Naughton توسعه‌ی زبان جاوا رو (در ابتدا با نام Green) شروع کردند، اما چیزی که روشنه نقش کلیدی جیمز گاسلینگ در توسعه‌ی این زبان هست.
      (این موارد هم به مقاله اضافه شدند)

  20. Avatar m.reza گفت:

    با سلام ببخشید من خیلی درخواست دارم میشه لطفا لطف کنید و آموزش کامل شی گرایی بزارید ؟ منظورم توضیحات و اشنایی و .. هست با تشکر

    1. فرشاد گوهری فرشاد گوهری گفت:

      دورد خدمت شما
      خواهش می‌کنم، سعی می‌کنم مقاله‌ی مورد نظرتون رو در همین هفته یا نهایتا هفته‌ی آینده داخل سایت قرار بدم.
      موفق باشید

  21. Avatar LILI گفت:

    مرسی همیار عزیزم 🙂

  22. Avatar m.reza گفت:

    خیلی ممنون بابت این مقاله فک کنم زمانی که گزاشتید ۲۴ ساعت هم نگزشت خیلی ممنونم که به درخواست کاربرا توجه دارید

    1. فرشاد گوهری فرشاد گوهری گفت:

      خواهش می‌کنم دوست عزیز.
      موفق باشید

  23. Avatar l گفت:

    ممنونم از مقاله کاملی که در این خصوص منتشر کردید.

  24. Avatar عباس کیانی گفت:

    به به بسیار عالی جامع و روان
    آدم واقعا لذت میبره وقتی مقالات مهندس گوهری رو مطالعه میکنه بیانی بسیار شیوا و قابل فهم دارید.
    خدا قوت عرض میکنم خدمت شما جناب گوهری عزیز و تشکر میکنم بابت این مقاله کاربردی و جامع.
    امیدوارم شاهد موفقیت روز افزون شما باشیم.

    1. فرشاد گوهری فرشاد گوهری گفت:

      ضمن عرض ادب خدمت شما

      واقعا از لطف و محبتی که به بنده دارید سپاسگزارم، باعث افتخار منه که مقالات مورد استفادتون هست و از داشتن کاربران بزرگواری چون شما به خودمون میبالیم.

      امیدوارم شما هم در تمام مراحل زندگی شاد و پیروز باشید

  25. Avatar Sadegh گفت:

    بنده هم همه ی مراحل رو درست رفتم چند بار هم برنامه رو از اول نوشتمولی برای دستور javac خطا میده به این عنوان
    ‘javac’ is not recognized as an internal or external command

  26. Avatar Sadegh dastgozar گفت:

    بنده هم همه ی مراحل رو درست رفتم چند بار هم برنامه رو از اول نوشتم ولی برای دستور javac خطا میده به این عنوان
    ‘javac’ is not recognized as an internal or external command

    1. فرشاد گوهری فرشاد گوهری گفت:

      با همین روش گفته شده در آموزش امکان پذیر هست، کافیه یه اسکریپت ساده برای اینکار بنویسید.

  27. Avatar صادق گفت:

    با سلام ابزاری نیست که بهش فایلهای جاوا رو بدیم وخروجی class یا اسمالی بگیریم؟

    1. فرشاد گوهری فرشاد گوهری گفت:

      بسیار عالی
      موفق باشید

    2. Avatar سعید خانی گفت:

      مشکلم حل شد خداروشکر. من jre آدرس میدادم برای متغییر ها که داخل پوشه bin آن ، javac.exe وجود نداشت.
      با دادن ادرس jdkbin درست شد مشکلم.

  28. Avatar سعید خانی گفت:

    سلام . متشکر از آموزش ، من بعد از انجام مراحل بالا دستور java -version رو تونستم اجرا کنم . ولی برای دستور javac خطا میده به این عنوان
    ‘javac’ is not recognized as an internal or external command,

  29. Avatar مهسا گفت:

    مطالبتون فوق العادست.مرررررسی.خیلی لذت بخش بود

    1. Avatar گو گفت:

      کامپایل جاوا لذت بخش بود؟!

    2. فرشاد گوهری فرشاد گوهری گفت:

      این ارور به این دلیل برای شما نمایش داده میشه که سیستم جاوا رو به درستی نمیشناسه یا به درستی نصب نشده.
      بررسی کنید مسیر path های جاواتون رو به درستی برای سیستم تعریف کرده باشید.

    3. Avatar ناشناس گفت:

      عشقمی

  30. Avatar رامین گفت:

    سپاس فراوان از توجه وپاسخگویی عالیتان.
    فقط یک سوال دیگه داشتم که اگه زحمت نباشه راهنماییم کنین که چجوری یک برنامه اپلت جاوا بنویسم و اجراش کنم.

    1. فرشاد گوهری فرشاد گوهری گفت:

      ببینید وقتی جاوا رو نصب کردید روی سیستمتون (JRE و JDK) اگر تنظیمات پیشفرض رو هنگام نصب تغییر نداده باشید احتمالا jdk در مسیری مشابه مسیر زیر نصب شده:
      C:Program FilesJavajdk1.8.0_102
      (با توجه به محل نصب و ورژن جاوا ممکنه کمی متفاوت باشه)

      حالا باید روی This PC (همون مای‌کامپیوتر) کلیک راست کرده و Properties رو انتخاب کنید و در اونجا در سمت چپ روی Advanced System Setting کلیک کنید.
      بعد یک پنجره باز میشه که در قسمت پایینش گزینه‌ای هست با عنوان …Environment Variables اونجا روی گزینه‌ی NEW کلیک کنید و در قسمت Variable Name بنویسید JAVA_HOME (با حروف بزرگ) و در قسمت Variable Value آدرس نصب JDK رو بدید (مشابه آدرسی که در بالا نوشتم) و روی OK کلیک کنید.

      حالا مجددا روی NEW کلیک کنید و اینبار در قسمت Variable Name بنویسید PATH و در بخش Variable Value همون آدرس بالایی رو به همراه bin/ بنویسید، یعنی به این صورت باید باشه:
      C:Program FilesJavajdk1.8.0_102bin
      و در پایان OK رو بزنید.

      با انجام این مراحل ما جاوا رو به سیستم معرفی کردیم.

      سعی کردم تا حد ممکن کامل توضیح بدم، اگر جایی رو متوحه نشدید بگید تا براتون بیشتر توضیح بدم.

  31. Avatar رامین گفت:

    اقای فرشاد باتشکر از اینکه جواب دادین ولی میشه کمی واضح تر موضوع رو شرح بدین ؟از کجای environment variables این تغییرات رو اعمال کنم.ممنون میشم.

  32. Avatar رامین گفت:

    سلام
    ویندوز من ۱۰ هستش. وقتی تو CMD ,دستور javac رو تایپ می کنم این پیام رو میده .مشکل از چیه؟
    ‘javac’ is not recognized as an internal or external command,
    operable program or batch file.

    1. فرشاد گوهری فرشاد گوهری گفت:

      سلام دوست عزیز
      این خطا داره میگه این دستور رو تشخیص نمیده در سیستم، اصلی ترین دلیلش هم میتونه به خاطر نصب نبودن جاوا یا تنظیم نکردن مسیر فولدر bin و JAVA_HOME در Environment Variable های ویندوز باشه.
      این دو مورد رو چک کنید باید مشکل برطرف شه.

    2. Avatar محمد جواد گفت:

      سلام منم همین مشکل رو دارم ولی این دو راهی که گفتید رو چک کردم و انجام دادم اما بازم درست نشد.

    3. فرشاد گوهری فرشاد گوهری گفت:

      خواهش میکنم.
      والا من تا حالا اپلت کار نکردم و فقط در همین حد میدونم که برنامه های کوچکی هستن که مثلا میشه روی مرورگر اجراشون کرد و برای اجرا باید JDK و JRE روی سیستم نصب باشه.

    4. Avatar محمد جواد گفت:

      الان درست شد
      مرسی از آموزش خوبتون و سایت خوبتون

  33. Avatar IT Man گفت:

    Wow
    خیلی باحال بود.
    فکر نمیکردم بشه بدون آی دی ای هم برنامه نوشت.
    لطفا بازم از این ترفندا تو سایت بذارید.