محبوب ترین زبان های برنامه نویسی :
http://bit.ly/2LRzybM
http://bit.ly/2LRzybM
آی کد
۱۰ زبان برنامه نویسی محبوب در ۲۰۱۸ : یاد بگیریم کد بزنیم
برای کسانی که تازه وارد دنیای برنامه نویسی شده اند بزرگ ترین دوراهی تصمیم گرفتن در مورد اینست که از کجا شروع کنند یا کدام زبان برنامه نویسی مزایای شغلی بیشتری دارد. به همین صورت کد نویسان حرفه ای در م
سوپر کلاس و زیر کلاس (subclass, superclass)
غالبا یک شی از یک کلاس , به همان اندازه شی از یک کلاس دیگر است. برای مثال در علم هندسه یک مستطیل یک چهار ضلعی است. از اینرو در جاوا , میتوان گفت که کلاس Rectangle از کلاس Quadrilateral ارث بری داشته است. در این حالت کلاس Quadrilateral یک سوپر کلاس است و کلاس Rectangle یک زیر کلاس میباشد. مستطیل نوع خاصی از چهار ضلعی است, اما تصور اشتباهی است که بگوییم یک چهار ضلعی یک مستطیل است, چرا که چهار ضلعی میتواند یک متوازی الاضلاع یا نوع دیگری از Quadrilateral باشد.
به دلیل اینکه هر شی از زیرکلاس , شی از سوپر کلاس خود است و یک سوپر کلاس میتواند تعداد زیادی زیر کلاس داشته باشد, از اینرو, مجموعه شی های به نمایش در امده توسط سوپر کلاس بیشتر از مجموعه شی های عرضه شده توسط هر زیر کلاس از خود سوپر کلاس است. برای مثال, سوپر کلاس گیاه شامل گیاه گلدار.. دانه دار.. تک لپه ای.. دو لپه ای است در مقابل زیر کلاس گیاه گلدار تنها نشاندهنده ی زیر مجموعه ی کوچکی از تمام گیاهان است:
A = {1,2,3,4};
عدد چهار تنها نشاندهنده ی زیر مجموعه ی کوچکی از کل مجموعه ی A است
@this_java
غالبا یک شی از یک کلاس , به همان اندازه شی از یک کلاس دیگر است. برای مثال در علم هندسه یک مستطیل یک چهار ضلعی است. از اینرو در جاوا , میتوان گفت که کلاس Rectangle از کلاس Quadrilateral ارث بری داشته است. در این حالت کلاس Quadrilateral یک سوپر کلاس است و کلاس Rectangle یک زیر کلاس میباشد. مستطیل نوع خاصی از چهار ضلعی است, اما تصور اشتباهی است که بگوییم یک چهار ضلعی یک مستطیل است, چرا که چهار ضلعی میتواند یک متوازی الاضلاع یا نوع دیگری از Quadrilateral باشد.
به دلیل اینکه هر شی از زیرکلاس , شی از سوپر کلاس خود است و یک سوپر کلاس میتواند تعداد زیادی زیر کلاس داشته باشد, از اینرو, مجموعه شی های به نمایش در امده توسط سوپر کلاس بیشتر از مجموعه شی های عرضه شده توسط هر زیر کلاس از خود سوپر کلاس است. برای مثال, سوپر کلاس گیاه شامل گیاه گلدار.. دانه دار.. تک لپه ای.. دو لپه ای است در مقابل زیر کلاس گیاه گلدار تنها نشاندهنده ی زیر مجموعه ی کوچکی از تمام گیاهان است:
A = {1,2,3,4};
عدد چهار تنها نشاندهنده ی زیر مجموعه ی کوچکی از کل مجموعه ی A است
@this_java
Gorbage Collection
هر شی که ایجاد می کنید از منابع مختلف سیستم استفاده میکند, همانند حافظع. نیاز به روش مناسبی در باز پس گیری منابع سیستم از انهایی که دیگر به اان نیازی ندارند , لازم است تا از فقدان منابع جلوگیری شود. jvm یک عملیات اتوماتیک به نام garbage collection انجام میدهد تا حافظه اشغال شده توسط شی هایی که دیگر نیازی به ان ندارند , را پس بگیرد. زمانیکه دیگر مراجعه ای به یک شی صورت نمیگیرد, توسط jvm علامت گذاری میشود. این حافظه می تواند با اجرای garbage collection توسط jvm پس گرفته شده و به سیستم برگردانده شود. بر خلاف c و c++ که فقدان حافظه در انها امری رایج است (چون حافظه به طور خودکار توسط این زبان ها باز پس گرفته نمیشود) جاوا وضعیت بهتری دار. امکان دارد با فقدان منابع دیگری هم مواجه شویم, برای مثال, یک برنامه میتواند فایلی از روی دیسک باز کند تا انرا تغییر دهد. اگر برنامه فایل را نبندد برنامه ی دیگیری نمیتواند از ان فایل استفاده کند تا اینکه برنامه ای که فایل را باز کرده است کار را تمام کند
@this_java
هر شی که ایجاد می کنید از منابع مختلف سیستم استفاده میکند, همانند حافظع. نیاز به روش مناسبی در باز پس گیری منابع سیستم از انهایی که دیگر به اان نیازی ندارند , لازم است تا از فقدان منابع جلوگیری شود. jvm یک عملیات اتوماتیک به نام garbage collection انجام میدهد تا حافظه اشغال شده توسط شی هایی که دیگر نیازی به ان ندارند , را پس بگیرد. زمانیکه دیگر مراجعه ای به یک شی صورت نمیگیرد, توسط jvm علامت گذاری میشود. این حافظه می تواند با اجرای garbage collection توسط jvm پس گرفته شده و به سیستم برگردانده شود. بر خلاف c و c++ که فقدان حافظه در انها امری رایج است (چون حافظه به طور خودکار توسط این زبان ها باز پس گرفته نمیشود) جاوا وضعیت بهتری دار. امکان دارد با فقدان منابع دیگری هم مواجه شویم, برای مثال, یک برنامه میتواند فایلی از روی دیسک باز کند تا انرا تغییر دهد. اگر برنامه فایل را نبندد برنامه ی دیگیری نمیتواند از ان فایل استفاده کند تا اینکه برنامه ای که فایل را باز کرده است کار را تمام کند
@this_java
نکاتی در ارتباط با متد finalize
هر کلاس در جاوا داری متد هایی از کلاس Object است(پکیج java.lang). که یکی از انها متد finalize است. این متد به ندرت به کار گرفته میشود. با این همه, به دلیل اینکه این متد بخشی از هر کلاس میباشد انرا در اینجا مطرح میکنیم تا درک شما از اهداف این متد کاملتر شود... جزعیات بیشتر درمورد این متد خارج از بحث ماست و اکثر برنامه نویسان نباید از ان استفاده کنند.
متد finalize توسط garbage collector برای انجام عملیات termination houskeeping بر روی شی قبل از بازپس گیری حافظه از ان اجرا میشود. متد finalize پارامتری دریافت نکرده و void برگشت میدهد و مشکلی که با متد finalize رخ میدهد این است که garbage collector تضمینی بر اجرا خود در سر زمان مشخص اراعه نمی کند. درواقع , امکان دارد garbage collector هرگز قبل از خاتمه یک برنامه اجرا نشود. از اینرو اصولا عملکرد ان غیر مشخص بوده و با فراخونی متد finalize همچین رفتاری دارد. به همین دلیل , اکثر برنامه نویسان از متد finalize دوری میکنند!...
@this_java
هر کلاس در جاوا داری متد هایی از کلاس Object است(پکیج java.lang). که یکی از انها متد finalize است. این متد به ندرت به کار گرفته میشود. با این همه, به دلیل اینکه این متد بخشی از هر کلاس میباشد انرا در اینجا مطرح میکنیم تا درک شما از اهداف این متد کاملتر شود... جزعیات بیشتر درمورد این متد خارج از بحث ماست و اکثر برنامه نویسان نباید از ان استفاده کنند.
متد finalize توسط garbage collector برای انجام عملیات termination houskeeping بر روی شی قبل از بازپس گیری حافظه از ان اجرا میشود. متد finalize پارامتری دریافت نکرده و void برگشت میدهد و مشکلی که با متد finalize رخ میدهد این است که garbage collector تضمینی بر اجرا خود در سر زمان مشخص اراعه نمی کند. درواقع , امکان دارد garbage collector هرگز قبل از خاتمه یک برنامه اجرا نشود. از اینرو اصولا عملکرد ان غیر مشخص بوده و با فراخونی متد finalize همچین رفتاری دارد. به همین دلیل , اکثر برنامه نویسان از متد finalize دوری میکنند!...
@this_java
متغیر های نمونه final
یکی از اصول بنیادین در مهندسی نرم افزار, اصل اعطا حداقل امتیاز یا برتری ویژه است. در ارتباط با یک برنامه, این اصل بر این پایه متکی است که باید به کد ان مقدار که برای انجام وظیفه نیاز دارد, امتیاز و حق دسترسی در نظر گرفت و نه بیشتر!
نیاز است تا برخی از متغیر های نمونه دچار تغییر و اصلاح شوند و برخی دیگر نیازی به این تغییرات ندارند. میتوانید با استفاده از کلمه ی کلیدی final مشخص کنید که متغیر تغییر دادنی نیست(یعنی یک ثابت است)و اینکه هر اقدامی در تغییر داده ان خطا محسوب خواهد شد , برای مثال,
private final int INCREMENT;
یک متغیر نمونه بنام INCREMENT از نوع int و بصورت final (ثابت) اعلان کرده است. تگرچه میتوان ثابت هارا در زمان اعلان مقدار دهی اولیه کرد, اما اینکار الزامی نیست. میتوان ثابت هارا توسط هر سازنده کلاس مقدار دهی اولیه کرد...
@this_java
یکی از اصول بنیادین در مهندسی نرم افزار, اصل اعطا حداقل امتیاز یا برتری ویژه است. در ارتباط با یک برنامه, این اصل بر این پایه متکی است که باید به کد ان مقدار که برای انجام وظیفه نیاز دارد, امتیاز و حق دسترسی در نظر گرفت و نه بیشتر!
نیاز است تا برخی از متغیر های نمونه دچار تغییر و اصلاح شوند و برخی دیگر نیازی به این تغییرات ندارند. میتوانید با استفاده از کلمه ی کلیدی final مشخص کنید که متغیر تغییر دادنی نیست(یعنی یک ثابت است)و اینکه هر اقدامی در تغییر داده ان خطا محسوب خواهد شد , برای مثال,
private final int INCREMENT;
یک متغیر نمونه بنام INCREMENT از نوع int و بصورت final (ثابت) اعلان کرده است. تگرچه میتوان ثابت هارا در زمان اعلان مقدار دهی اولیه کرد, اما اینکار الزامی نیست. میتوان ثابت هارا توسط هر سازنده کلاس مقدار دهی اولیه کرد...
@this_java
🔴 رده بندی زبان های برنامه نویسی براساس موقعیت شغلی و تعداد پروژه ها
@this_java
@this_java
کامپایلر ها و مفسر ها :
زبان های سطح بالا و کامپایلر ها
زبان اسمبلی باعث افزایش سرعت برنامه نویسی شد اما هنوز هم مستلزم دستورات فراوانی برا انجام یک عمل ساده بود. برای افزایش سرعت برنامه نویسی زبان های سطح بالا توسعه پیدا کردند که با استفاده از یک عبارت میتوانند وظایف و اعمال وسیع تری انجام دهند. برنامه های مترجم که وظیفه تبدیل زبان های سطح بالا به زبان ماشین را بر عهده میگیرند کامپایلر نامیده میشوند
مفسر ها
فرایند کامپایل یک برنامه زبان سطح بالا به زبان ماشین میتواند زمان قابل توجهی از کامپیوتر را بگیرد.برنامه های مفسر (interpreter) میتوانند مستقیما برنامه های نوشته شده در زبان های سطح بالا را بدون نیاز به کامپایل به زبان ماشین تبدیل کنند. اگر چه اهسته تر عمل میکنند.پس از اینکه برنامه کاملا توسعه یافت . نسخه ی کامپایل ان تولید میشود تا اجرای برنامه سریع تر صورت بگیرد.
@this_java
زبان های سطح بالا و کامپایلر ها
زبان اسمبلی باعث افزایش سرعت برنامه نویسی شد اما هنوز هم مستلزم دستورات فراوانی برا انجام یک عمل ساده بود. برای افزایش سرعت برنامه نویسی زبان های سطح بالا توسعه پیدا کردند که با استفاده از یک عبارت میتوانند وظایف و اعمال وسیع تری انجام دهند. برنامه های مترجم که وظیفه تبدیل زبان های سطح بالا به زبان ماشین را بر عهده میگیرند کامپایلر نامیده میشوند
مفسر ها
فرایند کامپایل یک برنامه زبان سطح بالا به زبان ماشین میتواند زمان قابل توجهی از کامپیوتر را بگیرد.برنامه های مفسر (interpreter) میتوانند مستقیما برنامه های نوشته شده در زبان های سطح بالا را بدون نیاز به کامپایل به زبان ماشین تبدیل کنند. اگر چه اهسته تر عمل میکنند.پس از اینکه برنامه کاملا توسعه یافت . نسخه ی کامپایل ان تولید میشود تا اجرای برنامه سریع تر صورت بگیرد.
@this_java
#سوال
کلاس های عقیم چه کلاس هایی هستند؟
کلاس هایی که نمیتوان از انها ارث بری کرد
چگونگی تعریف کلاس های عقیم دقیقا مثل کلاس های معمولی میباشد با این تفاوت که کلمه ی final قبل از کلمه ی کلیدی class می اید:
public final class Name {
}
کلاس های عقیم چه کلاس هایی هستند؟
کلاس هایی که نمیتوان از انها ارث بری کرد
چگونگی تعریف کلاس های عقیم دقیقا مثل کلاس های معمولی میباشد با این تفاوت که کلمه ی final قبل از کلمه ی کلیدی class می اید:
public final class Name {
}
💢تعریف Front-End و Back-End به زبان ساده💢
ـ➖➖➖➖
📘 وقتی که ما از Front-end صحبت میکنیم، در واقع در مورد قسمتی از وب صحبت میکنیم که برای شما قابل مشاهده است. در واقع Front-end ظاهر سایت و رابط کاربری سایت است. تمامی بخشی که شما در وبسایتهای مختلف میبینید ترکیبی از HTML و CSS و JavaScript هستند. برای مثال تمامی سایتهایی که دارای منوها، فرمها، نوشتهها، طراحیها و برخی عناصر واکنشگرا است که همگی ترکیبی از سه زبان بالا است.طبیعی است که با این تعریف، حدس بزنیم که یک توسعه دهنده رابط کاربری و طراح وب باید بر سه زبان بالا تسلط داشته باشد.
📕 اما Back-end به طور معمول از سه بخش تشکیل شده. یک سرور، یک برنامه (application) و پایگاه داده(database) در یک سایت خرید کالا، اگر شما اقدام به خرید کنید، در مراحل مختلف در حال تعامل با فرانت اند یا رابط کاربری آن وبسایت هستید و اطلاعات خود را وارد میکنید. وقتی که شما اطلاعات خودتان را وارد میکنید و درخواست خرید میدهید، برنامه یا اپلیکیشن وظیفه ذخیره سازی این اطلاعات را بر روی پایگاه داده برعهده دارد. تمامی اطلاعات بر روی سرور ذخیره میشود و هرگاه که شما دوباره به وبسایت مورد نظرتان برگردید تا فرآیند خرید را تکمیل کنید یا خرید دیگری را انجام دهید، اطلاعات شما همانجا خواهند بود.
@this_java
ـ➖➖➖➖
📘 وقتی که ما از Front-end صحبت میکنیم، در واقع در مورد قسمتی از وب صحبت میکنیم که برای شما قابل مشاهده است. در واقع Front-end ظاهر سایت و رابط کاربری سایت است. تمامی بخشی که شما در وبسایتهای مختلف میبینید ترکیبی از HTML و CSS و JavaScript هستند. برای مثال تمامی سایتهایی که دارای منوها، فرمها، نوشتهها، طراحیها و برخی عناصر واکنشگرا است که همگی ترکیبی از سه زبان بالا است.طبیعی است که با این تعریف، حدس بزنیم که یک توسعه دهنده رابط کاربری و طراح وب باید بر سه زبان بالا تسلط داشته باشد.
📕 اما Back-end به طور معمول از سه بخش تشکیل شده. یک سرور، یک برنامه (application) و پایگاه داده(database) در یک سایت خرید کالا، اگر شما اقدام به خرید کنید، در مراحل مختلف در حال تعامل با فرانت اند یا رابط کاربری آن وبسایت هستید و اطلاعات خود را وارد میکنید. وقتی که شما اطلاعات خودتان را وارد میکنید و درخواست خرید میدهید، برنامه یا اپلیکیشن وظیفه ذخیره سازی این اطلاعات را بر روی پایگاه داده برعهده دارد. تمامی اطلاعات بر روی سرور ذخیره میشود و هرگاه که شما دوباره به وبسایت مورد نظرتان برگردید تا فرآیند خرید را تکمیل کنید یا خرید دیگری را انجام دهید، اطلاعات شما همانجا خواهند بود.
@this_java
ملزوماتی که یک برنامه نویس جاوا باید بداند:
http://javatime.blog.ir/category/شی-گرایی/
http://javatime.blog.ir/category/کد-تمیز/
http://javatime.blog.ir/tag/پلی%20مورفیسم%20در%20جاوا
http://javatime.blog.ir/tag/کلاس%20استاتیک%20در%20جاوا
http://javatime.blog.ir/tag/constructor%20overloading
http://javatime.blog.ir/tag/abstraction%20در%20شی%20گرایی
http://javatime.blog.ir/tag/قوانین%20نامگذاری%20در%20برنامه%20نویسی
http://javatime.blog.ir/tag/انتزاع%20در%20شی%20گرایی
http://javatime.blog.ir/tag/کپسوله%20سازی%20در%20شی%20گرایی
http://javatime.blog.ir/tag/مثال%20Abstraction
http://javatime.blog.ir/tag/تجرید%20در%20شی%20گرایی
@this_java
http://javatime.blog.ir/category/شی-گرایی/
http://javatime.blog.ir/category/کد-تمیز/
http://javatime.blog.ir/tag/پلی%20مورفیسم%20در%20جاوا
http://javatime.blog.ir/tag/کلاس%20استاتیک%20در%20جاوا
http://javatime.blog.ir/tag/constructor%20overloading
http://javatime.blog.ir/tag/abstraction%20در%20شی%20گرایی
http://javatime.blog.ir/tag/قوانین%20نامگذاری%20در%20برنامه%20نویسی
http://javatime.blog.ir/tag/انتزاع%20در%20شی%20گرایی
http://javatime.blog.ir/tag/کپسوله%20سازی%20در%20شی%20گرایی
http://javatime.blog.ir/tag/مثال%20Abstraction
http://javatime.blog.ir/tag/تجرید%20در%20شی%20گرایی
@this_java
javatime.blog.ir
شی گرایی :: جاوا بیاموزیم
۸ مطلب با موضوع «شی گرایی» ثبت شده است - محلی برای یادگیری جاوا
IoT
اینترنت چیزی بیش ازشبکه ای از کامپیوتر ها نیست, در واقع یک (Internet of things) است. منظور از thnigs در اینجا هر شی با یک ادرس ip و قابلیت ارسال خودکار داده بر روی شبکه است , برای مثال یک خودرو با قابلیت پرداخت خودکار عوارض یک دستگاه نظارت قلب در بیمارستان, برنامه های موبایل که مسیر و موقعیت شما را ردگیری میکنند , دما سنج های هوشمند که اقدام به تنظیم درجه حرارت اتاق بر پایه وضعیت جوی و فعالیت در خانه میکنند.
@this_java
اینترنت چیزی بیش ازشبکه ای از کامپیوتر ها نیست, در واقع یک (Internet of things) است. منظور از thnigs در اینجا هر شی با یک ادرس ip و قابلیت ارسال خودکار داده بر روی شبکه است , برای مثال یک خودرو با قابلیت پرداخت خودکار عوارض یک دستگاه نظارت قلب در بیمارستان, برنامه های موبایل که مسیر و موقعیت شما را ردگیری میکنند , دما سنج های هوشمند که اقدام به تنظیم درجه حرارت اتاق بر پایه وضعیت جوی و فعالیت در خانه میکنند.
@this_java
اسامی کلاس و شناسه ها در جاوا:
بطور قراردادی اسامی همه کلاس ها در جاوا با یک حرف بزرگ اغاز شده و حرف اول هر کلمه در ان نام نیز با حرف بزرگ اغار میگردد
نام یک کلاس جاوا بعنوان شناسه شناخته میشود و شامل مجموعه ای از کاراکتر های حروف, اعداد, نماد دلار و خط زیرین (_) است
شناسه ها نمیتوانند با یک رقم اغاز شده و حاوی فاصله باشند. برای مثال شناسه های زیر همگی معتبر هستند:
@this_java
بطور قراردادی اسامی همه کلاس ها در جاوا با یک حرف بزرگ اغاز شده و حرف اول هر کلمه در ان نام نیز با حرف بزرگ اغار میگردد
نام یک کلاس جاوا بعنوان شناسه شناخته میشود و شامل مجموعه ای از کاراکتر های حروف, اعداد, نماد دلار و خط زیرین (_) است
شناسه ها نمیتوانند با یک رقم اغاز شده و حاوی فاصله باشند. برای مثال شناسه های زیر همگی معتبر هستند:
Welcome1, m_inputField1,button7,_valueاما اسامی زیر شناسه معتبر نمیباشند چرا که حاوی رقم و فاصله هستند:
7button, input fieldمعمولا , شناسه ای که با یک حرف بزرگ شروع نمیشود نشاندهنده ی نام یک کلاس نمیباشد , جاوا به بزرگ یا کوچک بودن حروف حساس میباشد (case-senstive) به این معنی که حروف کوچک و بزرگ یکسان ارزیابی نمیشوند و به همین علت دو شناسه a1 و A1 بعنوان یک شناسه یکسان تفسیر نمیشوند (با اینکه هر دو معتبر هستند)
@this_java
white space چیست؟
برنامه نویسان برای اینکه کد خود را خوانا تر کنند از خطوط خالی , کاراکتر های فاصله (space) و تب (tab) استفاده میکنند .
به مجموعه این کاراکتر ها white space میگویند.
معمولا این کاراکتر ها توسط کامپایلر نادیده گرفته میشوند.
@this_java
برنامه نویسان برای اینکه کد خود را خوانا تر کنند از خطوط خالی , کاراکتر های فاصله (space) و تب (tab) استفاده میکنند .
به مجموعه این کاراکتر ها white space میگویند.
معمولا این کاراکتر ها توسط کامپایلر نادیده گرفته میشوند.
@this_java
خواندن و نوشتن متغیر های یک کلاس بدون setter and getter :
همونطوری که میدونید فیلد هایی با سطح دسترسی private رو بدون setter و getter نمیشه خوند یا نوشت..
اما با استفاده از reflection میشه اینکارو بدون ایجاد setterو getter انجام داد
ابتدا دو کلاس ایجاد کنید و نام انهارا به ترتیب A و B قرار دهید.. در کلاس A یک متغیر private قرار داده و کلاس B رو به شکل زیر بنویسید:
class A{
private int i = 220;
}
class B {
public static void main(String[] args) {
A name = new A();
Field f = A.class.getDeclaredField("i"); // variable name
f.setAccessible(true); // Abracadabra
System.out.println(f.get(name));
}
}
OUTPUT:
————————-> 220;
برای ست کردن هم به این روش عمل کنید:
class A{
private int i = 220;
}
class B {
public static void main(String[] args) {
A name = new A();
Field f2 = A.class.getDeclaredField("i");
f2.setAccessible(true);
f2.set(d, 20);
System.out.println(f2.get(name));
}
}
OUTPUT:
————————-> 20;
موفق باشید
@this_java
همونطوری که میدونید فیلد هایی با سطح دسترسی private رو بدون setter و getter نمیشه خوند یا نوشت..
اما با استفاده از reflection میشه اینکارو بدون ایجاد setterو getter انجام داد
ابتدا دو کلاس ایجاد کنید و نام انهارا به ترتیب A و B قرار دهید.. در کلاس A یک متغیر private قرار داده و کلاس B رو به شکل زیر بنویسید:
class A{
private int i = 220;
}
class B {
public static void main(String[] args) {
A name = new A();
Field f = A.class.getDeclaredField("i"); // variable name
f.setAccessible(true); // Abracadabra
System.out.println(f.get(name));
}
}
OUTPUT:
————————-> 220;
برای ست کردن هم به این روش عمل کنید:
class A{
private int i = 220;
}
class B {
public static void main(String[] args) {
A name = new A();
Field f2 = A.class.getDeclaredField("i");
f2.setAccessible(true);
f2.set(d, 20);
System.out.println(f2.get(name));
}
}
OUTPUT:
————————-> 20;
موفق باشید
@this_java
دوستان بالاخره Jdk 11 اومد
https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
از لینک بالا میتونید اونو دانلود کنید
https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
از لینک بالا میتونید اونو دانلود کنید
NetBeans 9 هم منتشر شد
https://netbeans.apache.org/download/nb90/nb90.html
از لینک بالا میتونید دانلودش کنید
https://netbeans.apache.org/download/nb90/nb90.html
از لینک بالا میتونید دانلودش کنید