آموزش ️️برنامه نویسی جاوا | Java @javapro_ir Channel on Telegram

آموزش ️️برنامه نویسی جاوا | Java

@javapro_ir


🎓آکـــــــــادمی جاواپـــــــــــــــرو
آموزش پیش نیازهای برنامه نویسی
آموزش مقدماتی تا پیشرفته جاوا
آموزش Spring Boot
سفارش پروژه ، دوره و تدریس خصوصی: @rzutab
مشاهده دوره ها و ثبت نام👇
wwww.academyjavapro.com
گروه جاوا : @group_javapro

آموزش ️️برنامه نویسی جاوا | Java (Persian)

آموزش برنامه نویسی جاوا | Javann🎓آکـــــــــادمی جاواپــــــــــــــــروnnآموزش پیش نیازهای برنامه نویسیnnآموزش مقدماتی تا پیشرفته جاواnnآموزش Spring Bootnnسفارش پروژه ، دوره و تدریس خصوصی: @rzutabnnمشاهده دوره ها و ثبت نام👇nnwwww.academyjavapro.comnnگروه جاوا : @group_javapronnآیا علاقه‌مند به یادگیری برنامه نویسی جاوا هستید؟ آیا می‌خواهید از ابتدا تا پیشرفته تکنیک‌ها و اصول برنامه نویسی جاوا را فرا بگیرید؟ اگر پاسخ شما بله است، آموزش‌های آکادمی جاواپرو مناسب شماست. این آکادمی با ارائه آموزش‌های پیش نیازی و مقدماتی تا پیشرفته جاوا به شما کمک می‌کند تا مهارت لازم برای توسعه برنامه‌های جاوا را کسب کنید. علاوه بر این، شما می‌توانید پروژه‌ها و دوره‌های خصوصی را نیز سفارش دهید. برای کسب اطلاعات بیشتر و ثبت نام، به وبسایت ما مراجعه کنید و یا در گروه جاوا ما عضو شوید. اینجاست که شما می‌توانید با دیگر علاقه‌مندان به جاوا ارتباط برقرار کنید و از تجربیات آنان بهره‌مند شوید. منتظر حضور گرم شما در آموزش‌های جدید آکادمی جاواپرو هستیم.

آموزش ️️برنامه نویسی جاوا | Java

25 Jan, 15:33


📚توضیح این کوییز

در Spring Boot می‌توان از فایل application.properties برای پیکربندی اتصال، از کلاس DataSource برای تعریف دستی، و از JDBC یا JPA برای تعامل با دیتابیس استفاده کرد.

🔴در دوره Spring Core آکادمی جاواپرو این مبحث و سایر مباحث پایگاه داده در Spring Boot را به صورت کامل آموزش میدهیم. جهت ثبت نام اینجا کلیک کنید

آموزش ️️برنامه نویسی جاوا | Java

25 Jan, 08:12


📚توضیحات این کوییز:

در واقع Spring معمولاً از مکانیزم Connection Pooling برای مدیریت کارآمد اتصالات به پایگاه داده استفاده می‌کند. این کار با استفاده از پیاده‌سازی‌هایی مثل HikariCP یا Apache DBCP انجام می‌شود.


🔴در دوره Spring Core آکادمی جاواپرو این مبحث و سایر مباحث پایگاه داده در Spring Boot را به صورت کامل آموزش میدهیم. جهت ثبت نام اینجا کلیک کنید.

آموزش ️️برنامه نویسی جاوا | Java

25 Jan, 07:59


📚توضیحات این کوییز:

در واقع DataSource یک واسط است که اتصال به پایگاه داده را مدیریت می‌کند. Spring معمولاً از پیاده‌سازی‌های رایج DataSource مانند HikariCP یا Apache DBCP برای پیکربندی ارتباطات دیتابیس استفاده می‌کند.

نمونه کد ساده اتصال به دیتابیس با Spring:

@Configuration
public class AppConfig {

@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.h2.Driver");
dataSource.setUrl("jdbc:h2:mem:testdb");
dataSource.setUsername("sa");
dataSource.setPassword("");
return dataSource;
}

@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}

توضیحات:

1. DataSource: برای پیکربندی اتصال به پایگاه داده استفاده می‌شود.


2. JdbcTemplate: برای ارسال کوئری‌ها و تعامل با دیتابیس استفاده می‌شود.


🔴در دوره Spring Core آکادمی جاواپرو این مبحث و سایر مباحث پایگاه داده در Spring Boot را به صورت کامل آموزش میدهیم. جهت ثبت نام اینجا کلیک کنید.

آموزش ️️برنامه نویسی جاوا | Java

24 Jan, 19:54


📚توضیحات این کوییز:

در واقع Annotation @Transactional به Spring اعلام می‌کند که متد یا کلاس مشخص‌شده باید در محدوده تراکنش اجرا شود. Spring به‌طور خودکار مدیریت Rollback یا Commit را انجام می‌دهد.


💡در دوره Spring Core آکادمی جاواپرو این مبحث و سایر مباحث پایگاه داده در Spring Boot را به صورت کامل آموزش میدهیم. جهت ثبت نام اینجا کلیک کنید.

آموزش ️️برنامه نویسی جاوا | Java

24 Jan, 19:50


📚توضیحات این کوییز

در واقع Spring قابلیت مدیریت تراکنش‌ها را به دو روش ارائه می‌دهد:

1. مبتنی بر کد: استفاده از متدهایی که به صورت دستی تراکنش‌ها را کنترل می‌کنند.

2. مبتنی بر Annotation: استفاده از Annotation مانند @Transactional برای مدیریت خودکار تراکنش‌ها.

💡در دوره Spring Core آکادمی جاواپرو این مبحث و سایر مباحث پایگاه داده در Spring Boot را به صورت کامل آموزش میدهیم. جهت ثبت نام اینجا کلیک کنید.

آموزش ️️برنامه نویسی جاوا | Java

24 Jan, 19:30


📚توضیح در ارتباط با این کوییز

در واقع JDBC Template یک کلاس در Spring است که عملیات JDBC مانند ارسال کوئری‌ها، اجرای دستورات و مدیریت استثناها را ساده می‌کند. این کلاس مدیریت اتصال به پایگاه داده را بهینه کرده و از Boilerplate Code جلوگیری می‌کند.

🔴در دوره Spring Core آکادمی جاواپرو به صورت مفصل مفاهیم پایگاه داده در Spring Boot بررسی شده است.  جهت ثبت نام در دوره اینجا کلیک کنید.

آموزش ️️برنامه نویسی جاوا | Java

16 Jan, 06:32


✉️👩‍💻 لینک عضویت کانال فریلنسری جاواپرو

🔵 https://t.me/javapro_fr

آموزش ️️برنامه نویسی جاوا | Java

16 Jan, 06:29


📱کانال یوتیوب آکادمی جاواپرو رو دوست داشتید سابسکرایب کنید.... کلی آموزش خفن رایگان برنامه نویسی جاوا خواهیم داشت....

🔴مشاهده

آموزش ️️برنامه نویسی جاوا | Java

08 Jan, 06:31


🎁طرح تخفیف ساعتی آکادمی جاواپرو

از امروز طرح های تخفیفی برای دوره های آکادمی جاواپرو با محدودیت ساعتی داریم.
به این صورت ممکنه کد تخفیف برای کل دوره ها یا دوره ای خاص برای ۴ ساعت درنظر بگیریم و بعد از پایان ۴ ساعت کد تخفیف باطل شه
جهت اطلاع و استفاده سریع از این کد تخفیفات پیشنهاد میشه کانال جاواپرو رو دنبال کنید و از حالت Mute آن را خارج کنید.

www.academyjavapro.com

آموزش ️️برنامه نویسی جاوا | Java

04 Jan, 14:25


🌱فریم ورک Spring در جاوا: هنر مدیریت وابستگی‌ها (Dependency Injection)

🔍 مقدمه:
در دنیای برنامه‌نویسی، هر برنامه‌ای از چندین بخش یا شیء (Object) تشکیل شده است که برای انجام وظایف خود با یکدیگر ارتباط دارند. این ارتباط‌ها، که به آن‌ها وابستگی (Dependency) می‌گوییم، می‌توانند مدیریت کد را پیچیده و تغییرات آینده را سخت کنند. اینجاست که Spring Framework وارد عمل می‌شود تا زندگی برنامه‌نویسان را ساده‌تر کند!


⚙️ مشکل: وابستگی سخت‌کد شده (Hard-Coded Dependencies)
فرض کنید می‌خواهید یک اپلیکیشن بسازید. در این اپلیکیشن، یک کلاس به یک شیء دیگر نیاز دارد. اگر این وابستگی‌ها به صورت مستقیم در کد نوشته شوند، تغییر یا جایگزینی آن شیء به چالش تبدیل می‌شود.

مثلاً:

public class PaymentService {
private CreditCardProcessor processor = new CreditCardProcessor();
}

در اینجا، کلاس PaymentService کاملاً به کلاس CreditCardProcessor گره خورده است. حالا اگر بخواهید به جای کارت اعتباری، پرداخت با PayPal را اضافه کنید، باید کد را تغییر دهید. این کار نه تنها زمان‌بر است، بلکه احتمال ایجاد خطا را هم افزایش می‌دهد.


🌟 راه‌حل: تزریق وابستگی (Dependency Injection)
فریم ورک Spring با استفاده از مفهومی به نام تزریق وابستگی (DI) مشکل بالا را حل می‌کند. در این رویکرد:
1. اشیاء (وابستگی‌ها) به جای اینکه درون کلاس‌ها ساخته شوند، از بیرون به آن‌ها تزریق می‌شوند.
2. فریم ورک Spring وظیفه ساخت و مدیریت این وابستگی‌ها را بر عهده می‌گیرد.

مثلاً:

public class PaymentService {
private PaymentProcessor processor;

// Dependency is injected via constructor
public PaymentService(PaymentProcessor processor) {
this.processor = processor;
}
}

در اینجا، کلاس PaymentService وابسته به PaymentProcessor است، اما خود آن را نمی‌سازد. این وابستگی از بیرون، مثلاً از طریق **Spring Container**، تزریق می‌شود.


🌼 فریم ورک Spring چگونه این کار را انجام می‌دهد؟
1. IoC Container (Inversion of Control):
- قلب Spring، چیزی به نام IoC Container است. این کانتینر مسئول ساخت، مدیریت و تزریق اشیاء است.
- شما فقط به Spring می‌گویید که چه وابستگی‌هایی دارید و Spring بقیه کارها را انجام می‌دهد.

2. تزریق وابستگی به روش‌های مختلف:
- تزریق از طریق سازنده (Constructor Injection):
وابستگی‌ها هنگام ساخت شیء تزریق می‌شوند.
- تزریق از طریق Setter:
وابستگی‌ها بعد از ساخت شیء، از طریق متدهای Setter تزریق می‌شوند.
- تزریق از طریق فیلد (Field Injection):
با استفاده از Annotationهایی مانند `@Autowired`، وابستگی‌ها به طور خودکار تزریق می‌شوند.


💡 مزایای استفاده از Spring برای مدیریت وابستگی‌ها:
1. کاهش وابستگی‌های سخت‌کد شده:
کدهای شما ماژولارتر و انعطاف‌پذیرتر می‌شوند.

2. آسان شدن تست و Mocking:
چون وابستگی‌ها از بیرون تزریق می‌شوند، می‌توانید به راحتی آن‌ها را با نسخه‌های آزمایشی جایگزین کنید.

