menusearch
javapro.ir

♨️ جلسه هفدهم - متدها در جاوا

جستجو
دوشنبه ۲۳ مهر ۱۴۰۳ | ۳:۲۴:۲۱
۱۳۹۵/۸/۹ یکشنبه
(8)
(1)
♨️ جلسه هفدهم - متدها در جاوا
♨️ جلسه هفدهم - متدها در جاوا

فهرست جلسات دوره مقدماتی جاوا

مقدمه اول | جاوا چیست؟

مقدمه دوم | تاریخچه جاوا

مقدمه سوم | ویژگی‌های زبان جاوا

جلسه اول | راهنمای دانلود و نصب JDK

جلسه دوم | اجرای یک برنامه جاوا در Notepad

جلسه سوم | راهنمای دانلود و نصب Eclipse

جلسه چهارم | ساخت اولین برنامه جاوا در Eclipse

جلسه پنجم | متغیر ها در جاوا

جلسه ششم | تغییر فونت محیط Eclipse

جلسه هفتم | عملگر‌های پایه ای جاوا

جلسه هشتم | دستورات شرطی

جلسه نهم | اشیا و کلاس ها

جلسه دهم | ورودی گرفتن

جلسه یازدهم | حلقه‌های کنترلی

جلسه دوازدهم | کلمه کلیدی static

جلسه سیزدهم | کلاس Math

جلسه چهاردهم | کلاس String

جلسه پانزدهم | آرایه‌های یک بعدی

جلسه شانزدهم | کنترل سطح دسرسی (Modifiers)

جلسه هفدهم | متدها در جاوا

جلسه هجدهم | کلمه کلیدی this

جلسه نوزدهم | کلاس‌های داخلی

جلسه بیستم | ارث بری در جاوا

جلسه بیست و یکم | کلمه کلیدی final

جلسه بیست و دوم | Overriding در جاوا

جلسه بیست و سوم | Polymorphism( چند ریختی)

جلسه بیست و چهارم | چندریختی را بهتر یادبگیرید

جلسه بیست و پنجم | Abstraction( انتزاع)

جلسه بیست و ششم | Encapsulation(کپسوله سازی)

جلسه بیست و هفتم | اینترفیس (Interface)

جلسه بیست و هشتم | کلاس Random

جلسه بیست و نهم | Exceptions (استثناها)

جلسه سی ام | کار با فایل در جاوا(Files and I/O)

جلسه سی و یکم | کلاس InputStreamReader

جلسه سی و دوم | کلاس OutputStreamWriter

جلسه سی و سوم | کلاس BufferedReader

جلسه سی و چهارم | کلاس BufferedWriter

جلسه سی و پنجم | Serialization در جاوا

جلسه سی و ششم | چندنخی(Multithreading)

جلسه سی و هفتم | آرایه دو بعدی در جاوا

جلسه سی و هشتم | کلاس ArrayList در جاوا

جلسه سی و نهم | Non Access Modifier در جاوا

 

دوره رایگان مقدماتی زبان جاوا

 

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


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

 

package javalike;

import java.util.Scanner;

public class Seventeenth_Session {

   public static void main(String[] args) {

       Scanner input = new Scanner(System.in);
       int a = input.nextInt();
       int b = input.nextInt();
       int sum = a + b;
       System.out.println(sum);

   }

}


خروجی:این برنامه را بصورت زیر تست کرده ایم.

 

5
10
15


✔ دو عدد 5 و 10 را به عنوان ورودی به برنامه دادیم و حاصل جمع این دو عدد 15 شد.


