سلام با قسمت چهارم آموزش جاوا JAVA در خدمت شما عزیزان هستم
در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با متغیر Double و اولویت عمگرها آشنا شدیم
حال با ادامه آموزش جاوا همراه باشید:
همانند ذخیره ی مقادیر عددی، متغیرها می توانند متن را در خود حفظ کنند. شما میتوانید تنها یک کاراکتر یا چندید کاراکتر را ذخیره کنید. برای ذخیره ی تنها یک کاراکتر، متغیر char استفاده می شود. گرچه معمولا تمایل دارید بیشتر از یک کاراکتر را ذخیره کنید. برای انجام این کار نیاز به متغیر نوع رشته ای دارید.
حال یک برنامه در محیط NetBeans می نویسیم , البته شما می تونید همین کد ها را در محیط IntelliJ IDEA
که در قسمت اول آموزش دیدید اجرا کنید
با کلیک کردن بر روی File > New Project از نوار منو در بالای NetBeans، یک پروژه ی جدید را آغاز کنید. وقتی دیالوگ باکس New Project ظاهر می شود، اطمینان حاصل کنید که آموزش Java و Java Application انتخاب شده اند:
روی Next کلیک کرده و StringVars را با عنوان نام پروژه تایپ کنید. اطمینان حاصل کنید که در قسمت Create Main Class یک تیک وجود دارد. سپس Main را پس از stringvars حذف کرده و در عوض StringVariables را تایپ کنید، مانند تصویر زیر:
بنابراین نام پروژه StringVars است و نام گروه نیز StringVariables می باشد. روی دکمه ی Finish کلیک کنید، پنجره ی برنامه نویسی شما مانند تصویر زیر خواهد بود ( ما تمام کامنت های پیش فرض را حذف کرده ایم.) دقت داشته باشید که تمام حروف مربوط به نام پوشه با حروف کوچک نوشته شده اند(stringvars)، اما نام پروژه StringVars می باشد.
برای برقراری یک متغیر string ، لغت String را تایپ کنید که پس از آن نام متغیر قرار می گیرد. توجه داشته باشید که در لغت String حرف S بزرگ نوشته شده است. مجددا خط با یک نقطه ویرگول به پایان می رسد:
String first_name;
با تایپ کردن یک علامت تساوی، یک مقدار جدید را به متغیر string خود اختصاص دهید. پس از علامت تساوی متنی را که می خواهید ذخیره کنید، بین دو علامت نقل قول (") قرار می گیرد:
first_name = "William"
اگر ترجیح می دهید، می توانید تمام آن را در یک خط داشته باشید:
String first_name = "William"
متغیر دوم string را برقرار کنید تا یک نام یا نام خانوادگی را حفظ کنید:
String family_name = "Shakespeare"
برای اینکه هر دو نام را چاپ کنید، println( ) زیر را اضافه کنید:
System.out.println( first_name + " " + family_name );
در بین آکولادهای println عبارت زیر را داریم:
first_name + " " + family_name
هر آنچه در متغیر به نام first_name وجود دارد، نسخه ی چاپی (print out) می نامیم. پس از آن یک علامت به علاوه وجود دارد که با یک فاصله دنبال می شود. این فاصله بین علامت های نقل قول احاطه شده است. به این روش جاوا در می یابد که ما قصد چاپ یک کاراکتر فاصله (space character) را داریم. پس از فاصله یک علامت به علاوه ی دیگر وجود دارد که با متغیر family_name دنبال می شود.
گرچه این مسئله کمی گیج کننده به نظر می رسد، اما ما فقط در حال چاپ یک نام، یک فاصله و سپس نام خانوادگی هستیم. پنجره ی برنامه نویسی شما باید مانند تصویر زیر به نظر برسد:
برنامه ی خود را اجرا کنید و پس از آن در پنجره ی Output تصویر زیر مشاهده خواهید کرد:
اگر شما در حال ذخیره ی تنها یک کاراکتر مجزا هستید، متغیر مورد نیاز شما char ( با حرف کوچک) می باشد. برای ذخیره ی کاراکتر از علامت نقل قول (‘) به جای (“) استفاده می کنید. در اینجا مجددا برنامه را مشاهده می کنید، اما این بار با متغیر char:
اگر سعی کنید یک متغیر char را با علامت نقل قول جفت (“) ذخیره کنید، NetBeans زیر کد ناسازگار با قرمز خط خواهد کشید و خطای نوع ناسازگار (incompatible type) ارائه خواهد داد. به هرحال شما می توانید یک متغیر String تنها با یک کاراکتر مجزا داشته باشید. اما به علامت نقل قول دوگانه (“) نیاز دارید. بنابراین این مورد درست می باشد:
String first_name = "W"
اما مورد زیر درست نمی باشد:
String first_name = 'W';
ورژن دوم دارای یک علامت نقل قول مجزا می باشد، در حالیکه مورد اول دارای علامت نقل قول دوگانه (“) می باشد.
موارد بیشتری در مورد string ها وجود دارد و بعدها مجددا آنها را مشاهده خواهید کرد. اکنون اجازه دهید ادامه داده و چند ورودی از یوزر دریافت کنیم.
یکی از نقاط قوت Java، وجود کتابخانه های عظیمی از کدهای موجود برای شما می باشد. برای انجام کارهای خاص کدهایی نوشته شده است. تمام آنچه باید انجام دهید ارجاع به کتابخانه ی مورد نظر و سپس فراخوانی متد می باشد. گروه واقعا مفیدی که ورودی یک یوزر را کنترل می کند، گروه Scanner نامیده می شود. این گروه در کتابخانه ی java.util یافت می شود. برای استفاده از گروه Scanner لازم است به آن گروه در کد خود ارجاع کنید. این کار با لغت کلیدی import انجام می شود.
import java.util.Scanner;
عبارت import لازم است بالای عبارت عبارت Class قرار بگیرد.
import java.util.Scanner;
public class StringVariables {
}
این عبارت به جاوا می گوید که می خواهید از یک گروه خاص در یک کتابخانه ی خاص استفاده کنید – گروه Scanner که در java.util واقع شده است.
کار دیگری که باید انجام دهید ایجاد یک آبجکت از گروه Scanner می باشد. (یک گروه در واقع دسته ای از کدهاست. این کد تا زمانیکه یک آبجکت جدید از آن ایجاد نکنید، کاری انجام نمی دهد.)
برای ایجاد یک آبجکت Scanner جدید، کد مورد نیاز را در زیر مشاهده می کنید:
Scanner user_input = new Scanner( System.in );
عبارت import لازم است بالای عبارت عبارت Class قرار بگیرد.
import java.util.Scanner;
public class StringVariables {
}
این عبارت به جاوا می گوید که می خواهید از یک گروه خاص در یک کتابخانه ی خاص استفاده کنید – گروه Scanner که در java.util واقع شده است.
کار دیگری که باید انجام دهید ایجاد یک آبجکت از گروه Scanner می باشد. (یک گروه در واقع دسته ای از کدهاست. این کد تا زمانیکه یک آبجکت جدید از آن ایجاد نکنید، کاری انجام نمی دهد.)
برای ایجاد یک آبجکت Scanner جدید، کد مورد نیاز را در زیر مشاهده می کنید:
Scanner user_input = new Scanner( System.in );
بنابراین به جای متغیر int یا یک متغیر String ، در حال تنظیم یک متغیر Scanner می باشیم، که مورد ما user_input نامیده می شود. پس از یک علامت تساوی لغت کلیدی new را داریم که برای ایجاد آبجکت های جدید از یک گروه استفاده می شود. آبجکتی که در حال ایجاد آن هستیم از گروه Scanner می باشد. در بین آکولادها باید به جاوا اعلام کنید که از System Input (System.in) خواهد بود.
برای گرفتن ورودی یوزر، می توانید یکی از چندین متد موجود را در آبجکت جدید Scanner وارد عمل کنید. یکی از این متدها next نامیده می شود. این متد رشته ی بعدی متن را که یک یوزر روی صفحه کلید تایپ می کند، دریافت می کند:
String first_name;
first_name = user_input.next( );
بنابراین پس از آبجکت user_input یک نقطه تایپ می کنیم. سپس لیستی از متدهای موجود مشاهده خواهید کرد. روی next دابل کلیک کنید و سپس در انتهای خط یک نقطه ویرگول تایپ کنید. برای به جلو بردن یوزر می توانیم متن نیز تایپ کنیم:
String first_name;
System.out.print("Enter your first name: ");
first_name = user_input.next( );
دقت داشته باشید که مانند قبل از print به جای println استفاده می کنیم. تفاوت بین این دو این است که println پس از خورجی مکان نما را به یک خط جدید حرکت می دهد، اما print روی همان خط می ماند.
یک پیشروی برای نام خانوادگی نیز وارد می کنیم:
String family_name;
System.out.print("Enter your family name: ");
family_name = user_input.next( );
این همان کد است به جز اینکه اکنون جاوا هرآنچه را یوزر در قسمت متغیر family_name به جای متغیر first_name تایپ می کند، ذخیره می کند.
برای چاپ ورودی می توانیم مورد زیر را اضافه کنیم:
String full_name;
full_name = first_name + " " + family_name;
System.out.println("You are " + full_name);
یک متغیر String دیگر با عنوان full_name تنظیم می کنیم و هر آنچه در متغیرهای first_name و family_name است را ذخیره می کنیم. در بین این دو یک فاصله قرار می دهیم. خط آخر همه ی آن را در پنجره ی Output چاپ خواهد کرد.
بنابراین کد خود را طوری تطبیق دهید تا با تصویر بعدی هماهنگی داشته باشد:
برنامه ی خود را اجرا کنید تا اینکه پنجره ی Output تصویر زیر را نمایش دهد:
اکنون جاوا متوقف شده تا اینکه در صفحه کلید چیزی وارد کنید، و تا زمانیکه دکمه ی Enter صفحه کلید را فشار ندهید، پیشرفتی رخ نخواهد داد. بنابراین بعداز "Enter your first name:" را کلیک چپ کنید، مشاهده خواهید کرد که مکان نمای شما محو خواهد شد. یک نام تایپ کنید و سپس دکمه ی enter را فشار دهید.
پس از فشردن دکمه ی enter، جاوا هر آنچه را که در سمت چپ علامت تساوی در متغیر نام تایپ و ذخیره شده، خواهد گرفت. در مورد ما این متغیر first_name نامیده می شد.
سپس برنامه وارد خط بعدی کد می شود:
یک نام خانوادگی تایپ کرده و سپس مجددا دکمه ی Enter را فشار دهید:
اکنون ورودی یوزر به پایان رسیده است و بقیه ی برنامه اجرا می شود. این خروجی هردو نام می باشد. نتیجه ی نهایی باید مشابه تصویر زیر باشد:
بنابراین ما از گروه Scanner برای گرفتن ورودی از یک یوزر استفاده می کنیم. هر آنچه تایپ شد در متغیرها ذخیره شد. نتیجه نیز در پنجره ی Output چاپ شد. در بخش بعدی نگاه کوتاهی به Option Panes خواهیم داشت.
پایان قسمت چهارم آموزش جاوا
دوره آموزش برنامه نویسی JAVA ادامه دارد