3. افزایش خوانایی و مدیریت‌پذیری کد:
فریم ورک Spring کدهای پیچیده مدیریت وابستگی‌ها را از شما پنهان می‌کند.

4. استفاده مجدد از کد:
وابستگی‌های تزریقی می‌توانند بارها استفاده شوند، بدون اینکه کد را تکرار کنید.


🌈 مثال عملی:
فرض کنید می‌خواهید یک سیستم ایمیل ایجاد کنید. اگر از Spring استفاده کنید:
1. ابتدا یک اینترفیس تعریف می‌کنید:

public interface EmailService {
void sendEmail(String message, String recipient);
}

2. سپس پیاده‌سازی‌های مختلفی برای این اینترفیس ایجاد می‌کنید:

public class SmtpEmailService implements EmailService {
public void sendEmail(String message, String recipient) {
System.out.println("Sending SMTP email to " + recipient);
}
}

public class MockEmailService implements EmailService {
public void sendEmail(String message, String recipient) {
System.out.println("Mock email sent to " + recipient);
}
}

3. حالا کلاس اصلی شما به این اینترفیس وابسته است:

public class NotificationService {
private EmailService emailService;

public NotificationService(EmailService emailService) {
this.emailService = emailService;
}

آموزش ️️برنامه نویسی جاوا | Java

30 Dec, 09:35


📌مینی دوره پایگاه داده ها در جاوا (JDBC)

👩‍💻سر فصل های دوره JDBC در جاوا

دوره آموزشی JDBC در زبان برنامه نویسی جاوا

جلسه اول | معرفی دوره JDBC در زبان برنامه نویسی جاوا

جلسه دوم | اتصال به دیتابیس MYSQL در زبان برنامه نویسی جاوا

جلسه سوم | وارد کردن اطلاعات به دیتابیس MySQL در زبان برنامه نویسی جاوا

جلسه چهارم | آپدیت و حذف اطلاعات از دیتابیس MySQL در زبان برنامه نویسی جاوا

جلسه پنجم | آموزش اتصال و خواندن اطلاعات از دیتابیس SQLite در زبان برنامه نویسی جاوا

جلسه ششم | وارد کردن اطلاعات به دیتابیس SQLite در زبان برنامه نویسی جاوا

جلسه هفتم(جلسه آخر) | آپدیت و حذف اطلاعات از دیتابیس SQLite در زبان برنامه نویسی جاوا

⚙️پیش نیاز: مفاهیم پایه و شی گرایی جاوا

🔴این دوره را رایگان در یوتیوب می توانید تماشا کنید

لطفا کانال آکادمی جاواپرو رو سابسکرایب و زنگوله رو بزنید🤝

📱 مشاهده در یوتیوب


▶️اگر قصد ورود به Spring Boot را دارید و میخواهید پایگاه ها داده ها را قدرتمندانه مسلط شوید دوره زیر را به شما پیشنهاد میکنیم:
https://academyjavapro.com/?p=4608

آموزش ️️برنامه نویسی جاوا | Java

29 Dec, 09:30


👩‍💻 مینی دوره Spring MVC CRUD

👩‍🎓دانشجو پس از این دوره قادر خواهد بود:
– ساختار یک پروژه Spring MVC را درک و پیاده‌سازی کند.
– با مفاهیم Model, View, و Controller در Spring آشنا شود.
– عملیات CRUD (Create, Read, Update, Delete) را پیاده‌سازی کند.
– فرم‌های HTML را با استفاده از Spring Form Tags ایجاد کند.
– با مفهوم Dependency Injection در Spring آشنا شود.

🟢دستاوردها:
– توانایی ساخت یک برنامه وب کامل با قابلیت‌های CRUD
– درک معماری MVC و نحوه پیاده‌سازی آن در Spring

🔴این مینی دوره را رایگان می توانید در یوتیوب تماشا کنید

⭕️در یوتیوب جاواپرو رو سابسکرایب کنید،لایک و کامنت بذارید که متوجه بشیم که مورد استقبال قرار گرفته و بیشتر تلاش کنیم ویدئوهای بیشتری را به اشتراک بذاریم

📱 مشاهده در یوتیوب

آموزش ️️برنامه نویسی جاوا | Java

29 Dec, 09:27


👩‍💻 مینی دوره آموزش Spring RestFul

اجرای یک مینی پروژه Spring RESTful CRUD:

🎓دانشجو پس از این دوره قادر خواهد بود:
– مفاهیم اساسی REST و RESTful API را درک کند.
– یک RESTful API را با استفاده از Spring Boot پیاده‌سازی کند.
– عملیات CRUD را از طریق endpoint‌های REST انجام دهد.
– با فرمت‌های داده مانند JSON کار کند.
– از annotation‌های Spring برای مدیریت درخواست‌ها و پاسخ‌ها استفاده کند.

🟢دستاوردها:
– توانایی طراحی و پیاده‌سازی یک RESTful API کامل
– درک از اصول REST و نحوه پیاده‌سازی آن‌ها در Spring
– آمادگی برای کار در پروژه‌های که از معماری میکروسرویس استفاده می‌کنند


🔴این مینی دوره را رایگان می توانید در یوتیوب تماشا کنید

⭕️در یوتیوب جاواپرو رو سابسکرایب کنید،لایک و کامنت بذارید که متوجه بشیم که مورد استقبال قرار گرفته و بیشتر تلاش کنیم ویدئوهای بیشتری را به اشتراک بذاریم

📱 مشاهده در یوتیوب

آموزش ️️برنامه نویسی جاوا | Java

29 Dec, 09:20


👩‍💻 مینی دوره ساخت صفحه Login با Spring Boot

👩‍💻 چگونه با Spring Boot صفحه Login برای سایت ها درست کنیم؟

🟢شرح پروژه:
قرار است یک سایت باهم بسازیم،این سایت یک Home page ، یک Login و یک صفحه داره که کاربر تا زمانی که در سایت لاگین نکرده اجازه دسترسی به آن صفحه را نخواهد داشت.
در قالب یک ویدئو آموزش پروژه محور Spring Boot این مینی پروژه را انجام داده ایم.

ساخت Login Form ساده با استفاده از Spring Security:

🎓دانشجو پس از این دوره قادر خواهد بود:
– مفاهیم اساسی امنیت در برنامه‌های وب را درک کند.
– با Spring Security و نحوه پیکربندی آن آشنا شود.
– یک فرم ورود کاربر (login form) را از صفر پیاده‌سازی کند.
– مکانیزم‌های احراز هویت و مجوزدهی را در Spring پیاده‌سازی کند.

🟢دستاوردهای این دوره:
– توانایی ایجاد یک سیستم ورود امن برای برنامه‌های تحت وب
– درک از مفاهیم امنیتی در توسعه نرم‌افزار
– آمادگی برای پیاده‌سازی سیستم‌های پیچیده‌تر احراز هویت در آینده

🔴این مینی دوره را رایگان می توانید در یوتیوب تماشا کنید

⭕️در یوتیوب جاواپرو رو سابسکرایب کنید،لایک و کامنت بذارید که متوجه بشیم که مورد استقبال قرار گرفته و بیشتر تلاش کنیم ویدئوهای بیشتری را به اشتراک بذاریم

📱 مشاهده در یوتیوب

آموزش ️️برنامه نویسی جاوا | Java

26 Dec, 17:28


آموزش ️️برنامه نویسی جاوا | Java pinned «موافق از سر گیری دوباره کوییز های چالشی هستین؟»

آموزش ️️برنامه نویسی جاوا | Java

25 Dec, 15:07


آموزش ️️برنامه نویسی جاوا | Java pinned «📱 واتساپ برگشت! گروه برنامه نویسی جاواپرو جهت تعامل،پرسش و پاسخ،اشتراک اخبار و تجربیات برنامه نویسی در واتساپ ایجاد شد💬 🟢جهت عضویت روی لینک زیر کلیک کنید: https://chat.whatsapp.com/FYCIbvokHzyK03IuG3rLsh»

آموزش ️️برنامه نویسی جاوا | Java

25 Dec, 14:55


📱 واتساپ برگشت! گروه برنامه نویسی جاواپرو جهت تعامل،پرسش و پاسخ،اشتراک اخبار و تجربیات برنامه نویسی در واتساپ ایجاد شد💬

🟢جهت عضویت روی لینک زیر کلیک کنید:
https://chat.whatsapp.com/FYCIbvokHzyK03IuG3rLsh

آموزش ️️برنامه نویسی جاوا | Java

04 Dec, 16:31


▶️کانال یوتیوب جاواپرو

لطفا با سابسکرایب از تیم جاواپرو حمایت کنید

💧رفته رفته آموزش های بیشتری از جاوا در یوتیوب به اشتراک میذاریم

▶️مشاهده کانال یوتیوب[کلیک کنید]

آموزش ️️برنامه نویسی جاوا | Java

28 Nov, 16:30


📢تمامی دوره های برنامه نویسی جاوا سایت آکادمی جاواپرو نیم بها شد.....

📚لیست دوره های نیم بها:
پیش نیاز برنامه نویسی
مبانی جاوا
پیشرفته جاوا
اسپرینگ بوت - کتاب فروشی آنلاین
اسپرینگ بوت - سیستم دانشگاه
اسپرینگ سکیورتی

آکادمی جاواپرو با بیش از ۵٠٠ دانشجو جاوا
مدرس هایی که خود با شرکت های مرتبط با جاوا همکاری دارند
بیش از ۸ سال فعالیت و سابقه آموزش جاوا

🕛 تا ۱٠ آذر ماه

🎁 کد تخفیف ۵٠ درصد: BLKFRY

◀️مشاهده دوره ها و ثبت نام👇
https://academyjavapro.com/

آموزش ️️برنامه نویسی جاوا | Java

26 Nov, 06:55


فقط ۴ روز تا پایان تخفیف ۵٠٪ بلک فرآیدی
آکادمی جاواپرو


⚠️امروز این فرصت را داری که تمامی دوره های جاوا را نیم بها تهیه کنی

🎁کد تخفیف: BLKFRY

◀️مشاهده دوره ها و ثبت نام

آموزش ️️برنامه نویسی جاوا | Java

26 Nov, 05:46


#️⃣با لایک کردن و ری اکشن مطالب آموزشی که در کانال ارسال میشه به ما این پیام رو میرسونید که این مطالب موردپسند واقع شده و در بیشتر کردن این مطالب آموزشی به ما انگیزه می دهد. 🍀🍃

آموزش ️️برنامه نویسی جاوا | Java

25 Nov, 14:25


🔸کتابخانه `javax.sound.sampled` در Java

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


کلاس‌ها و توابع اصلی
1. `AudioSystem`
- برای دسترسی به منابع صوتی و دریافت اطلاعات درباره آنها استفاده می‌شود.
- توابع مهم:
- AudioSystem.getAudioInputStream(File file):
دریافت یک جریان صوتی از یک فایل.
- AudioSystem.getClip():
ایجاد یک شیء Clip برای پخش صدا.

2. `Clip`
- برای پخش فایل‌های صوتی کوچک استفاده می‌شود.
- توابع مهم:
- clip.open(AudioInputStream stream):
باز کردن جریان صوتی.
- clip.start():
شروع پخش.
- clip.stop():
توقف پخش.
- clip.setFramePosition(int frames):
تنظیم موقعیت پخش.

3. `AudioInputStream`
- جریان صوتی را از فایل صوتی می‌خواند و اطلاعات را فراهم می‌کند.

4. `TargetDataLine` و `SourceDataLine`
- برای ضبط و پخش داده‌های صوتی به صورت بلادرنگ استفاده می‌شوند.


مثال‌ها

1. پخش یک فایل صوتی

import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;

public class AudioPlayer {
public static void main(String[] args) {
try {
// فایل صوتی
File audioFile = new File("example.wav");

// ایجاد جریان صوتی
AudioInputStream audioStream = AudioSystem.getAudioInputStream(audioFile);

// گرفتن یک شیء Clip
Clip clip = AudioSystem.getClip();

// باز کردن فایل صوتی
clip.open(audioStream);

// پخش فایل صوتی
clip.start();

System.out.println("Playing audio...");

// صبر تا پایان پخش
Thread.sleep(clip.getMicrosecondLength() / 1000);

} catch (UnsupportedAudioFileException e) {
System.err.println("Unsupported audio file format!");
} catch (LineUnavailableException e) {
System.err.println("Audio line unavailable!");
} catch (IOException e) {
System.err.println("Error reading audio file!");
} catch (InterruptedException e) {
System.err.println("Playback interrupted!");
}
}
}



2. ضبط صدای کاربر و ذخیره آن در فایل

import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;

public class AudioRecorder {
public static void main(String[] args) {
// تنظیمات فرمت صوتی
AudioFormat format = new AudioFormat(44100, 16, 2, true, true);
DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);

try {
// باز کردن خط ورودی
TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info);
line.open(format);

// شروع ضبط
line.start();
System.out.println("Recording started...");

// ذخیره داده‌ها در فایل
File audioFile = new File("record.wav");
AudioInputStream audioStream = new AudioInputStream(line);
AudioSystem.write(audioStream, AudioFileFormat.Type.WAVE, audioFile);

System.out.println("Recording saved as record.wav");

} catch (LineUnavailableException e) {
System.err.println("Audio line unavailable!");
} catch (IOException e) {
System.err.println("Error saving the audio!");
}
}
}