✔   در این مثال تمام کد برنامه خود را در متد main کلاس خود نوشتیم. خب در نگاه اول این که مشکلی نداره! نظمشم که خیلی خوبه! تازه در متد main کلاسمون قرار داره! پس ایرادش چیه؟!!!!! درسته ظاهرا نظم خوبه داره، اما اگه همه کدهای برنامه خود را در متد main بزنیم تصور کنید 1000 دستور خاص که عملیاتی را برامون انجام می‌دهند را مستقیم و پشت سر هم در متد main کلاس پیاده سازی کنیم مثلا دستور اول حاصل جمع دو عدد دستور دوم قدر مطلق دو عدد دستور سوم میانگین نمرات دانشجویان دستور چهارم به توان 2 رساندن یک عدد و.... ،وقتی همه این دستورات پشت سر هم قرار میگیره حتی اگه خودمون هم کدش رو زده باشیم بعد از مدتی قاطی میکنیم که این دستورات چکارهایی برنامون انجام میدهند یا این دستور مربوط به کدام بخش از عملیاتی که ذکر کردیم هست؟و....شاید بگید کامنت گذاری(قرار دادن توضیح)می کنیم بازم جالب نیست تمام کدامون در متد main پشت سر هم بزنیم! در کل حرفه ای نیست! قشنگ نیست! 😊 بر فرض خواستیم دستور مثلا عملیات فاکتوریل را بین 1000 دستور عملیاتیپیدا کنیم تصورش واقعا سخته و به زحمت میندازمون 😊


😊 راه کار چیه؟ متدها ما میایم برای هر دستور عملیاتی یک متد تعریف میکنیم و ان دستور را در بدنه متد پیاده سازی میکنیم و بعد با توجه به نیاز تنها نام متد را صدا میزنیم که برامون دستور را اجرا کند مثلا برای هزار دستور عملیاتی 1000 متد تعریف می‌کنیم که هر وقت نیاز به دستور خاص داشتیم دیگه با متدش کار کنیم نه دستورات درونش!!! مثلا همین متد ()System.out.println ما با دستورات درونش دیگه کاری نداریم تنها صداش میزنیم و برامون کار انجام میده!فرض کنید هربار که میخواستیم یک پیام چاپ کنیم مستقیم دستورات درون این متد را در برناممون می‌نوشتیم تصور کنید چه کار طاقت فرسایی میشد و چقدر تعداد خط کد برنامون افزایش می‌یافت.پس اینجاست که درمی یابیم که متد ها چقدر مفید و با ارزش میباشند 😊

حالا همین مثال قبل را با راه دوم یعنی پیاده سازی دستورات درون متد بررسی میکنیم:

 

 

 

package javalike;

import java.util.Scanner;

public class Seventeenth_Session {

   public static void total() {
       Scanner input = new Scanner(System.in);
       int a = input.nextInt();
       int b = input.nextInt();
       int sum = a + b;
       System.out.println(sum);

   }

   public static void main(String[] args) {

       total();

   }

}


خروجی: این برنامه را بصورت زیر تست کرده ایم.

 

99
2
101


✔ دو عدد 99 و 2 از ورودی گرفته و حاصل جمع آنها 101 را در خروجی چاپ کرده است.


✔ در این مثال یک متد در بدنه کلاس خود به نام total ایجاد کرده و دستورات مورد نظر را درون آن پیاده سازی کرده ایم. و در متد main کلاس ،متد total را صدا زده ایم.


✔ وقتی متد total در متد main صدا زده شود،دستورات درون متد total خط به خط اجرا می‌شود.


✔   همون طور که در متد main مشاهده میکنید خبری از شلوغی نیست تنها نام یک متد را صدا زده ایم که برامون عملیاتی را اجرا میکند.


✔    شاید بگید کلاس مون شلوغ شده!!! بدنه کلاس محل تعریف متدها و متغیر های برنامه مورد نظر ما است و برای این کار ساخته شده! چون هر کلاس تنها یک متد main داره و لازمه اجرای برنامه دارا بودن متد main است باید در حد امکان بصورت منظم و مرتب کد های خود را درونش بزنیم که با زیاد شدن کدبرنامه دچار سردرگمی نشویم.


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

•    یک مقدار برامون برگرداند.
•    بدون برگردادن مقدار باشد.
•    به عنوان ورودی پارامتر بگیرد.
•    بدون ورودی و پارامتر باشد.

 

 

 

در دوره مبانی برنامه نویسی جاوا به صورت ویدئویی به موضوع متدها در جاواپرداخته ایم.

 

 

 

ایجاد متد
مثال زیر و توضیح پیرامون ترکیب و جز به جز متد را در نظر بگیرید:

 

public static int methodName(int a, int b) {
// body
}


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


