ورود

View Full Version : سوال: چند تا سوال مبتدیانه از جاوا



saadat68
دوشنبه 13 مهر 1394, 21:25 عصر
سلام دوستان 3 تا سوال داشتم ازتون



به کد زیر چی میگن ؟ دستور ؟ این که داخل پرانتزش قرار میگیره میدونم متد میشه
لطفا فارسی و انگلیسیشو بگین
()System.out.println

به این چی میگن ؟ کلاس ؟ یعنی این خط کلش میشه کلاس ؟
(Scanner saadat = new Scanner (System.in


statement توی جاوا فارسیش چی میشه ؟ به چیا میگن استیت منت


ممنون

pbm_soy
دوشنبه 13 مهر 1394, 23:30 عصر
توجه کنید که جوابهای شما میتوانند سلیقه ای جواب داده شوند البته در برخی موارد
سعی میکنم سوال اول و دوم را باهم جواب بدم
به الگو و یا ساختار یک شئ (object) کلاس میگویند نمونه ای از کلاس در زیر مینویسم

class test
{
private int year;
private int month;
private int day;
public string sDate;

public void getDate()
{

}

public void putDate()
{

}

}



اگر توجه کنید در این کلاس چند متغییر در اول آن تعریف شده است که به آنها خصوصیات یک شئ و یا متغییرهای عضو کلاس و غیره میگویند
همینطور دوتا تابعی که تحت عنوانهای getDate , putDate نوشته شده متدهای این کلاس هستند
دقت کنید تا زمانیکه از این الگو و یا کلاس نمونه ای گرفته نشود یعنی شئ از آن ایجاد نشود کاری نمیتواند بکند (البته درکل میگم بغیر از استثناها)
مثلا
test a= new test();
این نوشته یک متغییری از نوع test تعریف میکند در واقع دیگه به آن متغییر نمیگویند و به آن شئ میگویند چون از نوع کلاس ایجاد شده است
حالا میتوان متدهای آنها را فرخوانی کرد مانند

a.getDate();

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

محمد فدوی
سه شنبه 14 مهر 1394, 14:54 عصر
سلام دوستان 3 تا سوال داشتم ازتون



به کد زیر چی میگن ؟ دستور ؟ این که داخل پرانتزش قرار میگیره میدونم متد میشه
لطفا فارسی و انگلیسیشو بگین
()System.out.println

به این چی میگن ؟ کلاس ؟ یعنی این خط کلش میشه کلاس ؟
(Scanner saadat = new Scanner (System.in


statement توی جاوا فارسیش چی میشه ؟ به چیا میگن استیت منت


ممنون

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

اما در مورد سؤالاتی که مطرح کردید:
۱. هر برنامه از تعدادی دستور (Statement) تشکیل شده. همه‌ی خطوطی که در یک برنامه‌ی جاوا می‌بینید دستورات جاوا هستند (به خصوص اونایی که با سمی کولون «;» تموم می‌شن) در واقع هر دو دستوری که شما قرار دادید باید آخرشون یک سمی‌کولون «;» اضافه کنید تا یک دستور کامل به حساب بیان.
System.out.println();

به طور خلاسه این دستور، یک خط خالی در خروجی می‌نویسه. println مخفف Print Line هست که یعنی نوشتن در یک خط جدید. اگر قرار بود به جای یک خط خالی، یک متن رو در خروجی چاپ کنیم باید به println می‌گفتیم چه چیزی رو چاپ کنه و برای اینکه بهش بگیم باید متن مورد نظرمون رو داخل اون جفت پرانتز قرار می‌دادیم:
System.out.println("سلام! من یک آرگومان هستم.");

توجه داشته باش که یک متن در جاوا بین علامت نقل قول دوتایی (Double Quotation) قرار می‌گیره. در برنامه‌نویسی به متن‌هایی مثل متن بالا اصطلاحا رشته (String) می‌گیم.
خب تاحدودی با اینکه دستور بالا چه‌کار می‌کنه آشنا شدیم. حالا با اجزاء اون آشنا بشیم:
- System: یک کلاس (Class) هست که توش ابزارهایی برای ارتباط با سیستم رو داره. برای مثال out و in دو تا از این ابزارها هستن.

- out: یک شیء موجود در کلاس System هست. همونطور که از اسمش معلومه این شیء کارش نشون دادن خروجی (Output) به کاربره. یه شیء دیگه هم توی کلاس System هست به اسم in که کارش گرفتن ورودی (Input) از کاربر هست که در سؤال ۲ بیشتر بش می‌پردازیم.

- println: مهمترین خصوصیت اشیاء در دنیای واقعی داشتن رفتاره. در برنامه‌نویسی هم اشیاء موقعی واقعا شیء می‌شن که از خودشون رفتار نشون بدن! یکی از رفتارهای شیء out اینه که می‌تونه یه رشته (همون متن) رو به عنوان خروجی به کاربر نشون بده. وقتی می‌خوایم این رفتار رو از شیء out صدا بزنیم باید از println استفاده کنیم که یه متد (Method) هست. متدها نماینده‌ی رفتارها یا عملکردهای یک شیء هستن و خصوصیت مشترک همه‌شون هم در جاوا اینه که همیشه جلوشون پرانتز هست! و قرارداد جاوا هم اینه که معمولا با یه حرف کوچیک شروع می‌شن. البته این معنیش این نیست که هر چیزی که با حرف کوچیک شروع شد و جلوش پرانتز بود یعنی یک متده. بعضی وقتا متدها بدون هیچ ورودی‌ای کار می‌کنن (مثل همون دستوری که خودت نوشته بودی) و بعضی وقتا یک یا چند ورودی می‌گیرن (مثل دستوری که من نوشتم و اون متن رو روی صفحه چاپ می‌کرد). این ورودی‌ها توی همون پرانتزهای جلوی متد نوشته می‌شن و اصطلاحا بهشون آرگومان (Argument) می‌گیم.

۲.

Scanner saadat = new Scanner(System.in);

به طور خلاصه اینجا یک شیء (Object) از نوع Scanner می‌سازیم و اسم این شیء رو هم می‌ذاریم saadat. اما همونطور که از وظیفه‌ی اسکنر بر می‌آد، این شیء باید یه چیزی رو اسکن کنه! خب توی پرانتز بش می‌گیم که چه چیزی رو قراره اسکن کنه! ما به شیءمون می‌گیم که قراره System.in رو اسکن کنه که یعنی این اسکنر قراره روی ورودی خط فرمان (Command Line) کار کنه. مثلا اگر کاربر عددی رو توی خط فرمان بنویسه این شیء می‌تونه اون رو بخونه و اعمالی که لازم داریم رو روش انجام بده.

اما برای درک بهتر مفاهیمی که در بالا اومد یه مثال ساده می‌زنم. مثلا یه نفر یه حیوون خونگی داره با نام Puppy که یه شیء (Object) هست از کلاس (Class) سگ. کلاس اینجا مترادف کلمه‌ی الگو در زبان فارسیه. Puppy یه سری رفتار و عملکرد داره. بعضی از رفتارهاش مثل خوابیدن هیچ آرگومانی (Argument) نداره و بعضی دیگه مثل غذا خوردن آرگومان می‌خوان. چون باید مشخص بشه که قراره چه غذایی بخوره؟! برای اینکه به Puppy دستور بدیم یه رفتاری رو از خودش نشون بده مثلا باید باش حرف بزنیم و بش بگیم «بخواب!» یا «این کنسرو رو بخور!». در واقع این دوتا جمله متدهایی (Method) هستند که منجر به بروز رفتار در Puppy می‌شن.

این توضیحات رو دادم که فقط سؤالاتت رو بدون جواب نذاشته باشم. اما همونطور که گفتم با این توضیحات مشکلی حل نمی‌شه و باید یه منبع خوب رو شروع کنی به خوندن.

saadat68
سه شنبه 14 مهر 1394, 17:21 عصر
ممنون دوستان راضی به این همه توضیحات راضی نبودم شرمنده کردین دست شما درد نکنه خیلی چیز ها رو متوجه شدم راستش من دارم از سایت سکان آکادمی استفاده میکنم یا همون نردبان سابق که خیلی تعریفش رو برای مبتدی ها میکنن انصافا هم خوبه ولی به نظر میاد بازم به مکمل نیاز دارم البته میخواستم بعدش جاوا فرست هد رو بخونم

شما منبع فارسی سایت یا کتاب که مفاهیم رو مثل خود شما آموزش بده سراغ ندارین ؟

ببخشید یه سوال دیگه هم پیش اومد برام :خجالت:


Scanner saadat = new Scanner(System.in);

الان این ()new Scanner متد هست ؟ و System.in که داخل پرانتزه آرگومانه ؟

البته قیافه اش با متدهایی که تا الان دیدم نمیخوره :متفکر: مثلا دات نداره و فاصله افتاده

saadat68
سه شنبه 14 مهر 1394, 17:51 عصر
برای بار سوم خوندم مطالب رو :لبخند:
جواب سوالم رو فکر کنم گرفتم در واقع اون کد یک شی هست که از کلاس فراخوانی شده و اونی هم کداخل پرانتزه متد هست :لبخندساده:
درسته ؟

MohammadReza1994
چهارشنبه 15 مهر 1394, 17:38 عصر
System یک کلاسه و in یک متد

MohseN16
پنج شنبه 16 مهر 1394, 20:29 عصر
برای بار سوم خوندم مطالب رو :لبخند:
جواب سوالم رو فکر کنم گرفتم در واقع اون کد یک شی هست که از کلاس فراخوانی شده و اونی هم کداخل پرانتزه متد هست :لبخندساده:
درسته ؟
اونی که داخل پرانتزه هم یک Statement هستش و داره خصوصیت in از کلاس System رو درخواست میکنه.

محمد فدوی
جمعه 17 مهر 1394, 08:44 صبح
System یک کلاسه و in یک متد

لطفا راهنمایی اشتباه نکنید. ایشون بهتره بدون توجه به راهنمایی‌های ما برن یه کتاب بخونن تا به اشتباه نیفتن.
System یک کلاس هست و in یک شیء final و static از نوع InputStream که توی این کلاس قرار داره. out هم از نوع PrintStream هست.
لینک (http://docs.oracle.com/javase/8/docs/api/java/lang/System.html)

یه نمونه مثال از متد عضو کلاس می‌شه System.exit و یه نمونه متد عضو شیء می‌شه System.in.println . همونطور که گفتم فقط راهنمایی‌های الان من و دوستان یا اشتباهه :) یا اگه درست هم باشه saadat8 رو بیشتر گمراه می‌کنه.