نکات مهم
1. فایل‌های صوتی معمولاً باید در فرمت‌های WAV یا AIFF باشند.
2. اگر فایل صوتی شما فرمت دیگری (مانند MP3) دارد، نیاز به کتابخانه‌های خارجی مانند JLayer خواهید داشت.
3. برای صداهای طولانی، از کلاس‌های دیگر مانند SourceDataLine به جای Clip استفاده کنید.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

23 Nov, 11:01


☯️وضعیت بازار کار متخصصان Spring Boot در ایران چطور است؟

وضعیت بازار کار متخصصان Spring Boot در ایران به طور کلی قابل قبول است، با توجه به رشد روزافزون فناوری‌های وب و نیاز به توسعه نرم‌افزارهای مبتنی بر جاوا، تخصص در Spring Boot یکی از مهارت‌های مورد نیاز در صنعت نرم‌افزار است.

⬅️چند نکته در مورد وضعیت بازار کار متخصصان Spring Boot در ایران:

1. تقاضای بالا: بسیاری از شرکت‌ها به دنبال استخدام توسعه‌دهندگان با تجربه در Spring Boot هستند، زیرا این فریم‌ورک به توسعه سریع و کارآمد برنامه‌های مبتنی بر وب کمک می‌کند.

2. تنوع پروژه‌ها: متخصصان Spring Boot می‌توانند در پروژه‌های مختلفی از جمله توسعه وب‌سایت‌ها، اپلیکیشن‌های موبایل، و سیستم‌های مدیریت محتوا فعالیت کنند.

3. فرصت‌های freelance: بسیاری از توسعه‌دهندگان به صورت فریلنسری نیز فعالیت می‌کنند و پروژه‌های مختلفی را از طریق پلتفرم‌های آنلاین دریافت می‌کنند.

4. رقابت: با افزایش تعداد متخصصان در این حوزه، رقابت نیز افزایش یافته است. بنابراین، داشتن مهارت‌های مکمل مانند آشنایی با دیگر فریم‌ورک‌ها، ابزارهای DevOps و پایگاه‌های داده می‌تواند مزیت محسوب شود.

5. آموزش و یادگیری: با توجه به تغییرات سریع در تکنولوژی، به‌روز نگه‌داشتن دانش و مهارت‌ها بسیار مهم است. دوره‌های آموزشی و منابع آنلاین می‌توانند به تقویت مهارت‌های شما کمک کنند.

◀️به طور کلی، اگر شما دارای تجربه و دانش کافی در Spring Boot باشید، شانس خوبی برای پیدا کردن شغل مناسب در بازار کار ایران خواهید داشت.

🔴مشاهده دوره های Spring Boot در آکادمی جاواپرو

آموزش ️️برنامه نویسی جاوا | Java

21 Nov, 17:57


👩‍💻کاربرد modCount در‌ جاوا

در جاوا، modCount یک فیلد محافظت‌شده در برخی از پیاده‌سازی‌های مجموعه‌ها (مانند ArrayList, HashSet, HashMap, و غیره) است. این فیلد برای ردیابی تغییرات ساختاری در مجموعه استفاده می‌شود. تغییرات ساختاری شامل عملیات‌هایی مانند افزودن، حذف، یا تغییر اندازه مجموعه است که ساختار داخلی مجموعه را تغییر می‌دهد.

نقش modCount
1. تشخیص تغییرات همزمان: modCount به تشخیص تغییرات همزمان مجموعه کمک می‌کند. به عنوان مثال، در هنگام پیمایش (iteration) روی یک مجموعه، اگر مجموعه به طور همزمان تغییر کند، مقدار modCount تغییر می‌کند و این تغییرات منجر به پرتاب استثنای ConcurrentModificationException می‌شود.
2. اطمینان از یکپارچگی داده‌ها: با استفاده از modCount، جاوا می‌تواند از یکپارچگی داده‌ها در مجموعه‌ها اطمینان حاصل کند و مانع دسترسی‌های نادرست و خطاهای همزمانی شود.

مثال
فرض کنید یک ArrayList دارید و در حین پیمایش بر روی آن، یکی دیگر از نخ‌ها عنصری را به لیست اضافه می‌کند. modCount تشخیص می‌دهد که تعداد تغییرات در لیست افزایش یافته است و یک استثنای ConcurrentModificationException پرتاب می‌کند.
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);

for (Integer number : list) {
if (number == 1) {
list.add(3);
}
}

### نحوه عملکرد modCount
- هنگامی که یک تغییر ساختاری در مجموعه رخ می‌دهد (مانند افزودن یا حذف عنصر)، مقدار modCount افزایش می‌یابد.
- در هنگام پیمایش بر روی مجموعه، مقدار modCount بررسی می‌شود و در صورت تشخیص تغییرات غیرمنتظره، استثنای ConcurrentModificationException پرتاب می‌شود.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

21 Nov, 14:28


🔸 آشنایی با API و نحوه کار با آن در جاوا

چیست API 🔍
مخفف شده (Application Programming Interface) و واسطی است که به برنامه‌ها اجازه می‌دهد با یکدیگر ارتباط برقرار کنند. این ارتباط می‌تواند برای تبادل داده، ارسال درخواست، یا استفاده از قابلیت‌های یک برنامه دیگر باشد. به عنوان مثال:
- استفاده از نقشه گوگل در یک اپلیکیشن دیگر.
- ارسال پیامک یا ایمیل از طریق سرویس‌های آنلاین.

🔑 اجزای اصلی API
1. Request (درخواست):
اطلاعاتی که به API ارسال می‌شود (مانند پارامترها و متد).
2. Response (پاسخ):
داده‌ای که از API دریافت می‌شود.
3. HTTP Methods:
متدهایی مانند GET, POST, PUT, DELETE برای انجام عملیات مختلف.


🛠️ چگونه در جاوا با API کار کنیم؟
برای کار با API در جاوا، ابزارهای متعددی وجود دارد که از طریق آنها می‌توانید درخواست ارسال کرده و پاسخ را پردازش کنید.

1. کتابخانه‌های جاوا برای کار با API
- HttpURLConnection: کلاس داخلی جاوا برای ارسال و دریافت درخواست.
- Apache HttpClient: کتابخانه‌ای قدرتمند برای مدیریت درخواست‌ها.
- Retrofit: ابزار محبوب برای APIهای RESTful.
- Spring WebClient: مناسب برای برنامه‌های Spring.

2. نحوه استفاده از HttpURLConnection
مثال ساده‌ای از ارسال درخواست GET به یک API:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ApiExample {
public static void main(String[] args) {
try {
String apiUrl = "https://..."; // آدرس API
URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");

// بررسی وضعیت پاسخ
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println("Response: " + response.toString());
} else {
System.out.println("Error: " + responseCode);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


3. ابزارهای پیشرفته‌تر
اگر پروژه شما پیچیده‌تر است، از ابزارهایی مثل Retrofit یا Spring WebClient استفاده کنید که مدیریت درخواست‌ها را ساده‌تر می‌کنند.


💡 نکته: قبل از استفاده از یک API، باید مستندات آن را مطالعه کنید و در صورت نیاز کلید (API Key) دریافت کنید.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

21 Nov, 07:52


آموزش ️️برنامه نویسی جاوا | Java pinned «»

آموزش ️️برنامه نویسی جاوا | Java

19 Nov, 17:33


🔸حل مسعله

در اینجا مسئله معروف "دو عدد که مجموعشان برابر یک مقدار مشخص است" (*Two Sum*) را با استفاده از زبان جاوا و آرایه‌ها بررسی می‌کنیم. این مسئله یکی از مسائل محبوب در مصاحبه‌های برنامه‌نویسی است.

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

🧩 مثال ورودی و خروجی:
- ورودی:
آرایه: [2, 7, 11, 15]
هدف: 9
- خروجی: [0, 1] (زیرا `2 + 7 = 9`)


🧩 حل مسئله با جاوا
در اینجا دو روش رایج را بررسی می‌کنیم:

📌 1. روش ساده با دو حلقه تو در تو (روش با پیچیدگی \(O(n^2)\))
این روش ساده اما کند است.


public class TwoSum {
public static int[] findTwoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] == target) {
return new int[] { i, j };
}
}
}
throw new IllegalArgumentException("No two sum solution found");
}

public static void main(String[] args) {
int[] nums = {2, 7, 11, 15};
int target = 9;
int[] result = findTwoSum(nums, target);
System.out.println("Indices: [" + result[0] + ", " + result[1] + "]");
}
}


توضیحات:
1. دو حلقه تو در تو داریم:
- حلقه اول عدد اول را انتخاب می‌کند.
- حلقه دوم عدد بعدی را بررسی می‌کند.
2. اگر مجموع دو عدد برابر هدف بود، اندیس‌ها را برمی‌گرداند.
3. اگر پاسخ پیدا نشود، یک خطا اعلام می‌شود.


📌 2. روش بهینه با استفاده از نقشه هش (HashMap) (پیچیدگی \(O(n)\))
در این روش، به کمک یک HashMap مکان عناصر را ذخیره می‌کنیم تا از جستجوی اضافه جلوگیری شود.


import java.util.HashMap;

public class TwoSumOptimized {
public static int[] findTwoSum(int[] nums, int target) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (map.containsKey(complement)) {
return new int[] { map.get(complement), i };
}
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution found");
}

public static void main(String[] args) {
int[] nums = {2, 7, 11, 15};
int target = 9;
int[] result = findTwoSum(nums, target);
System.out.println("Indices: [" + result[0] + ", " + result[1] + "]");
}
}


🚀 توضیحات:
1. ایده اصلی:
- در هر مرحله بررسی می‌کنیم آیا مکمل (عدد مورد نیاز برای رسیدن به هدف) قبلاً در HashMap وجود دارد یا خیر.
- اگر وجود داشت، اندیس‌ها را برمی‌گردانیم.
- اگر وجود نداشت، عدد فعلی و اندیس آن را در HashMap ذخیره می‌کنیم.
2. این روش تنها یک بار از روی آرایه عبور می‌کند و کارآمدتر است.

نکات آموزشی
- استفاده از داده‌ساختار مناسب (مثل HashMap) می‌تواند زمان اجرای برنامه را به طور چشمگیری کاهش دهد.
- در مسائل مشابه، ابتدا پیچیدگی زمانی و سپس پیچیدگی مکانی را تحلیل کنید.
- خطایابی را جدی بگیرید؛ مثلاً اگر آرایه خالی باشد یا جواب وجود نداشته باشد، باید مدیریت کنید.

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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

17 Nov, 14:56


🔸آرایه‌ها و آرایه های چند بعدی

🧩 تعریف آرایه:
آرایه در جاوا یک ساختار داده‌ای است که می‌تواند چندین مقدار از یک نوع خاص را ذخیره کند. به‌عنوان مثال، می‌توان آرایه‌ای از اعداد صحیح، کاراکترها، یا حتی اشیا تعریف کرد.

📌 نحوه تعریف آرایه:

int[] numbers; // تعریف آرایه
numbers = new int[5]; // تخصیص حافظه برای 5 عنصر

یا می‌توانیم این دو مرحله را ترکیب کنیم:

int[] numbers = new int[5];

می‌توان در زمان تعریف مقداردهی نیز کرد:

int[] numbers = {1, 2, 3, 4, 5};



🔄 توابع پرکاربرد برای آرایه‌ها:

1. طول آرایه: برای به‌دست آوردن طول آرایه از ویژگی length استفاده می‌کنیم:

System.out.println("طول آرایه: " + numbers.length);


2. مرتب‌سازی آرایه: با استفاده از کلاس Arrays در بسته java.util:

import java.util.Arrays;

int[] numbers = {5, 1, 4, 2, 3};
Arrays.sort(numbers); // مرتب‌سازی صعودی
System.out.println(Arrays.toString(numbers)); // چاپ آرایه مرتب‌شده


3. جستجو در آرایه: برای یافتن یک عنصر در آرایه:

int index = Arrays.binarySearch(numbers, 4); // جستجوی عنصر 4
System.out.println("شاخص عنصر 4: " + index);



🌐 آرایه‌های چندبعدی:
جاوا از آرایه‌های چندبعدی نیز پشتیبانی می‌کند. به‌عنوان مثال، آرایه‌های دوبعدی برای نمایش جداول یا ماتریس‌ها کاربرد دارند.

📌 تعریف آرایه چندبعدی:

int[][] matrix = new int[3][3]; // آرایه دوبعدی 3x3


📌 مقداردهی آرایه چندبعدی:

int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};


📌 پیمایش آرایه چندبعدی:
برای پیمایش آرایه دوبعدی از حلقه‌های تو در تو استفاده می‌کنیم:

for (int i = 0; i < matrix.length; i++) { // پیمایش سطرها
for (int j = 0; j < matrix[i].length; j++) { // پیمایش ستون‌ها
System.out.print(matrix[i][j] + " ");
}
System.out.println(); // رفتن به سطر بعدی
}



مثال جامع:

import java.util.Arrays;

public class Main {
public static void main(String[] args) {
// تعریف و مقداردهی آرایه
int[] numbers = {5, 3, 8, 1, 2};
System.out.println("آرایه اولیه: " + Arrays.toString(numbers));

// مرتب‌سازی آرایه
Arrays.sort(numbers);
System.out.println("آرایه مرتب‌شده: " + Arrays.toString(numbers));

// تعریف آرایه دوبعدی
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

// پیمایش آرایه دوبعدی
System.out.println("آرایه دوبعدی:");
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}


با این مثال ساده، شما یاد گرفتید چطور با آرایه‌های تک‌بعدی و چندبعدی کار کنید و توابع مرتبط با آن‌ها را استفاده کنید. 🚀

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

17 Nov, 14:07


آموزش ️️برنامه نویسی جاوا | Java pinned «»

آموزش ️️برنامه نویسی جاوا | Java

10 Nov, 07:47


آموزش ️️برنامه نویسی جاوا | Java pinned «»

آموزش ️️برنامه نویسی جاوا | Java

04 Nov, 13:55


👩‍💻 موضوع -> تابع main و ورودی‌های آن در جاوا

در جاوا، تابع main نقطه شروع اجرای برنامه است و بدون وجود این تابع، برنامه اجرا نمی‌شود. شکل استاندارد تابع main به صورت زیر است:

public static void main(String[] args)


🔸 اجزای تابع main:
-عبارت public: این کلیدواژه به این معنی است که تابع main از همه جا در دسترس است.
-عبارت static: به ما امکان می‌دهد که تابع را بدون نیاز به ساخت شیء از کلاس، مستقیماً اجرا کنیم.
- عبارت void: نشان‌دهنده این است که تابع مقداری را برنمی‌گرداند.
-پارامتر String[] args: این ورودی، آرایه‌ای از رشته‌هاست که به عنوان ورودی‌های خط فرمان به برنامه منتقل می‌شود.

🔹 استفاده از آرگومان‌ها:
با استفاده از args، می‌توان پارامترهایی را از خط فرمان به برنامه داد و سپس در کد از آنها استفاده کرد. مثال ساده:

public class Main {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("Hello, " + args[0] + "!");
        } else {
            System.out.println("Hello, World!");
        }
    }
}


💡 توجه: این کد نامی را که از خط فرمان وارد می‌کنید چاپ می‌کند. اگر هیچ نامی وارد نشود، پیام "Hello, World!" را نشان می‌دهد.

🔹 خط فرمان چیست؟

خط فرمان (Command Line) یا "ترمینال" محیطی متنی برای اجرای دستورات در سیستم عامل است. به جای استفاده از رابط‌های گرافیکی، کاربران از خط فرمان برای اجرای برنامه‌ها، مدیریت فایل‌ها، و انجام تنظیمات سیستم استفاده می‌کنند.

در سیستم عامل‌های مختلف مانند ویندوز (Command Prompt یا PowerShell)، لینوکس و مک (Terminal)، خط فرمان وجود دارد و به کاربر امکان اجرای مستقیم دستورات را می‌دهد.

🔹 پارامترها در خط فرمان:

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

به عنوان مثال، فرض کنید کدی داریم که نام و سن کاربر را از خط فرمان بگیرد و چاپ کند:

public class Main {
    public static void main(String[] args) {
        if (args.length >= 2) {
            String name = args[0];
            String age = args[1];
            System.out.println("Hello, " + name + "! You are " + age + " years old.");
        } else {
            System.out.println("Please provide your name and age.");
        }
    }
}


🔸 نحوه اجرا با پارامترهای خط فرمان:

برای اجرای این کد با پارامترها، ابتدا برنامه را کامپایل کنید:

javac Main.java


سپس با دستور زیر برنامه را اجرا کنید و پارامترها را وارد کنید:

java Main Alice 25


🔸 نتیجه:
خروجی این کد در صورت وارد کردن پارامترها به این شکل خواهد بود:


Hello, Alice! You are 25 years old.


💡 نکته: در این مثال، Alice و 25 به عنوان پارامترها به برنامه پاس داده شده‌اند و برنامه آنها را به ترتیب به عنوان نام و سن کاربر در args[0] و args[1] دریافت کرده است.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

02 Nov, 19:49


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

02 Nov, 16:22


🔹 موضوع -> اجرای فایل‌های جاوا در CMD (ویندوز) و Terminal (لینوکس/مک)

برای اجرای فایل‌های جاوا در خط فرمان، مراحل زیر را دنبال کنید:

1. تایید نصب Java:
- ابتدا مطمئن شوید که جاوا به‌درستی نصب شده است. برای این کار، دستور زیر را در CMD یا Terminal وارد کنید:

java -version

- اگر نسخه جاوا نمایش داده شد، یعنی جاوا نصب است. در غیر این صورت باید جاوا را نصب کنید.

2. انتقال به پوشه فایل جاوا:
- در CMD یا Terminal، با دستور cd به مسیری که فایل جاوا در آن قرار دارد بروید. به عنوان مثال:

cd path/to/your/java/file


3. کامپایل فایل جاوا:
- برای تبدیل فایل .java به .class`، از دستور `javac استفاده کنید. فرض کنیم فایل شما HelloWorld.java نام دارد:

javac HelloWorld.java

- اگر خطایی وجود نداشته باشد، یک فایل جدید با پسوند .class به نام HelloWorld.class ایجاد می‌شود.

4. اجرای فایل کامپایل شده:
- برای اجرای فایل کامپایل شده، از دستور java به همراه نام کلاس استفاده کنید (بدون پسوند `.class`):

java HelloWorld

- اگر همه چیز درست باشد، خروجی برنامه شما در CMD یا Terminal نمایش داده می‌شود.

🔸 مثال کامل:

cd C:\Users\YourUsername\Documents\JavaProjects
javac HelloWorld.java
java HelloWorld


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

با این روش می‌توانید برنامه‌های جاوا را به سادگی در CMD یا Terminal اجرا کنید!

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

31 Oct, 05:22


💬گروه پرسش و پاسخ برنامه نویسی جاوا

👩‍💻 جهت عضویت[اینجا کلیک کنید]

آموزش ️️برنامه نویسی جاوا | Java

29 Oct, 17:09


📚 موضوع -> دیتابیس در جاوا
برای کار با دیتابیس در جاوا، نیاز است تا با چند مفهوم و ابزار آشنا باشید و تنظیماتی را انجام دهید. در ادامه، به شما گام‌های اصلی و ابزارهای مورد نیاز برای کار با دیتابیس در جاوا را معرفی می‌کنم:

۱. JDBC (Java Database Connectivity)
در جاوا JDBC یکی از پرکاربردترین API‌ها برای اتصال به دیتابیس است. با استفاده از JDBC می‌توانید به انواع پایگاه‌های داده (مانند MySQL، Oracle، PostgreSQL و غیره) متصل شده و عملیات‌های مختلف را روی آن‌ها انجام دهید.

۲. درایور JDBC دیتابیس
برای اینکه جاوا بتواند با یک دیتابیس خاص کار کند، باید درایور JDBC مربوط به آن دیتابیس را دانلود و به پروژه اضافه کنید. درایورهای JDBC برای انواع پایگاه‌های داده مختلف موجود هستند و می‌توانید آن‌ها را از سایت رسمی دیتابیس دریافت کنید.

مثلاً برای اتصال به MySQL، به درایور MySQL JDBC نیاز دارید که فایل آن معمولاً به صورت یک فایل JAR با نام mysql-connector-java-x.x.x.jar ارائه می‌شود.

### ۳. تنظیمات اتصال به دیتابیس (Connection URL)
شما باید آدرس و اطلاعات مربوط به دیتابیس را مشخص کنید. این اطلاعات شامل URL اتصال به دیتابیس، نام کاربری و رمز عبور است. نمونه‌ای از URL اتصال به دیتابیس MySQL به این صورت است:


String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "123456";


۴. کلاس‌های اصلی JDBC
برخی از کلاس‌های مهم در JDBC شامل موارد زیر است:
- Connection:
برای اتصال به دیتابیس.
- Statement:
برای اجرای کوئری‌ها.
- ResultSet:
برای دریافت نتایج کوئری‌ها.
- PreparedStatement:
برای جلوگیری از SQL Injection و اجرای کوئری‌های پارامتری.

۵. اجرای کوئری‌ها
برای اجرای کوئری‌های SQL و دستورات مختلف مانند SELECT, INSERT, UPDATE, DELETE`، نیاز به نوشتن کوئری‌های SQL دارید و با استفاده از `Statement یا PreparedStatement آن‌ها را اجرا می‌کنید.

۶. گام‌های اصلی برای کار با دیتابیس در جاوا
۱. اضافه کردن درایور JDBC: فایل JAR مربوط به درایور را به پروژه اضافه کنید.
2. اتصال به دیتابیس: استفاده از Connection.
3. ایجاد و اجرای کوئری: استفاده از Statement یا PreparedStatement.
4. پردازش نتایج: استفاده از ResultSet.
5. بستن اتصال: بستن تمام منابع باز مانند ResultSet, Statement و Connection.

مثال کد اتصال به دیتابیس MySQL

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Main {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "123456";

try {
// اتصال به دیتابیس
Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
System.out.println("Connected to the database!");

// اجرای کوئری SELECT
String sql = "SELECT * FROM users";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();

// پردازش نتایج
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}

// بستن منابع
resultSet.close();
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}


۷. ORM (Object Relational Mapping) (پیشنهادی)
اگر پروژه شما بزرگ‌تر باشد، پیشنهاد می‌شود از ORMها استفاده کنید. Hibernate یک کتابخانه ORM پرکاربرد در جاوا است که به شما اجازه می‌دهد به جای نوشتن کوئری‌های SQL به صورت مستقیم، با استفاده از کلاس‌ها و اشیاء، عملیات روی دیتابیس انجام دهید.


👨‍💻 با یادگیری مفاهیم بالا، می‌توانید یک برنامه جاوا که با دیتابیس کار می‌کند را به راحتی بنویسید.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

28 Oct, 06:47


۷ آبان سالروز بزرگمرد تاریخ ایران کوروش بزرگ گرامی باد....

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

27 Oct, 15:18


📚 موضوع -> جاوا در شبکه
برای کار در زمینه شبکه با زبان جاوا، باید با کلاس‌ها و مفاهیم مختلف مربوط به شبکه آشنا شوید. در اینجا چند مورد از موضوعات و کلاس‌های مهم برای ارسال و دریافت درخواست‌ها به سرورها را معرفی می‌کنم:

1. Socket Programming
در برنامه‌نویسی سوکت، از کلاس‌های Socket و ServerSocket استفاده می‌شود تا بتوانید بین کلاینت و سرور ارتباط برقرار کنید. با استفاده از این کلاس‌ها، می‌توانید اطلاعاتی مانند پیام‌ها، فایل‌ها، و داده‌ها را بین کلاینت و سرور ارسال و دریافت کنید.

👨‍💻 نمونه کد کلاینت:

import java.io.*;
import java.net.*;

public class Client {
public static void main(String[] args) {
try (Socket socket = new Socket("localhost", 5000);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true)) {
out.println("Hello Server!");
} catch (IOException e) {
e.printStackTrace();
}
}
}


👨‍💻 نمونه کد سرور:

import java.io.*;
import java.net.*;

public class Server {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(5000)) {
while (true) {
Socket clientSocket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String message = in.readLine();
System.out.println("Received from client: " + message);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}


2. HTTP Requests with `HttpURLConnection`
برای ارسال درخواست‌های HTTP، کلاس HttpURLConnection در جاوا یک ابزار مفید است. می‌توانید از این کلاس برای ارسال درخواست‌های GET و POST و خواندن پاسخ‌ها استفاده کنید.

👨‍💻 مثال درخواست GET:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpGetExample {
public static void main(String[] args) {
try {
URL url = new URL("https://jsonplaceholder.typicode.com/posts/1");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");

int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);

BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();

System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}

3. کار با کتابخانه‌های پیشرفته‌تر
اگر نیاز به کار با APIهای پیچیده‌تر دارید، می‌توانید از کتابخانه‌هایی مانند Apache HttpClient یا OkHttp استفاده کنید که امکانات بیشتری برای ارسال درخواست‌های HTTP فراهم می‌کنند.

مواردی که برای کار در این زمینه باید یاد بگیرید:
- مفاهیم پایه شبکه (TCP/IP، سوکت‌ها، پروتکل‌های HTTP/HTTPS).
- کلاس‌های مرتبط با شبکه در جاوا مانند `Socket`, `ServerSocket`, `HttpURLConnection`.
- کار با JSON و پارس کردن داده‌های دریافتی از سرور.
- استفاده از کتابخانه‌های پیشرفته مانند Apache HttpClient یا OkHttp.


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

25 Oct, 16:03


📚 موضوع-> کاربردهای زبان جاوا و مسیر یادگیری

👨‍💻 جاوا در چه زمینه‌هایی کاربرد دارد؟
زبان برنامه‌نویسی جاوا یک زبان همه‌کاره است که به دلیل پایداری، امنیت، و پشتیبانی جامعه بزرگ توسعه‌دهندگان، در حوزه‌های مختلف برنامه‌نویسی مورد استفاده قرار می‌گیرد. در ادامه، به مهم‌ترین زمینه‌های کاری جاوا و مهارت‌های مورد نیاز اشاره می‌کنیم:

1️⃣ توسعه وب (Web Development)
جاوا به‌خاطر پشتیبانی از فریم‌ورک‌های قدرتمند مانند Spring و **JavaServer Faces (JSF)**، در توسعه وب بسیار محبوب است.
- مهارت‌های لازم:
- مفاهیم Servlet و JSP.
- آشنایی با Spring Framework.
- مفاهیم RESTful API و میکروسرویس‌ها.
- یادگیری‌های مرتبط:
- HTML, CSS, JavaScript.
- پایگاه‌داده‌ها (SQL, NoSQL).

2️⃣ توسعه اپلیکیشن‌های موبایل (Android Development)
جاوا زبان رسمی توسعه اپلیکیشن‌های اندروید است. اکثر اپلیکیشن‌های اندروید با استفاده از جاوا یا کاتلین توسعه داده می‌شوند.
- مهارت‌های لازم:
- آشنایی با Android SDK.
- Android Studio و ابزارهای توسعه اندروید.
- مفاهیم UI/UX در موبایل.
- یادگیری‌های مرتبط:
- SQLite و مدیریت داده‌ها در موبایل.
- کار با APIs و شبکه.

3️⃣ توسعه اپلیکیشن‌های دسکتاپ (Desktop Applications)
با استفاده از ابزارهایی مانند JavaFX و **Swing**، می‌توان برنامه‌های دسکتاپی غنی و کاربرپسند توسعه داد.
- مهارت‌های لازم:
- آشنایی با JavaFX و Swing.
- مفاهیم طراحی رابط کاربری (UI).
- یادگیری‌های مرتبط:
- OOP و الگوهای طراحی (Design Patterns).

4️⃣ توسعه سیستم‌های توزیع‌شده (Distributed Systems)
جاوا به دلیل قابلیت‌های چندنخی (multithreading) و مدیریت کارهای همزمان، در توسعه سیستم‌های توزیع‌شده و میکروسرویس‌ها کاربرد دارد.
- مهارت‌های لازم:
- مفاهیم Concurrency و Threading.
- آشنایی با Spring Cloud و Microservices.
- یادگیری‌های مرتبط:
- Docker و Kubernetes برای مدیریت میکروسرویس‌ها.
- CI/CD و مدیریت نسخه‌ها.

5️⃣ توسعه بازی‌ها (Game Development)
با استفاده از LibGDX یا **JMonkeyEngine**، می‌توانید بازی‌های دوبعدی و سه‌بعدی بسازید.
- مهارت‌های لازم:
- آشنایی با مفاهیم پایه گرافیک و انیمیشن.
- استفاده از موتورهای LibGDX یا JMonkeyEngine.
- یادگیری‌های مرتبط:
- مفاهیم طراحی بازی و کاربرپسند بودن.
- الگوریتم‌ها و داده‌ساختارها.

6️⃣ توسعه سیستم‌های مالی و بانکی
جاوا به دلیل امنیت بالا و قابلیت‌های چندپلتفرمی، برای توسعه سیستم‌های مالی و بانکی انتخاب مناسبی است.
- مهارت‌های لازم:
- مفاهیم امنیت مانند Encryption و Authentication.
- مفاهیم مالی و سیستم‌های پرداخت آنلاین.
- یادگیری‌های مرتبط:
- Spring Security برای امنیت.
- آشنایی با پروتکل‌های مالی و APIهای بانکی.

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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

25 Oct, 12:43


آموزش ️️برنامه نویسی جاوا | Java pinned «»

آموزش ️️برنامه نویسی جاوا | Java

23 Oct, 18:12


👩‍💻 موضوع -> چگونگی اجرای جاوا

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

1. سورس کد (Source Code):
برنامه‌نویس، کد جاوا را در فایل‌های متنی با پسوند .java می‌نویسد. این سورس کد شامل تعریف کلاس‌ها، متدها، و منطق برنامه است.

2. کامپایلر جاوا (Java Compiler - javac):
کامپایلر جاوا (javac) وظیفه ترجمه سورس کد از زبان سطح بالا (جاوا) به بایت‌کد (Bytecode) را دارد. بایت‌کد، یک زبان میانی است که توسط ماشین مجازی جاوا (JVM) قابل فهم است. فایل خروجی کامپایلر جاوا با پسوند .class ذخیره می‌شود. این فایل‌ها مستقل از سیستم‌عامل و پردازنده هستند و به همین دلیل قابل انتقال بین سیستم‌های مختلف می‌باشند.

3. ماشین مجازی جاوا (Java Virtual Machine - JVM):
پس از کامپایل، بایت‌کد به وسیله JVM اجرا می‌شود. JVM نقش تفسیر و اجرای بایت‌کد را دارد و شامل اجزای زیر است:
- بارگذار کلاس (Class Loader): وظیفه بارگذاری کلاس‌های مورد نیاز برای اجرای برنامه را بر عهده دارد.
- مفسر (Interpreter): بایت‌کدها را خط به خط تفسیر کرده و اجرا می‌کند.
- مترجم لحظه‌ای (JIT Compiler): برای بهبود کارایی، برخی از کدها را به زبان ماشین تبدیل می‌کند تا سرعت اجرای برنامه افزایش یابد.

4. کتابخانه استاندارد جاوا (Java Standard Library):
جاوا یک مجموعه غنی از کلاس‌ها و توابع پیش‌ساخته را فراهم کرده است که به برنامه‌نویسان اجازه می‌دهد تا بدون نیاز به نوشتن کدهای پیچیده، از توابع آماده استفاده کنند. این کتابخانه شامل کلاس‌هایی برای مدیریت فایل، شبکه، ورودی و خروجی، رابط‌های کاربری و غیره است.

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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 21:21


قبل از شروع برنامه نویسی داکیومنت، سناریو و جزییات کامل پروژه مطالعه شود، ابهامات پروژه رو برطرف کنید و بعد شروع به کدنویسی کنید😂

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 21:10


آقای کارفرما تو نمی دونی من چی کشیدم تا این پروژه برنامه نویسی انجام شد....😭


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 21:06


کدنویسی با رسم شکل....


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 21:05


یک قطعه کد....


#موفقیت #رشد

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 20:57


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


لایک کردن شما به تیم جاواپرو انگیزه میده🥰👍


#برنامه_نویسی #آموزش #یادگیری

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 15:57


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

1️⃣هر روز کدنویسی کن

2️⃣از دیگران یاد بگیر

3️⃣به دیگران آموزش بده

4️⃣یادداشت‌برداری کن

5️⃣پروژه‌ های جدید انجام بده

6️⃣از گیت‌هاب برای انتشار کد استفاده کن

7️⃣برنامه‌ریزی کن

8️⃣برای یادگیری وقت بگذار

9️⃣در انجمن های مرتبط با تکنولوژی فعال باش

0️⃣1️⃣کتاب‌ها و مستندات مرتبط را بخوان

1️⃣1️⃣کنجکاو باش


لایک کردن شما به تیم جاواپرو انگیزه میده🥰👍


#برنامه_نویسی #مهارت_نرم

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 07:40


🟢بهترین ابزارهای رایگان و غیر رایگان هوش مصنوعی


#ai #هوش_مصنوعی

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 06:50


🟣مهارت های اساسی که برای تبدیل شدن به... نیاز دارید


#برنامه_نویس #برنامه_نویس_وب #هوش_مصنوعی #موبایل

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 06:42


Channel photo updated

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 06:42


Channel photo removed

آموزش ️️برنامه نویسی جاوا | Java

22 Oct, 06:09


🔵کاربرد تخصص های برنامه نویسی


#برنامه_نویس #برنامه_نویسی

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

21 Oct, 16:00


📘 موضوع -> مدیریت دقیق حافظه و استفاده بهینه از آن در برنامه‌نویسی جاوا

جاوا به دلیل دارا بودن Garbage Collector (زباله جمع‌کن) به صورت خودکار مدیریت حافظه را بر عهده دارد، و این ویژگی باعث می‌شود بسیاری از برنامه‌نویسان به این مسئله توجه چندانی نکنند. اما عدم توجه به مدیریت صحیح منابع می‌تواند منجر به مشکلاتی مانند نشت حافظه (Memory Leak) یا عملکرد کند برنامه شود.

📚 توضیح:
- (زباله جمع‌کن) Garbage Collection: جاوا به صورت خودکار حافظه‌ای را که دیگر استفاده نمی‌شود آزاد می‌کند. اما این بدان معنا نیست که شما نباید نگران مصرف حافظه باشید. برنامه‌نویسان باید از روش‌های درست استفاده کنند تا از نگه داشتن غیرضروری آبجکت‌ها جلوگیری شود.

- نشت حافظه (Memory Leak): اگر برنامه‌نویس آبجکت‌هایی را که دیگر نیازی به آنها نیست، همچنان در دسترس نگه دارد (مثلاً با نگه‌داشتن مرجع به آنها در لیست یا آرایه)، این آبجکت‌ها توسط Garbage Collector آزاد نخواهند شد و این باعث می‌شود که حافظه مصرف شده باقی بماند و سیستم کند شود.

💡 روش‌های بهینه:
1. کاهش زمان استفاده از آبجکت‌ها: مطمئن شوید که پس از اتمام کار با یک آبجکت، مرجع به آن را از بین ببرید.

2. استفاده از ابزارهای تحلیل حافظه: از ابزارهایی مانند VisualVM یا JProfiler برای مانیتورینگ و بررسی مصرف حافظه و کشف نشت‌های حافظه استفاده کنید.

3. بهینه‌سازی استفاده از ساختارهای داده: برای مثال، استفاده از WeakHashMap به جای HashMap در مواردی که می‌خواهید اجازه دهید کلیدها در صورت عدم نیاز، جمع‌آوری شوند.

4. دقت در استفاده از اشیاء بزرگ: به خصوص در پردازش‌هایی که با داده‌های حجیم سروکار دارند، اشیاء بزرگ نباید بدون نیاز در حافظه باقی بمانند.

🔍 مثال:
فرض کنید در برنامه جاوا یک لیست از آبجکت‌های بزرگ دارید و به اشتباه آنها را پس از استفاده حذف نمی‌کنید:


List<String> bigList = new ArrayList<>();
for (int i = 0; i < 100000; i++) {
bigList.add(new String("Sample data" + i));
}
// بعد از اتمام پردازش نیازی به bigList نیست، اما حذف نمی‌شود.


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


bigList.clear();


📌 نتیجه‌گیری:
مدیریت دقیق حافظه در برنامه‌های جاوا یک موضوع حیاتی است که می‌تواند تأثیر زیادی بر عملکرد و پایداری برنامه‌ها داشته باشد. توجه به جزئیات کوچک و استفاده از تکنیک‌های بهینه‌سازی حافظه می‌تواند به جلوگیری از مشکلات مربوط به حافظه کمک کند.


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

21 Oct, 07:39


آموزش ️️برنامه نویسی جاوا | Java pinned «📚کتاب رایگان آموزش مبتدی تا پیشرفته برنامه نویسی جاوا در این کتاب الکترونیکی رایگان برنامه نویسی جاوا نویسنده موارد زیر که هر کدام به چندین زیر شاخه تقسیم می شود را آموزش می دهد: معرفی و تاریخچه زبان جاوا معرفی ابزارها و نرم افزارهای لازم برای برنامه نویسی…»

آموزش ️️برنامه نویسی جاوا | Java

21 Oct, 07:39


📚کتاب رایگان آموزش مبتدی تا پیشرفته برنامه نویسی جاوا

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

معرفی و تاریخچه زبان جاوا
معرفی ابزارها و نرم افزارهای لازم برای برنامه نویسی جاوا
نوشتن اولین برنامه ساده با زبان جاوا
آشنایی محیط IntelliJ IDEA
مفاهیم پایه جاوا نظیر متغیرها،شرطها،عملگرها،حلقه ها ،آرایه ها و…
مفاهیم شی گرایی نظیر اشیا و کلاس ،ارث بری،اینترفیس،Enumeration و…
کنترل خطاها و استثناها
پکیج های جاوا
کاراکترها و رشته ها
ساختمان داده ها
جنریک
کار بافایل
چندنخی
کار با پایگاه داده ها
عبارت های با قاعده
آشنایی با Annotation ها
واسط کاربری
آشنایی با Logging
عبارت های لامبدا و کلاس های تو در تو
آشنایی با Reflection
چند زبانی (Internationalization)
ابزار JAR
آشنایی با Javadoc

‼️این کتاب جاوا در دیجی کالا ناموجود شده و شما می توانید در آکادمی جاواپرو به صورت رایگان دانلود کنید.

✳️ جهت دانلود رایگان کتاب اینجا کلیک کنید

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

19 Oct, 17:09


📝 موضوع -> روش‌های پیمایش HashMap در جاوا 🌟

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

1️⃣ پیمایش کلیدها (Keys) 🔑
برای پیمایش فقط کلیدها، از متد keySet() استفاده می‌کنیم. این متد مجموعه‌ای از کلیدها را بازمی‌گرداند.


HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 100);
map.put("Banana", 200);

// پیمایش کلیدها
for (String key : map.keySet()) {
System.out.println("Key: " + key);
}


2️⃣ پیمایش مقادیر (Values) 💰
برای پیمایش فقط مقادیر، از متد values() استفاده می‌کنیم که لیستی از مقادیر را بازمی‌گرداند.


// پیمایش مقادیر
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}