•    public static : اصلاح کننده (modifier)، سطح دسرسی به این متد public و نوع استفاده static است.


•    int نوع مقداری که بر میگرداند، از نوع عدد صحیح است.


•    methodName نام متد


•    int a, int b پارامترهای ورودی متد (پارامترها نوعی متغیر محلی می‌باشند که تنها در بدنه متد قابل استفاده هستند)


شکل کلی پیاده سازی یک متد بصورت زیر است:

 

modifier returnType nameOfMethod (Parameter List) {
// method body
}

 

💡 Modifier (اصلاح کننده سطح دسرسی): به معنای نوع دسرسی به متد و گزینه های استفاده از متد است.


💡 returnType (نوع مقداری که متد بر میگرداند): متد ممکن است یک مقدار برگرداند یا هیچ مقداری برنگرداند.


💡 nameOfMethod (نام متد): تعیین نام برای متد،نام متد و لیست پارامترهای متد امضا متد می‌باشند.


💡 Parameter List (پارامتر های متد): لیست پارامترهای متد شامل نوع پارامترها،تعداد پارامترها (پارامتر نوعی متغیر محلی است که تنها در بدنه متد قابل استفاده است) داشتن پارامتر برای یک متد اختیاری است یعنی با توجه به نیاز، یک متد می‌تواند چندین پارامتر براش تعیین کنیم یا این که بدون پارامتر متد خود را تعریف کنیم.


💡 method body (بدنه متد): دستورات مورد نظر خود را درون بدنه متد تعریف میکنیم.


مثال:در زیر سورس کد یک متد به نام minFunction را مشاهده میکنید.این متد دو پارامتر n1,n2 را میگیرد و مینیمم بین آن دو را محاسبه و برمیگرداند.

 

public static int minFunction(int n1, int n2) {
int min;
if (n1 > n2)
min = n2;
else
min = n1;

return min;
}


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


✔   بعد از تعیین نوع حالا بعد از عملیاتی که در بدنه متد انجام دادیم و قصد ما برگردادن نتیجه محاسباتی که در متد صورت گرفته،برای برگردادن نتیجه یا هر مقداری که مدنظر باشد از کلمه return استفاده میکنیم:

 

return value;


💡 نکته مهم : مقداری که در متد خود جلوی کلمه return استفاده میکنیم باید نوعش از نوع متدی باشه که در آن قرار داره:
مثلا در مثال بالا تابع minFunction از نوع int است پس مقداری که در این متد برگردانده می‌شود باید از نوع int باشد که در مثال بالا متغیر محلی min از نوع int هستش چون متدی که در ان قرار داره از نوع int است.

 

...ادامه این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.



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

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

لینک دانلود

 

 


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

instagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

3 نظر
7324
جمعه پانزدهم آذر ۹۸
پاسخ
()
()
7324
ممنون بابت زحماتي که کشيدين مفيد و کاربردي
پاسخ مدیر سایت
سلام.خواهش میکنم.به جاواپرو خوش آمدید
پاسخ مدیر سایت
Hamed m
چهارشنبه بیست و دوم آبان ۹۸
پاسخ
(0)
()
Hamed m
اصلاح به ما برميگرداند يعني چي؟ چاپ کردن برگرداندن حساب نميشه؟
پاسخ مدیر سایت
سلام.منظور این است که متد بعد از اجرای دستورات درون بدنه خود در پایان یک مقدار را به ما می‌دهد.مثلا یک متد کار جمع زدن دو عدد را انجام می‌دهد،می تونیم متد را طوری تعریف کنیم که بعد از جمع زدن دو عدد مجموع آنها را به ما بدهد یا به عبارتی برگرداند.می تونیم هم همچین امکانی رو براش تعریف نکنیم بستگی به نیازتون داره
پاسخ مدیر سایت
zahra.s
شنبه نهم دی ۹۶
پاسخ
(2)
()
zahra.s
واقعا عاليه، خيلي روان و پايه اي با نکات جزء به جزء. خيلي خيلي ممنونم
هدر سایت
دوره های مقدماتی تا پیشرفته جاوا، اسپرینگ بوت و اسپرینگ سکیورتی
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی