آموزش رایگان صفر تا صد جاوا (Java) به زبان ساده
-
معرفی جاوا
-
ساخت اولین برنامه: Hello World
-
چاپ متن در جاوا
-
چاپ عدد در جاوا
-
نظرات (Comments) در جاوا
-
متغیرها جاوا
-
نمایش متغیرها (Display Variables) در جاوا
-
تعریف چند متغیر در جاوا (Java)
-
شناسایی متغیرها (Identifiers)
-
معرفی متغیرها با مثالهای واقعی
-
آشنایی با انواع دادهها (Data Types) در جاوا
-
آشنایی با اعداد (Numbers) در جاوا
-
آشنایی با نوع داده بولین (Boolean)
-
کار با کاراکترها و رشتهها در جاوا (Characters and Strings in Java)
-
مثال واقعی برای استفاده از انواع داده در جاوا
-
آشنایی با انواع دادههای غیرابتدایی (Non-Primitive Data Types)
-
آموزش مفهوم Type Casting در جاوا
-
آموزش عملگرها (Operators) در جاوا
-
آشنایی با رشتهها (Strings) در جاوا
-
آشنایی با الحاق رشتهها (String Concatenation)
-
اضافه کردن اعداد و رشتهها در جاوا
-
رشتهها و کاراکترهای خاص در جاوا
-
آشنایی با کلاس Math در جاوا
-
آشنایی با Boolean در جاوا
-
آشنایی با شرطها (Conditions) و دستورات شرطی (If Statements) در جاوا
-
آشنایی با دستور else در برنامهنویسی
-
آموزش عبارت else if در برنامهنویسی
-
آشنایی با عملگر شرطی کوتاه در جاوا (Ternary Operator)
-
آموزش شرطها (If..Else) در برنامهنویسی با مثالهای واقعی
-
آشنایی با Switch Statement در جاوا
-
آشنایی با حلقه While در جاوا
-
حلقه Do/While در جاوا
-
آشنایی با حلقه For در جاوا
-
حلقههای تودرتو (Nested Loops) در جاوا
-
حلقه For-Each در جاوا
-
آموزش دستورات Break و Continue در جاوا
-
آشنایی با آرایهها در جاوا (Java Arrays)
-
آموزش ساده استفاده از حلقهها برای پیمایش آرایهها در جاوا (Java Arrays Loop)
-
آرایههای چندبعدی در جاوا (Java Multi-Dimensional Arrays)
-
معرفی متدها در جاوا (Java Methods)
-
آموزش ساده: پارامترها و آرگومانها در متدهای جاوا (Java Method Parameters)
-
مفهوم بازگشت مقدار در جاوا (Java Return)
-
روش بارگذاری مجدد متدها در جاوا (Java Method Overloading)
-
آشنایی با محدوده متغیرها در جاوا (Java Scope)
-
بازگشت در جاوا (Java Recursion)
-
آشنایی با برنامهنویسی شیءگرا (Object-Oriented Programming یا OOP)
-
برنامهنویسی شیءگرا در جاوا (Java Classes/Objects)
-
آشنایی با ویژگیهای کلاس در جاوا (Java Class Attributes)
-
متدها در جاوا (Java Methods)
-
Constructor در جاوا
-
آشنایی با Modifiers در جاوا (Java Modifiers)
-
مفهوم کپسولهسازی (Encapsulation) در جاوا
-
راهنمای جامع پکیجها (Packages) و API در جاوا
-
وراثت (Inheritance) در جاوا – ساده و قابل فهم
-
پلیمورفیسم (Polymorphism) در جاوا به زبان ساده
-
کلاسهای داخلی (Inner Classes) در جاوا
-
کلاسها و متدهای انتزاعی (Abstract Classes and Methods) در جاوا
-
رابطها (Interfaces) در جاوا
-
آشنایی با Enum در جاوا
-
دریافت ورودی از کاربر در جاوا (Scanner)
-
تاریخ و زمان در جاوا (Java Date and Time)
-
آشنایی با ArrayList در جاوا
-
آشنایی با LinkedList در جاوا
-
مرتبسازی لیست در جاوا (Java List Sorting)
-
آشنایی با HashMap در جاوا
-
آشنایی با HashSet در جاوا
-
آشنایی با Iterator در جاوا
-
کلاسهای بستهبندی (Wrapper Classes) در جاوا
-
استفاده از try...catch برای مدیریت خطاها
-
آشنایی با عبارات منظم (Regular Expressions) در جاوا
-
آشنایی با Threads در جاوا 🚀
-
آشنایی با Lambda Expressions در جاوا
-
مرتبسازی پیشرفته در جاوا
-
آشنایی با کلمه کلیدی assert در جاوا
-
آشنایی با کلمه کلیدی abstract در جاوا
-
آشنایی با کلمه کلیدی boolean در جاوا
-
آشنایی با کلمه کلیدی break در جاوا
-
آشنایی با کلمه کلیدی byte در جاوا
-
آشنایی با کلمه کلیدی case در جاوا
-
آشنایی با کلمه کلیدی catch در جاوا
-
آشنایی با کلمه کلیدی char در جاوا
-
آشنایی با کلمه کلیدی class در جاوا
-
آشنایی با کلمه کلیدی continue در جاوا
-
آشنایی با کلمه کلیدی default در جاوا
-
آشنایی با کلمه کلیدی do در جاوا
-
آشنایی با کلمه کلیدی double در جاوا
-
آشنایی با کلمه کلیدی else در جاوا
-
آشنایی با کلمه کلیدی enum در جاوا
-
آشنایی با کلمه کلیدی exports در جاوا
-
آشنایی با کلمه کلیدی Inheritance در جاوا
-
آشنایی با کلمه کلیدی final در جاوا
-
آشنایی با کلمه کلیدی finally در جاوا
-
آشنایی با کلمه کلیدی float در جاوا
-
آشنایی با کلمه کلیدی for در جاوا
-
آشنایی با کلمه کلیدی if در جاوا
-
آشنایی با کلمه کلیدی implements در جاوا
-
آشنایی با کلمه کلیدی import در جاوا
-
آشنایی با کلمه کلیدی instanceof در جاوا
-
آشنایی با کلمه کلیدی int در جاوا
-
آشنایی با کلمه کلیدی Interface در جاوا
-
آشنایی با کلمه کلیدی long در جاوا
-
آشنایی با کلمه کلیدی module در جاوا
-
آشنایی با کلمه کلیدی native در جاوا
-
آشنایی با کلمه کلیدی new در جاوا
-
آشنایی با کلمه کلیدی package در جاوا
-
آشنایی با کلمه کلیدی private در جاوا
-
آشنایی با کلمه کلیدی protected در جاوا
-
آشنایی با کلمه کلیدی public در جاوا
-
آشنایی با کلمه کلیدی return در جاوا
-
آشنایی با کلمه کلیدی requires در جاوا
-
آشنایی با کلمه کلیدی short در جاوا
-
آشنایی با کلمه کلیدی static در جاوا
-
آشنایی با کلمه کلیدی super در جاوا
-
آشنایی با کلمه کلیدی switch در جاوا
-
آشنایی با کلمه کلیدی synchronized در جاوا
-
آشنایی با کلمه کلیدی this در جاوا
-
آشنایی با کلمه کلیدی throw در جاوا
-
آشنایی با کلمه کلیدی throws در جاوا
-
آشنایی با کلمه کلیدی transient در جاوا
-
آشنایی با کلمه کلیدی try...catch در جاوا
-
آشنایی با کلمه کلیدی var در جاوا
-
آشنایی با کلمه کلیدی void در جاوا
-
آشنایی با کلمه کلیدی volatile در جاوا
-
آشنایی با کلمه کلیدی while در جاوا
-
متد charAt() در جاوا
-
متد codePointAt() در جاوا
-
متد codePointBefore() در جاوا
-
متد codePointCount() در جاوا
-
متد compareTo() در جاوا
-
متد compareToIgnoreCase() در جاوا
-
متد concat() در جاوا
-
متد contains() در جاوا
-
متد contentEquals() در جاوا
-
متد copyValueOf() در جاوا
-
متد endsWith() در جاوا
-
متد equals() در جاوا
-
متد equalsIgnoreCase() در جاوا
-
متد format() در جاوا
-
متد getBytes() در جاوا
-
متد getChars() در جاوا
-
متد hashCode() در جاوا
-
متد indexOf() در جاوا
-
متد isEmpty() در جاوا
-
متد join() در جاوا
-
متد lastIndexOf() در جاوا
-
متد length() در جاوا
-
متد matches() در جاوا
-
متد offsetByCodePoints() در جاوا
-
متد regionMatches() در جاوا
-
متد replace() در جاوا
-
متد replaceAll() در جاوا
-
متد replaceFirst() در جاوا
-
متد split() در جاوا
-
متد startsWith() در جاوا
-
متد subSequence() در جاوا
-
متد substring() در جاوا
-
متد toCharArray() در جاوا
-
متد toLowerCase() در جاوا
-
متد toString() در جاوا
-
متد toUpperCase() در جاوا
-
متد trim() در جاوا
-
متد valueOf() در جاوا
-
متد abs() در جاوا
-
متد acos() در جاوا
آشنایی با کلمه کلیدی try…catch در جاوا
در برنامهنویسی، ممکن است خطاهایی (Errors) هنگام اجرای کد رخ دهند. جاوا برای مدیریت این خطاها یک مکانیسم خاص به نام try...catch
دارد. بیایید این مفهوم را ساده و شفاف بررسی کنیم. 👇
🔹 چرا try...catch
مهم است؟
وقتی یک برنامه اجرا میشود، ممکن است به دلیل مشکلات مختلفی مثل تقسیم عدد بر صفر، دسترسی به خانهای خارج از محدوده آرایه یا اتصال ناموفق به پایگاه داده دچار خطا شود. اگر این خطاها مدیریت نشوند، ممکن است برنامه متوقف شود و تجربه کاربری بدی ایجاد کند. 😕
✅ try
به ما امکان میدهد یک بخش از کد را مشخص کنیم که ممکن است باعث خطا شود.
✅ catch
این خطا را گرفته (Catch) و یک راهحل جایگزین ارائه میدهد تا برنامه همچنان به کار خود ادامه دهد.
🎯 نحوه استفاده از try...catch
در جاوا
✅ مثال ساده:
فرض کنید میخواهیم به یک آرایه عددی دسترسی پیدا کنیم، اما به اشتباه سعی میکنیم مقدار خانهای که وجود ندارد را چاپ کنیم. این باعث خطا میشود، اما ما میتوانیم این خطا را با try...catch
کنترل کنیم.
public class Main {
public static void main(String[] args) {
try {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]); // این خطا ایجاد میکند
} catch (Exception e) {
System.out.println("خطایی رخ داد! لطفاً بررسی کنید. ");
}
}
}
🔍 خروجی:
خطایی رخ داد! لطفاً بررسی کنید.
در اینجا خطای دسترسی به ایندکس نادرست آرایه اتفاق افتاد، اما برنامه متوقف نشد و به جای آن پیام مناسبی نمایش داده شد. 🎉
🔹 توضیح مراحل کد بالا:
- داخل
try
یک بلوک کد نوشتهایم که ممکن است باعث خطا شود. - اگر خطایی رخ دهد،
catch
آن را گرفته و پیام مناسبی نمایش میدهد. - برنامه متوقف نمیشود و اجرای کد ادامه پیدا میکند.
🎯 مثال پیشرفتهتر: جلوگیری از تقسیم بر صفر
فرض کنید برنامهای مینویسیم که عددی را بر عدد دیگر تقسیم میکند. اما اگر کاربر عدد صفر وارد کند، برنامه دچار خطای ریاضی (ArithmeticException) میشود. با try...catch
میتوانیم این مشکل را کنترل کنیم.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.print("عدد اول را وارد کنید: ");
int num1 = scanner.nextInt();
System.out.print("عدد دوم را وارد کنید: ");
int num2 = scanner.nextInt();
int result = num1 / num2; // اگر num2 صفر باشد، خطا ایجاد میشود
System.out.println("نتیجه: " + result);
} catch (ArithmeticException e) {
System.out.println(" خطا! تقسیم بر صفر امکانپذیر نیست.");
}
}
}
🔍 خروجی در دو حالت:
ورودیهای صحیح:
عدد اول را وارد کنید: 10
عدد دوم را وارد کنید: 2
نتیجه: 5
✅ نتیجه درست محاسبه شد.
ورودی اشتباه (تقسیم بر صفر):
عدد اول را وارد کنید: 10
عدد دوم را وارد کنید: 0
خطا! تقسیم بر صفر امکانپذیر نیست.
✅ برنامه دچار کرش نشد و به جای آن پیام هشدار داد.
📌 چند نکته مهم درباره try...catch
🔹 فقط یک خطا مدیریت نکنید! میتوان چندین catch
برای انواع مختلف خطاها داشت.
🔹 از finally
برای کدهای ضروری استفاده کنید. اگر بخواهید یک کد حتماً اجرا شود (مثل بستن فایلها یا ارتباطات)، میتوانید از finally
استفاده کنید.
🔹 خطاها را شفاف نمایش دهید. میتوانید از e.getMessage()
برای نمایش اطلاعات بیشتر درباره خطا استفاده کنید.
🎯 مثال: چندین catch
برای مدیریت انواع خطاها
public class Main {
public static void main(String[] args) {
try {
int[] numbers = {1, 2, 3};
System.out.println(numbers[10]); // خطای آرایه
int x = 10 / 0; // خطای تقسیم بر صفر
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println(" خطای دسترسی به آرایه! ایندکس نامعتبر است.");
} catch (ArithmeticException e) {
System.out.println(" خطای ریاضی! تقسیم بر صفر مجاز نیست.");
}
}
}
🔹 در این مثال:
- اگر خطای آرایه رخ دهد، پیام مناسب نمایش داده میشود.
- اگر خطای تقسیم بر صفر رخ دهد، پیام دیگری نمایش داده میشود.
- این باعث مدیریت بهتر خطاها میشود. 🎯
✅ نتیجهگیری
try...catch
برای مدیریت خطاها در جاوا استفاده میشود تا برنامه متوقف نشود.try
یک کد مشکوک به خطا را بررسی میکند.catch
خطا را میگیرد و پاسخ مناسبی میدهد.- میتوان چندین
catch
برای خطاهای مختلف داشت. - استفاده از
finally
باعث میشود برخی دستورات همیشه اجرا شوند.