3️⃣ پیمایش کلیدها و مقادیر (Entry) 📜
برای پیمایش همزمان کلیدها و مقادیر، از متد entrySet() استفاده می‌کنیم که مجموعه‌ای از Map.Entry ها را بازمی‌گرداند.


// پیمایش کلید و مقدار
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}


4️⃣ پیمایش با استفاده از Iterator 🔄
از Iterator نیز می‌توان برای پیمایش HashMap استفاده کرد.


Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}


5️⃣ استفاده از forEach و Lambda در جاوا 8 و بالاتر 🚀
در نسخه‌های جدیدتر جاوا، از forEach و توابع لامبدا برای پیمایش ساده‌تر استفاده می‌شود.


map.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});


📌 نکات مهم:
- HashMap به طور پیش‌فرض ترتیب خاصی ندارد و کلیدها و مقادیر ممکن است به صورت تصادفی ذخیره شوند.
- استفاده از روش forEach باعث می‌شود کد شما تمیزتر و خواناتر باشد، به ویژه در نسخه‌های جدید جاوا.

🔍 با استفاده از این روش‌ها، می‌توانید به راحتی به داده‌های موجود در HashMap دسترسی پیدا کرده و آن‌ها را پیمایش کنید. 💻


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

17 Oct, 15:56


🔒 موضوع -> سطوح دسترسی در جاوا 🔒

در جاوا، سطوح دسترسی (Access Modifiers) برای کنترل دسترسی به اعضای کلاس (متغیرها، متدها، سازنده‌ها و...) استفاده می‌شوند. سه سطح دسترسی مهم public، private و protected هستند که هر کدام کاربرد و ویژگی‌های خاص خود را دارند. بیایید هر کدام را بررسی کنیم

🔑 1. public (عمومی)

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

مثال:

// کلاس اصلی در پکیج animals
package animals;

public class Animal {
public String name = "Lion"; // قابل دسترس از هر جا
public void sound() {
System.out.println("Roar!");
}
}

// کلاس دیگر در پکیج human
package human;
import animals.Animal;

public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
System.out.println(animal.name); // "Lion"
animal.sound(); // "Roar!"
}
}


📌 نکته: حتی در صورتی که از پکیج دیگری باشیم، اعضای public همچنان قابل دسترسی هستند.

---

🔒 2. private (خصوصی)

در این مثال، متغیر و متدی با سطح دسترسی private داریم. این اعضا فقط درون همان کلاس قابل استفاده هستند و حتی کلاس‌های دیگری که در همان پکیج هستند هم نمی‌توانند به آن‌ها دسترسی داشته باشند.

مثال:

// کلاس اصلی در پکیج animals
package animals;

public class Animal {
private String name = "Lion"; // فقط در این کلاس قابل دسترسی
private void sound() {
System.out.println("Roar!");
}

public void showName() {
System.out.println("Animal's name is " + name); // دسترسی به متغیر private
}
}

// کلاس دیگر در همان پکیج
package animals;

public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
// System.out.println(animal.name); // ارور: name قابل دسترسی نیست
animal.showName(); // قابل دسترسی از متد عمومی
}
}


📌 نکته: private اعضای کلاس را مخفی می‌کند و فقط درون خود کلاس قابل استفاده است.

---

🛡 3. protected (محافظت‌شده)

در این مثال، از سطح دسترسی protected استفاده می‌کنیم که در پکیج‌های مختلف، تنها برای کلاس‌هایی که از این کلاس ارث‌بری (inheritance) کرده‌اند قابل دسترسی است.

مثال:

// کلاس اصلی در پکیج animals
package animals;

public class Animal {
protected String name = "Lion"; // محافظت‌شده: در فرزندان در دسترس
protected void sound() {
System.out.println("Roar!");
}
}

// کلاس فرزند در پکیج different
package different;
import animals.Animal;

public class Lion extends Animal {
public void printDetails() {
System.out.println("Lion's name: " + name); // دسترسی به name از کلاس والد
sound(); // دسترسی به متد sound از کلاس والد
}
}

public class Main {
public static void main(String[] args) {
Lion lion = new Lion();
lion.printDetails(); // "Lion's name: Lion" و "Roar!"
}
}


📌 نکته: اعضای protected برای کلاس‌های فرزند قابل استفاده است، حتی اگر در پکیج‌های مختلف قرار داشته باشند.


🔥 مقایسه و جمع‌بندی
سطح public: برای همه (چه در همان پکیج، چه در پکیج دیگر) در دسترس است.
سطح private: فقط در داخل همان کلاس قابل دسترسی است.
سطح protected: برای کلاس‌های در همان پکیج و کلاس‌های فرزند در پکیج‌های دیگر در دسترس است.


📚 نکته کاربردی: در برنامه‌نویسی حرفه‌ای، استفاده از سطوح دسترسی مناسب به مدیریت بهتر کد و جلوگیری از دسترسی‌های غیرمجاز کمک می‌کند.
مثال: وقتی متغیری فقط درون یک کلاس باید استفاده شود، حتماً آن را private کنید تا از دسترسی‌های ناخواسته جلوگیری شود!

💡 استفاده از `protected` زمانی مناسب است که شما قصد دارید قابلیت‌هایی را در کلاس‌های فرزند (subclass) در دسترس قرار دهید اما همچنان از کلاس‌های دیگر مخفی نگه دارید.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

15 Oct, 22:48


🔑موضوع -> دسترسی‌ها در جاوا: Public, Private, Static 🔑

در زبان جاوا، سه کلمه کلیدی public**، **private و static نقش مهمی در کنترل دسترسی و نحوه استفاده از اعضای کلاس (متغیرها و متدها) دارند. بیایید به هر کدام نگاهی بیندازیم:

1. `public`:
- اعضایی که با public تعریف می‌شوند، از هر جای برنامه (هر کلاس و پکیج) قابل دسترسی هستند.
- مثال:

public class MyClass {
public int myNumber = 10;

public void printMessage() {
System.out.println("Hello, World!");
}
}

- 🔍 خلاصه: اعضای public از همه جا در دسترس هستند.

2. `private`:
- اعضایی که با private تعریف می‌شوند، تنها از داخل همان کلاس قابل دسترسی هستند و از بیرون کلاس نمی‌توان به آن‌ها دسترسی داشت.
- مثال:

public class MyClass {
private int myNumber = 10;

private void printMessage() {
System.out.println("Hello, World!");
}
}

- 🔍 خلاصه: اعضای private فقط از داخل همان کلاس قابل دسترسی هستند.

3. `static`:
- اعضای static به کلاس تعلق دارند و نیازی به ایجاد یک شیء از کلاس برای دسترسی به آن‌ها نداریم. به عبارت دیگر، اعضای static با کلاس مرتبط هستند نه با شیء.
- مثال:

public class MyClass {
public static int myStaticNumber = 5;

public static void printStaticMessage() {
System.out.println("This is a static method.");
}
}

public class Main {
public static void main(String[] args) {
System.out.println(MyClass.myStaticNumber); // دسترسی به متغیر استاتیک
MyClass.printStaticMessage(); // دسترسی به متد استاتیک
}
}

- 🔍 خلاصه: اعضای static بدون نیاز به ساخت شیء از کلاس قابل دسترسی هستند.

🚀 تفاوت‌ها:
1. `public`:
دسترسی از هر جای برنامه (کلاس‌ها و پکیج‌ها).
2. `private`:
دسترسی فقط از داخل همان کلاس.
3. `static`:
اعضای کلاس که نیازی به ساخت شیء ندارند و به طور مستقیم از کلاس قابل دسترسی هستند.

📚 کاربردها:
- از `public` برای اعضایی که نیاز دارید همه جا دسترسی داشته باشند استفاده کنید.
- از `private` برای اطلاعات حساس یا متدهایی که فقط در همان کلاس استفاده می‌شوند.
- از `static` برای اعضایی که باید به کل کلاس وابسته باشند (نه به هر شیء جداگانه).

🔔 نکته مهم: اعضای static می‌توانند هم public و هم private باشند، بسته به اینکه دسترسی به آن‌ها چگونه باید باشد.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

13 Oct, 14:10


📢 موضوع -> توابع در جاوا

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

انواع توابع در جاوا:
1. توابع بدون ورودی و خروجی:
این توابع نه ورودی دریافت می‌کنند و نه مقداری برمی‌گردانند.


public void printMessage() {
System.out.println("Hello, World!");
}


2. توابع با ورودی ولی بدون خروجی:
این توابع مقداری به عنوان ورودی دریافت می‌کنند، اما مقداری برنمی‌گردانند.


public void greetUser(String name) {
System.out.println("Hello, " + name);
}


3. توابع بدون ورودی ولی با خروجی:
این توابع مقداری برمی‌گردانند، ولی ورودی دریافت نمی‌کنند.


public int getNumber() {
return 5;
}


4. توابع با ورودی و خروجی:
این توابع هم ورودی دریافت می‌کنند و هم مقداری برمی‌گردانند.


public int sum(int a, int b) {
return a + b;
}


چگونه یک تابع در جاوا بنویسیم؟
برای نوشتن یک تابع در جاوا، باید ابتدا نوع خروجی (مثل int, void, String و غیره)، نام تابع و سپس پارامترها (در صورت نیاز) را مشخص کنید. پس از آن کدهای مربوط به انجام وظیفه درون بدنه تابع نوشته می‌شوند.

مثالی از یک تابع با ورودی و خروجی:


public class Main {
public static void main(String[] args) {
int result = sum(5, 3);
System.out.println("The result is: " + result);
}

public static int sum(int a, int b) {
return a + b;
}
}


در این مثال، تابع sum دو عدد را به عنوان ورودی دریافت کرده و حاصل‌جمع آن‌ها را به برنامه بازمی‌گرداند.

📌 نکته: برای تعریف تابع در جاوا، کلمه کلیدی public یا private (دسترسی) و static (در صورت نیاز به استفاده بدون ایجاد شیء) می‌تواند به کار رود.


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

11 Oct, 15:24


📝 موضوع -> کلاس‌های جنریک (Generics) در جاوا

کلاس‌های جنریک (Generics) یکی از مفاهیم مهم در زبان جاوا هستند که به شما امکان می‌دهند تا کلاس‌ها، رابط‌ها و متدهایی تعریف کنید که می‌توانند با انواع مختلف داده‌ها کار کنند. جنریک‌ها باعث می‌شوند کد قابل استفاده مجدد (Reusable) باشد و همچنین از بروز خطاهای مربوط به نوع داده‌ها (Type Safety) جلوگیری می‌کنند.

📌 چرا از جنریک‌ها استفاده می‌کنیم؟
1. (ایمنی نوع داده‌ها) Type Safety : با استفاده از جنریک‌ها می‌توان از بروز خطاهای نوع داده جلوگیری کرد و در زمان کامپایل، اطمینان حاصل کرد که همه چیز به درستی کار می‌کند.
2. قابلیت استفاده مجدد: کلاس‌ها و متدهای جنریک برای هر نوع داده قابل استفاده هستند و نیازی به نوشتن کدهای تکراری برای انواع مختلف داده نیست.

🔑 ساختار کلاس جنریک در جاوا:
برای تعریف یک کلاس جنریک، از یک نوع متغیر به‌عنوان پارامتر استفاده می‌شود. این نوع می‌تواند هر نام دلخواهی داشته باشد، اما معمولاً از حروف T (Type)، E (Element)، K (Key)، V (Value) و غیره استفاده می‌شود.


// تعریف یک کلاس جنریک
public class Box<T> {
private T item;

// سازنده کلاس
public Box(T item) {
this.item = item;
}

// متد برای دریافت مقدار
public T getItem() {
return item;
}

// متد برای تنظیم مقدار
public void setItem(T item) {
this.item = item;
}

// نمایش مقدار
public void display() {
System.out.println("Item: " + item);
}
}


🎯 مثال: استفاده از کلاس جنریک

در این مثال، یک کلاس Box داریم که می‌تواند هر نوع داده‌ای را به‌عنوان پارامتر بپذیرد. حالا می‌توانیم از این کلاس برای ذخیره‌سازی مقادیر مختلفی استفاده کنیم.


public class Main {
public static void main(String[] args) {
// ایجاد یک شیء از نوع Box برای ذخیره رشته (String)
Box<String> stringBox = new Box<>("Hello");
stringBox.display(); // خروجی: Item: Hello

// ایجاد یک شیء از نوع Box برای ذخیره عدد صحیح (Integer)
Box<Integer> intBox = new Box<>(123);
intBox.display(); // خروجی: Item: 123

// تغییر مقدار داخل Box
intBox.setItem(456);
intBox.display(); // خروجی: Item: 456
}
}


📘 روش‌های جنریک در متدها
جنریک‌ها را نه‌تنها می‌توان در کلاس‌ها، بلکه در متدها نیز به‌کار برد. به این ترتیب، می‌توان متدهایی ایجاد کرد که برای هر نوع داده‌ای کار کنند.

مثال: متد جنریک


public class Main {
// تعریف یک متد جنریک
public static <T> void print(T item) {
System.out.println("Item: " + item);
}

public static void main(String[] args) {
print(123); // خروجی: Item: 123
print("Hello"); // خروجی: Item: Hello
print(4.56); // خروجی: Item: 4.56
}
}


🚀 جمع‌بندی:
- کلاس‌های جنریک به شما این امکان را می‌دهند تا بدون در نظر گرفتن نوع داده، کدهایی را بنویسید که برای هر نوع داده‌ای کار کنند.
- با استفاده از **جنریک‌ها**، از خطاهای مربوط به نوع داده جلوگیری می‌کنید و همچنین قابلیت استفاده مجدد کدها را افزایش می‌دهید.
- کلاس‌ها و متدهای جنریک باعث می‌شوند که برنامه شما تمیزتر و ساختارمندتر باشد و در عین حال از انواع مختلف داده پشتیبانی کند.

💡 نکته: جنریک‌ها فقط در زمان کامپایل مورد بررسی قرار می‌گیرند و پس از کامپایل به "نوع اولیه" تبدیل می‌شوند که به آن Type Erasure گفته می‌شود.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

09 Oct, 14:32


📚 موضوع -> ارث‌بری (Inheritance) در جاوا

🔶 ارث‌بری یا Inheritance یکی از اصول مهم شی‌گرایی است که به یک کلاس اجازه می‌دهد تا ویژگی‌ها و متدهای یک کلاس دیگر را به ارث ببرد. این ویژگی به ما کمک می‌کند کدها را بازاستفاده کرده و از تکرار جلوگیری کنیم.

در جاوا، ارث‌بری با کلمه کلیدی extends پیاده‌سازی می‌شود. کلاسی که ارث‌بری می‌کند به عنوان زیرکلاس (subclass) و کلاسی که ارث‌بری می‌شود به عنوان ابرکلاس (superclass) شناخته می‌شود.

📌 مثال ساده از ارث‌بری:


// ابرکلاس Animal
class Animal {
public void makeSound() {
System.out.println("Animal is making a sound");
}
}

// زیرکلاس Dog که از کلاس Animal ارث می‌برد
class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking");
}
}

public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.makeSound(); // ارث بردن از Animal
dog.bark(); // متد خود کلاس Dog
}
}


🔸 نکات مهم:
1. زیرکلاس (Subclass): کلاسی که ویژگی‌ها و متدهای یک کلاس دیگر را به ارث می‌برد.
2. ابرکلاس (Superclass): کلاسی که ویژگی‌ها و متدهای آن توسط دیگر کلاس‌ها به ارث برده می‌شود.
3. کلمه کلیدی `extends`: برای ارث‌بری در جاوا استفاده می‌شود.
4. دسترسی به متدهای ابرکلاس: زیرکلاس می‌تواند به متدهای ابرکلاس دسترسی داشته باشد و از آنها استفاده کند.

