<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات آموزش برنامه نویسی به زبان جاوا</title>
        <link>https://virgool.io/myjava/feed</link>
        <description>اینجا تمام پست های مربوط به آموزش جاوا که خودم مینویسم یا بقیه دوستان مینویسن رو منتشر میکنم تا همه یکجا استفاده کنند</description>
        <language>fa</language>
        <pubDate>2026-04-15 10:37:20</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/ty6aalxq22u2/gokupr.png</url>
            <title>آموزش برنامه نویسی به زبان جاوا</title>
            <link>https://virgool.io/myjava</link>
        </image>

                    <item>
                <title>آموزش جاوا - قسمت سوم - طرز نگارش(syntax) پایه جاوا</title>
                <link>https://virgool.io/myjava/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%88%D8%A7-%D9%82%D8%B3%D9%85%D8%AA-%D8%B3%D9%88%D9%85-%D8%B7%D8%B1%D8%B2-%D9%86%DA%AF%D8%A7%D8%B1%D8%B4syntax-%D9%BE%D8%A7%DB%8C%D9%87-%D8%AC%D8%A7%D9%88%D8%A7-ykwrd5l9bcui</link>
                <description>خب یه برنامه جاوا رو با هم نوشتیم و اجرا کردیم هم در محیط کامند و هم در محیط IntelliJ IDEA، حالا بریم سراغ رسم الخط، طرز نگارش یا همون syntax جاوا (Java Syntax).جواد : Syntax Java مگه همون دستوراتش نیست؟پاسخ : خیر!سینتکس جاوا شامل نحوه نامگذاری فایل ها، کلاس ها، طرز نوشتن تابع شروع کننده برنامه، نحوه تعریف شناسه ها(Identifiers)، اصلاح کننده ها(Modifiers)، متغیر ها، آرایه ها، Enums ها می‌باشد.خب حالا ببینیم هر کدوم چی هستناول با چنتا اصطلاح توی جاوا آشنا بشیم. جاوا رو میشه مجموعه ای از اشیاء تعریف کرد که هر کدوم با صدا زدن متد های همدیگه با هم ارتباط برقرار می‌کنند.جواد : شئ چیه؟جواب : اینو توی مبحث شی گرایی مفصل توضیح میدم، فعلا چنتا تعریف رو خلاصه میگم و مابقی بماند تا بعد.شئ: اشیا مشخصات یا رفتار هایی دارند، مثلا یک تلویزیون مشخصاتی مثل سایز صفحه، رنگ، نوع نمایشگر و ... داره و رفتار هایی مثل روشن شدن، تغییر محتوای نمایش(تغییر کانال)، تغییر صدا و...کلاس: یک نقشه، الگو یا طرح هست که مشخصات یا رفتار هایی رو که یک شئ از اون کلاس داره یا از خودش نشون میده رو توصیف میکنه.متد: همون رفتار هایی هستن که هر شئ توانایی انجامش رو داره. هر کلاس میتونه تعداد زیادی متد داشته باشه و روند ها و تغییرات در داده ها و مشخصات کلاس در داخل متد ها اتفاق میفته.متغیر های نمونه(Instance Variables): هر شئ مجموعه ای از متغیر های نمونه یکتا دارد که مشخصاتش با مقدار دهی به آنها مشخص می شود. مثل سایز صفحه، رنگ، نوع نمایشگر که در شئ تلویزیون وقتی با عبارتی  مقدار دهی می‌شود یکتا و مخصوص همان شی هست و اگر شئ دیگری بسازیم میتواینم مقدار دیگری به آن بدهیم و این متغیر های نمونه با مقادیرشان اشیا متمایزی از یک کلاس ره به نمایش می گذارند.جواد: تعاریف یکم سنگین و نا مفهوم نیست؟جواب: خیلی بهش دقت نکنین اگر نفهمیدین توی پست های بعدی و در عمل، مفاهیمش رو درک می‌کنید.نکاتی که باید در برنامه نویسی جاوا همیشه در نظر داشته باشیمحساسیت به بزرگی و کوکی حروف: جاوا به کوچک و بزرگی حروف حساس است و Hi  و hi را متمایز در نظر می‌گیرد.نام کلاس: نام کلاس باید با حروف بزرگ شروع شود و اگر از چند کلمه در نام کلاس استفاده شود بهتر است اول هر کلمه با حرف بزرگ نوشته شود. برای مثال : MyFirstClassNameنام متدها(توابع): نام توابع بهتر است با حروف کوچک شروع شود و اگر از چند کلمه تشکیل شده، از کلمه دوم به بعد باید حروف اول هر کلمه بزرگ باشد. برای مثال : myFirstMethodNameنام فایل: نام هر فایل باید با نام کلاس public داخل آن همسان باشد. برای مثال برای کلاس MyFirstClassName نام فایل باید MyFirstClassName.java باشد.نکته: داشتن کلاس public در فایل اجباری نیست و اگر کلاس public در فایل نباشد امکان نامگذاری فایل به هر نام دلخواه وجود دارد.نقطه شروع برنامه جاوا: هر برنامه جاوا از تابع main آغاز می شود و وجود آن اجباری بوده و به صورت زیر تعریف می شود. public static void main(String[] args) شناسه ها یا Identifiers در جاواهر جزئی از جاوا با یک شناسه نامگذاری می‌شود. نام کلاس ها توابع، متغیر ها را شناسه می‌گویند.تمامی شناسه ها با حروف کوچک و بزرگ انگلیسی (A-Z و a-z)، علامت دلار ($)، یا خط زیر یا همون Underline ( _ ) باید شروع شود.بعد از اولین کاراکتر، شناسه با هر ترکیب دیگری قابل تعریف و استفاده است.کلمات کلیدی رزرو شده در جاوا به عنوان شناسه قابل استفاده نیستند.شناسه به بزرگ و کوچک بودن حروف حساس است و آنها را متمایز می داند.مثال شناسه های معتبر: _identifier , $identifier , Identifier , _123 , $_123مثال شناسه های نا معتبر123identifier , -identifierاصلاح کننده ها یا Modifiers در جاوادو دسته اصلاح کننده یا Modifier در جاوا داریم که الان فقط یه توضیح کوچیک در موردش میدیم و بعدا مفصلا در موردش صحبت می کنیم:اصلاح کننده های دسترسی یا Access Modifier: که دسترسی بین کلاس ها به شناسه ها و متد های همدیگر رو کنترل می‌کنند شامل : default, public, protected , privateاصلاح کننده های غیر دسترسی یا Non-Access Modifiers: که معمولا وضعیت شناسه را مشخص می‌کند مانند: final, abstract, stricktfpمتغیر ها در جاوا Java Variablesسه دسته متغیر در جاوا دارایم- متغیر های محلی یا Local Variables- متغیر های کلاس یا متغیر های ایستا (Class Variables or Static Variables)- متغیر های نمونه یا متغیر های غیر ایستا (Instance Variables or Non-static Variables)شمارش‌گر یا Enums در جاوا(Java Enums)شمارش‌گر ترجمه صحیحی برای Enums نیست اما ترجمه بهتری هم پیدا نکردم براش اگر شما پیدا کردین کامنت بذارین تا استفاده کنیمخب Enums متغیر هایی هستند که فقط به وسیله یک سری مقادیر ثابت مقدار دهی می شوند و از جاوا ۵ به جاوا افزوده شدند که در مطالب آینده در موردش صحبت میکنیم و نحوه استفاده از اون رو بیان می کنیم.کلمات کلیدی در جاوا(Java Keywords)کلمات کلیدی زیر هر کدام کارکرد خاصی دارند و در جاوا رزرو شده هستند و هیچ شناسه ای با این نام‌ها قابل تعریف نیست.abstract | assert | boolean | break | byte | case | catch | char | class | const | continue | default | do | double | else | enum | extends | final | finally | float | for | goto | if | implements | import | instanceof | int | interface | long | native | new | package | private | protected | public | return | short | static | strictfp | super | switch | synchronized | this | throw | throws | transient | try | void | volatile | whileتوضیح گذاری یا کامنت گذاری در جاوا (Comments in Java)کامنت های تک خطی یا single-line comment در جاوا با قراردادن دو اسلش پشت سر هم // آغاز شده و آن خط توسط کامپایلر پردازش نمی‌شود و برای نوشتن توضیحات و خوانایی کد است.کامت های چند خطی یا multi-line comment در جاوا با قرار دادن /* در اول متن و */ در انتهای متن در فایل کد نوشته می‌شوند.مثال:public class MyFirstJavaProgram {

   /* This is my first java program.
    * This will print &#039;Hello World&#039; as the output
    * This is an example of multi-line comments.
    */

   public static void main(String[] args) {
      // This is an example of single line comment
      /* This is also an example of single line comment. */
      System.out.println(&amp;quotHello World&amp;quot);
   }
} نکته: در جاوا خطوط خالی و یا فقط شامل فاصله مانند کامنت‌ها توسط کامپایلر پردازش نمی‌شوند.ارث بریدر جاوا کلاس‌ها می‌توانند مشخصات یکدیگر را به ارث ببرند. برای مثال اگر کلاسی داشته باشیم که یک سری مشخصات را داشته باشد و بخواهید کلاسی بسازید که چند مشخصات دیگر علاوه بر آن را دارد، بجای پیاده سازی از ابتدا می‌تونید از کلاس موجود ارث بری کنید و فقط مشخصات اضافه را تعریف کنید.دو اصطلاح superclass و subclass به ترتیب برای کلاسی که از آن ارث بری شده(کلاس پدر) و کلاسی که توسط ارث بری ساخته شده(کلاس فرزند) به کار برده می‌شود.رابط هارابط ها یا Interface ها در جاوا برای مشخص کردن نحوه ارتباط بین کلاس ها پیاده سازی و به کار برده می‌شوند. رابط ها در مباحث ارث بری نقش مهمی دارند که در مطالب بعدی به اون ها میپردازم.رابط ها فقط نام متد ها و نوع ورودی آن‌ها را مشخص می‌کنند و تعریف تابع و کارکرد آن باید در داخل کلاسی که آن رابط(interface) را پیاده سازی(implement) می‌کند، انجام شود.</description>
                <category>آموزش برنامه نویسی به زبان جاوا</category>
                <author>Nima Estakhri | نیما استخری</author>
                <pubDate>Wed, 16 Oct 2019 19:27:06 +0330</pubDate>
            </item>
                    <item>
                <title>آموزش جاوا - قسمت دوم - کار با IntelliJ IDEA</title>
                <link>https://virgool.io/myjava/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%88%D8%A7-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-intellij-idea-b4kfmrfyh0vn</link>
                <description>خب در پست قبل (آموزش جاوا - قسمت اول - اجرای اولین برنامه با جاوا) یه برنامه به زبان جاوا نوشتیم و اجرا کردیم. حالا جواد پرسیده راه راحت تری نیست، بریم کد رو توی یه ادیتور بنویسیم، یکبار دستور کامپایل رو بزنیم یک بار هم دستور اجرا، نمیشه همه اینها یکجا انجام بشه؟!پاسخ: چرا نمیشه! استفاده از IDE!جواد : حالا IDE چیه؟ خب IDE یا Integrated development environment یا محیط یکپارچه توسعه یک نرم افزاره که ادیتور، دیباگر، کامپایلر و محل نمایش خروجی رو یکجا داره!جاوا IDE های مختلفی داره Eclipse، NetBeans و IntelliJ IDEA که پیشنهاد من برای توسعه راحت تر برنامه ها به زبان جاوا استفاده از IntelliJ هست، چون پیشنهادات خوبی برای تصحیح کد میده در کد نویسی، برای خوندن مستندات کتابخونه ها در حین کد زنی بسیار کار رو راحت میکنه، توی خطاگیری و نمایش محل خطا بسیار قوی هست و تصحیح خطا ها رو تا حدودی بصورت یکپارچه انجام میده و کار رو راحت تر میکنه.دوتا میانبر کاربردی داره! یکی Alt+Enter و Ctrl+Space که اولی در تصحیح کد و دومی در پیشنهاد ادامه کد و نمایش محتویات کلاس کمک میکنه.نصبش هم مثل آب خوردنه! چون تحریمه میتونید از سایت های داخلی دانلود کنید. کافیه عبارت دانلود IntelliJ IDEA رو در گوگل جستجو کنید و از نتایجی که میاد دانلود کنید.نحوه کرک کردنش هم در همون سایت ها توضیح داده شده که اینجا ازش میگذریم.حالا بعد از نصب قدم به قدم بریم کد آموزش قبلی رو توی IntelliJ اجرا کنیم.IntelliJ IDEAبعد از باز کردن IntelliJ این صفحه رو میبینیدصفحه آغازین IntelliJگزینه Create New Project رو برای ساختن پروژه جدید انتخاب کنیدصفحه پروژه جدید IntelliJدر صفحه باز شده از فهرست سمت چپ Java رو انتخاب کنید و Project SDK رو هم بر روی بالاترین ورژن موجود قرار بدین و Next  رو بزنید. در صفحه بعد تیک Create project from template رو بزنید و Commad Line App رو انتخاب کنید و Next رو بزنید.در صفحه بعد در قسمت Project name نام پروژه، در قسمت Project Location مسیر ذخیره شدن پروژه و در قسمت Base package نام پکیج رو وارد کنید.جواد: پکیج چیه؟!در جاوا هر دسته کلاس هایی که به هم مرتبط هستند با روش پکیجیگن دسته بندی میشن و هر زیر دسته با نقطه از دسته مادر جدا میشهیه قاعده داره که مثلا اگر دامنه آدرس اینترنتی شرکت شما یا خود شما مثلا estakhri.ir هست پکیج های شما با ir.estakhri شروع میشن، وحی منزل نیست و هرچیزی خواستین میتونین بذارین ولی استانداردی که همه دنیا بفهمنش این هست. مثلا گوگل پکیج هاش رو با com.google آغاز میکنه. بعد از اون هم اسم برنامه میاد که اینجا ما گذاشتیم virgoolو حالا Finish رو میزنیم و منتظر میمونیم تا پروژه ساخته شده در محیط IDE باز بشه.محیط IntelliJ IDEAخب این محیط IntelliJ IDEA هست. چون ما تمپلیت کامند لاین رو انتخاب کردیم خودش کلاس Main رو ساخت و تابع main() رو هم داخلش نوشت. کافیه ما کد System.out.println(&amp;quotHello World!&amp;quot);رو بهش اضافه کنیم و کد رو اجرا کنیمبرای اجرا دکمه ▶️ (سبز) که در بالا سمت راست هست رو بزنیم.اجرای پروژهخب نتیجه خروجی برنامه رو در پایین صفحه در تب Run میبینید.اگر دقت کنید در لیست سمت چپ یک پوشه out ساخته شده که IntelliJ بعد از کامپایل کلاس ها فایل های .class که در پست قبل گفتیم نتیجه کامپایل هست رو انجا میریزه و نگهداری میکنه.خب دیگه چی میخواین مثل آب خوردن همه کارا رو توی یک محیط یکپارچه انجام داد براتون. ?</description>
                <category>آموزش برنامه نویسی به زبان جاوا</category>
                <author>Nima Estakhri | نیما استخری</author>
                <pubDate>Thu, 05 Sep 2019 15:17:14 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش جاوا - قسمت اول - اجرای اولین برنامه با جاوا</title>
                <link>https://virgool.io/myjava/%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A8%D8%A7-%D8%AC%D8%A7%D9%88%D8%A7-eatt6u7bvngs</link>
                <description>هر زبان برنامه نویسی با چاپ عبارت Hello World! یا سلام دنیا آموزشش شروع میشه. ما هم از همین استفاده می کنیم و آموزش رو شروع میکنیم.یه همراه هم توی این آموزش داریم به نام جواد که سوالات خوبی میپرسه ? (شخصیتی فرضی که نامش به دلیل نزدیکی نامش با جاوا انتخاب شده)برای استفاده کردن از این آموزش باید منطق برنامه نویسی رو بلد باشید، اگر آموزش منطق برنامه نویسی رو هم میخواید توی کامنت ها بگین تا اگه تعداد زیادی نیاز داشتن، اون آموزش رو هم بذارم?برای کسایی که عجله دارن کد زیر رو میتونن توی یک فایل با نام Main.java بنویسن، کامپایل کنن و اجرا کنن?public class Main{
    public static void main(String[] args){
        System.out.println(&amp;quotHello World!&amp;quot);
    }
}جواد : خب حالا چطوری کامپایل کنیم؟!جواد : کجا بنویسیم؟!جواد : چطوری اجرا کنیم؟!خب برای کامپایل کردنش نیاز به کامپایلر جاوا داریم(چشم بسته غیب گفتم?) متولی کنونی جاوا یعنی شرکت Oracle یه بسته برای توسعه نرم افزار های جاوا ارایه میده به نام JDK یا Java Developement Kit که میتونید اون رو از سایت اوراکل یا بقیه سایت های داخلی دانلود کنین آخرین نسخه هم تا لحظه نوشتن این پست نسخه 12 هست.نصبش هم در سیستم های مختلف بسیار راحته، کلا چنتا کلیک هست. پکیج متناسب با سیستم خودتون رو دانلود و نصب کنینبعد از نصب برای دسترسی به jdk توی command line یا terminal باید Path رو توی سیستمتون تنظیم کنیدویندوز: باید توی این مسیر برید MyComputerراست کلیک -&gt; Properties -&gt; Advanced تب -&gt; Environment Variables
 -&gt;  User Variable بخش روی new بزنید و در قسمت variable name بنویسید path و در قسمت variable value آدرس نصب jdk رو وارد کنید برای مثال C:\Program Files\Java\jdk_1.12.0\binو بعد هم ok و ok و ok.توی لینوکس هم باید آخر فایل .bash_profile این خط رو اضافه کنید و مسیر قرارگیری jdk رو به متغیر PATH اضافه کنیدexport PATH=&amp;quot$PATH:/home/&lt;user&gt;/jdk1.12.0/bin&amp;quotبعد از نصب jdk و  اضافه کردنش به path میریم سراغ اینکه چطوری کامپایل کنیمدستور javac برای کامپایل کد های جاوا استفاده میشه.برای مثال میخوایم فایل Main.java رو کامپایل کنیم، باید توی cmd یا terminal دستور javac Main.java رو در مسیری که فایل Main.java هست بزنیم و اگر خطایی در کد نداشته باشیم به عنوان خروجی به ما یک فایل با نام Main.class میدهحالا فایل Main.java رو چطوری بسازیم، کجا بنویسیم؟!خب باید بگم ابزار خاصی نمیخواد، میتونین توی notepad یا هر ادیتور دیگه یک Plain Text با encoding ترجیحا utf-8 بسازید و داخلش کدتون رو بنویسید و با اسم Main.java هرجا که خواستید ذخیره کنید.حالا چطوری اجرا کنیم؟!خب بعد از نوشتن کد و ذخیره کردن و کامپایل شدنش برای اجرای فایل های کامپایل شده جاوا که به اونها کلاس میگیم و در ادامه میگیم کلاس چی هست، از دستور java استفاده میکنیم.کافیه دستور java Main رو وارد کنیدبه بزرگ و کوچک بودن حروف دقت کنید، جاوا زبان case sensitive هست و به بزرگ و کوچک بودن حروف حساس هست و اونها رو متمایز میدونه.خب اگه همه کارا رو درست انجام داده باشین باید عبارت Hello World! رو در خروجی ببینید.</description>
                <category>آموزش برنامه نویسی به زبان جاوا</category>
                <author>Nima Estakhri | نیما استخری</author>
                <pubDate>Sun, 01 Sep 2019 18:27:13 +0430</pubDate>
            </item>
            </channel>
</rss>