🔶 مثال با استفاده از سازنده (Constructor):


class Animal {
public Animal() {
System.out.println("Animal is created");
}
}

class Dog extends Animal {
public Dog() {
super(); // فراخوانی سازنده کلاس پدر
System.out.println("Dog is created");
}
}

public class Main {
public static void main(String[] args) {
Dog dog = new Dog(); // سازنده Animal و سپس سازنده Dog اجرا می‌شود
}
}


🔸 نکات اضافی:
- کلمه کلیدی `super`: برای دسترسی به متدها و سازنده‌های ابرکلاس استفاده می‌شود.
- اگر در سازنده زیرکلاس از super() استفاده نکنید، سازنده پیش‌فرض ابرکلاس به صورت خودکار فراخوانی می‌شود.

📚 مزایا:
- قابلیت استفاده مجدد از کد (Code Reusability): با استفاده از ارث‌بری، می‌توان ویژگی‌ها و متدهای یک کلاس را بدون نیاز به کپی کردن آنها در کلاس‌های دیگر، مجدداً استفاده کرد.
- سازمان‌دهی بهتر کدها: ارث‌بری باعث می‌شود کدها ساختار یافته‌تر و سازمان‌دهی بهتری داشته باشند.


🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

07 Oct, 15:08


📌 موضوع -> نوشتن کلاس در جاوا
برای ایجاد یک کلاس کامل در جاوا که شامل همه اجزای ضروری مانند متدهای سازنده (constructors)، متد کپی (copy constructor)، متد clone، متد equals، getter و setter ها باشد، به این شکل عمل می‌کنیم:

1. کلاس و ویژگی‌ها
ابتدا کلاس و ویژگی‌های آن را تعریف می‌کنیم. هر ویژگی معمولاً به صورت private تعریف می‌شود تا دسترسی مستقیم به آنها از خارج کلاس محدود شود.

public class Student {
    private String name;
    private int age;
    private double grade;
   
    // سازنده پیش‌فرض (Default Constructor)
    public Student() {
        this.name = "Unknown";
        this.age = 0;
        this.grade = 0.0;
    }
   
    // سازنده با آرگومان‌ها (Parameterized Constructor)
    public Student(String name, int age, double grade) {
        this.name = name;
        this.age = age;
        this.grade = grade;
    }
   
    // سازنده کپی (Copy Constructor)
    public Student(Student other) {
        this.name = other.name;
        this.age = other.age;
        this.grade = other.grade;
    }
   
    // متد clone برای کپی عمیق
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return new Student(this.name, this.age, this.grade);
    }
   
    // متد equals برای مقایسه دو شیء
    @Override
    public boolean equals(Object obj) {
        if (this == obj) return true;
        if (obj == null || getClass() != obj.getClass()) return false;
        Student student = (Student) obj;
        return age == student.age &&
               Double.compare(student.grade, grade) == 0 &&
               name.equals(student.name);
    }
   
    // متد getter و setter
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getGrade() {
        return grade;
    }

    public void setGrade(double grade) {
        this.grade = grade;
    }
}


2. توضیحات
- سازنده پیش‌فرض (Default Constructor): این متد بدون ورودی، به صورت خودکار مقادیر اولیه برای ویژگی‌های کلاس تعیین می‌کند.
- سازنده با آرگومان‌ها (Parameterized Constructor): این متد برای دریافت مقادیر اولیه و تنظیم آنها در هنگام ایجاد شیء استفاده می‌شود.
- سازنده کپی (Copy Constructor): این سازنده برای کپی‌برداری از یک شیء دیگر از همان کلاس به کار می‌رود.
- متد clone: برای ساختن یک کپی عمیق از شیء استفاده می‌شود که شامل کپی کردن تمام ویژگی‌ها است.
- متد equals: برای مقایسه دو شیء و بررسی تساوی آنها به کار می‌رود.
- متود های getter و setter: برای دریافت (get) و تنظیم (set) مقادیر ویژگی‌های کلاس استفاده می‌شوند.

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

06 Oct, 22:18


۱۶ مهر ۱۴٠۳ تولد ۸ سالگی جاواپرو😍🎉

اگر جاواپرو در این ۸ سال در برنامه نویس شدن یک نفر هم تاثیر گذار بوده این برای ما افتخار بزرگی است...

امیدواریم بتوانیم نقش تاثیر گذاری در یادگیری و توسعه منابع آموزشی برنامه نویسی به خصوص جاوا داشته باشیم

به امید اتفاق های خوب☘️

آموزش ️️برنامه نویسی جاوا | Java

06 Oct, 19:57


آموزش ️️برنامه نویسی جاوا | Java pinned «📣 اطلاعیه سایت آکادمی جاواپرو به دلیل بروزرسانی ممکن است با اختلال همراه شود... از صبر و شکیبایی شما عزیزان متشکریم همچنین به دلیل بروزرسانی سایت جاواپرو جشنواره تخفیفات ۶٠ درصدی به مناسبت سالروز ۸ سالگی جاواپرو به تاریخ دیگری موکول شد که در همین کانال اطلاع…»

آموزش ️️برنامه نویسی جاوا | Java

06 Oct, 19:57


📣 اطلاعیه
سایت آکادمی جاواپرو به دلیل بروزرسانی ممکن است با اختلال همراه شود... از صبر و شکیبایی شما عزیزان متشکریم

همچنین به دلیل بروزرسانی سایت جاواپرو جشنواره تخفیفات ۶٠ درصدی به مناسبت سالروز ۸ سالگی جاواپرو به تاریخ دیگری موکول شد که در همین کانال اطلاع رسانی خواهد شد.❤️

آموزش ️️برنامه نویسی جاوا | Java

06 Oct, 07:31


دیشب داشتم پیج اینستاگرام یکی از مدرسین برنامه نویسی رو نگاه میکردم در یکی از ویدئوهاش گفته بود اگه میخوای در سه ماه به مهارت برسی و درآمد میلیونی داشته باشی و اولین آیفونت رو بخری در دوره ما شرکت کن.

ببین در بالا در چند کلمه کلیدی استفاده شده
درآمد میلیونی
سه ماهه تخصص کسب کردن
خرید گوشی آیفون

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

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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

05 Oct, 15:09


📌 موضوع -> تغییر رنگ و پاک کردن خروجی کنسول در جاوا

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

🌟 تغییر رنگ خروجی کنسول
برای تغییر رنگ متن در کنسول، از کدهای ANSI زیر استفاده کنید:

public class ConsoleColors {
    // کدهای رنگ ANSI
    public static final String RESET = "\033[0m";  // ریست کردن رنگ به حالت اولیه
    public static final String BLACK = "\033[0;30m";
    public static final String RED = "\033[0;31m";
    public static final String GREEN = "\033[0;32m";
    public static final String YELLOW = "\033[0;33m";
    public static final String BLUE = "\033[0;34m";
    public static final String PURPLE = "\033[0;35m";
    public static final String CYAN = "\033[0;36m";
    public static final String WHITE = "\033[0;37m";

    public static void main(String[] args) {
        System.out.println(RED + "This text is red!" + RESET);
        System.out.println(GREEN + "This text is green!" + RESET);
        System.out.println(BLUE + "This text is blue!" + RESET);
    }
}


در این مثال، با استفاده از متغیرهای استاتیک، رنگ‌های مختلف برای متن اعمال می‌شود و با RESET، رنگ به حالت اولیه باز می‌گردد.

🔍 پاک کردن صفحه کنسول
در جاوا، به صورت مستقیم روشی برای پاک کردن کنسول وجود ندارد. با این حال، می‌توانید از کدهای ANSI برای شبیه‌سازی پاک کردن صفحه استفاده کنید:

public class ClearConsole {
    public static void main(String[] args) {
        // این کد ANSI باعث پاک شدن کنسول می‌شود
        System.out.print("\033[H\033[2J");
        System.out.flush();

        System.out.println("Console has been cleared!");
    }
}


کد \033[H\033[2J باعث می‌شود که محتوای کنسول پاک شده و نمایش دوباره از بالا شروع شود.

🚀 برخی از کدهای ANSI مهم:
- ریست کردن: \033[0m
- پررنگ کردن متن: \033[1m
- رنگ پس‌زمینه: برای تغییر رنگ پس‌زمینه، از کدهای زیر استفاده کنید:
  - پس‌زمینه قرمز: \033[41m
  - پس‌زمینه سبز: \033[42m

🎉 خلاصه:
- برای تغییر رنگ متن، از کدهای ANSI مانند \033[0;31m برای قرمز استفاده کنید.
- برای پاک کردن کنسول، از کد \033[H\033[2J استفاده کنید.
- برای اعمال رنگ و استایل به متن، همیشه از RESET برای برگرداندن به حالت اولیه استفاده کنید.

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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

05 Oct, 05:45


آموزش ️️برنامه نویسی جاوا | Java pinned «۱۶ مهر ۱۴٠۳ #تولد_جاواپرو است و جاواپرو ۸ ساله میشه، به این مناسبت و در این تاریخ فقط به مدت ۳ ساعت قصد داریم روی تمامی دوره های جاواپرو ۶٠ درصد تخفیف لحاظ کنیم 🔴ساعت ۱۲ ظهر تا ۱۵ ، ۱۶ مهر ۱۴٠۳ منتظر کد تخفیف ۶٠ درصدی باشید و بعد از این بازه زمانی کد تخفیف…»

آموزش ️️برنامه نویسی جاوا | Java

04 Oct, 22:09


۱۶ مهر ۱۴٠۳ #تولد_جاواپرو است و جاواپرو ۸ ساله میشه، به این مناسبت و در این تاریخ فقط به مدت ۳ ساعت قصد داریم روی تمامی دوره های جاواپرو ۶٠ درصد تخفیف لحاظ کنیم

🔴ساعت ۱۲ ظهر تا ۱۵ ، ۱۶ مهر ۱۴٠۳ منتظر کد تخفیف ۶٠ درصدی باشید و بعد از این بازه زمانی کد تخفیف میسوزه و چنین تخفیفی دیگر نخواهیم داشت.

✳️دوره های جاوا مورد نیاز خودتون رو می تونید از لینک زیر مشاهده کنید:
www.academyjavapro.com

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

04 Oct, 10:09


آموزش ️️برنامه نویسی جاوا | Java pinned «🎉بزودی ثبت نام دوره Spring Core در آکادمی جاواپرو شروع میشه... دوره های که پل میان Java SE و فریمورک Spring Boot است... در این دوره شما با مباحث پایه ای Spring آشنا می شوید و یک پروژه #ربات_تلگرام با Spring Boot در دوره آموزش داده می شود. 🆔 @javapro_ir…»

آموزش ️️برنامه نویسی جاوا | Java

04 Oct, 09:17


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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

04 Oct, 09:11


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

🆔 @javapro_ir
🆔 @group_javapro

آموزش ️️برنامه نویسی جاوا | Java

04 Oct, 09:08


🎉بزودی ثبت نام دوره Spring Core در آکادمی جاواپرو شروع میشه...

دوره های که پل میان Java SE و فریمورک Spring Boot است...

در این دوره شما با مباحث پایه ای Spring آشنا می شوید و یک پروژه #ربات_تلگرام با Spring Boot در دوره آموزش داده می شود.

🆔 @javapro_ir
🆔 @group_javapro