آموزش جاوا — اجزای سازنده برنامه ها و انواع داده ها – مرور مفاهیم
به طور ویژه، پس از معرفی سیستم عامل اندروید (Android) برای تلفن های همراه هوشمند و تبلت ها و معرفی جاوا به عنوان اصلی ترین زبان توسعه برنامه های تحت اندروید، اقبال عمومی به استفاده از آن بیشتر شد و این زبان جایگاه ویژه تری در میان سایر زبان های برنامه نویسی به دست آورد.
اجزای سازنده برنامه و انواع داده ها در جاوا
نکته: اگر بر روی پروژه کلیک راست بکنیم و گزینه clean and Build را بزنیم یک فایل jar به وجود می آید که اگر آدرس آن را در command جایگذاری کنیم و اینتر را بزنیم همان برنامه در command اجرا می شود. همچنین اگر همان آدرس را باز کنیم یک فایل jar ما در آنجا داریم که یک فایل اجرایی جاوا است که اگر آن را open کنیم نتیجه خاصی نصیب ما نمی شود، چون برنامه ما یک برنامه کنسولی است و رابط گرافیکی ندارد.
اگر بخواهیم همین برنامه ها را به صورت مستقل اجرا کنیم باید یک فرمان دیگر اضافه بکنیم که برنامه ما به صورت برنامه کنسولی اجرا بشود. برای این منظور ما گزینه Run یا ترکیب کلیدهای ویندوز و R را می زنیم تا برنامه run اجرا بشود. سپس دستور (regedit) را وارد کرده و ok را می زنیم.
Regedit در واقع رجیستری سیستم است پس بهتر است تغییر دیگری در آن اعمال نکنیم. در این مرحله کنترل و F می زنیم و (jarfile) را جستجو می کنیم و باز هم یک f3 می زنیم یعنی دوباره بگردد. سپس پوشه jarfile را باز کرده بعد پوشه shell و open و بعد هم پوشه command را باز می کنیم.
روی فایلی که باز شده است دابل کلیک کرده و آدرس را کپی می کنیم.
بر روی پوشه shell راست کلیک کرده و یک new>key را ایجاد می کنیم و نامش را Run as console App می گذاریم و بعد هم یک کلید جدید در آن ایجاد می کنیم و نامش را command و در داخل آن در قسمت default آدرس را جایگذاری می کنیم و کاراکتر (w) از کلمه javaw حذف کرده و ok را می زنیم.
به این صورت اگر بر روی jarfile کلیک راست بکنیم و گزینه Run as console App را بزنیم برنامه ما در command اجرا می شود.
نکته: برای اینکه برنامه ما زود بسته نشود و ما آن را ببینیم در برنامه که می نویسیم باید از کاربر بخواهیم کلیدی بزند تا برنامه command که اجرا می کنیم منتظر نظر ما بماند.
نکته: برای بزرگنمایی در نت بینز از کلید های Alt + اسکرول استفاده می شود.
اجزای مختلف برنامه
ما در این برنامه یک کلاس به نام (HelloWorld) و یک تابع به نام (main) داریم. اسم کلاس می تواند هر چیزی باشد ولی قالباً اسم کلاس همنام با برنامه است. یک تابع (main) حتما باید داخل کلاس تعریف شود. کوچکترین واحد سازنده در جاوا یک کلاس است که حتما باید یک تابع (main) داشته باشد. فرمت کلی، اولا باید public باشد یعنی عمومی باشد. static باشد یعنی ما نیاز نداشته باشیم که یک نمونه از کلاس را داشته باشیم. خروجی می تواند void یا هر چیز دیگری باشد و حتما باید اسمش (main) باشد. تابع (main) باید داخل کلاس تعریف بشود. در این دستور نیز (System.out) یک شی است و (println) یک تابع یا متد است.
یکی از کتابخانه ها یا به اصطلاح در جاوا، پکیج ها که خیلی حیاتی و مهم است. برای اجرای برنامه های جاوا که همیشه به صورت خودکار در برنامه ها گنجانده می شود، پکیج (java.lang) است.
یکی از کلاس هایی که در پکیج (java.lang) پیاده سازی شده کلاس System و یکی از اعضای این کلاس System.out است که برای تولید خروجی می توان استفاده کرد.
نکته: در این برنامه هیچ تفاوتی بین (println) و (slash n) نیست و هر دو یک نتیجه دارند.
public class Project1 {
public static void main(String[] args) {
System.out.println(“Hello Word!”);
System.out.print(“Hello Word!\n”);
}
}
Escape sequence
\n>new Line>خط جدید \’>single Quate>برای نشان دادن کاراکتر
\r>Return> رفتن به اول خط \b>Back space> یک کاراکتر را بر می گرداند
\t>Tab \\>برای نشان دادن خود اسلش
\”>Dowble Quote> (“) برای نشان دادن خود کاراکتر
یکی از مهمترین Escape sequence ها همین (\n,\t) است.
نکته: برای نشان دادن انتهای دستور از سمیکالون (;) استفاده می کنیم.
برای نشان دادن یک عدد در متن که قبلا تعریف شده است از تابع farmat به جای print استفاده می کنیم و در متنی که قرار است برای کاربر چاپ شود به جای عدد از فرمت %d یا (decimal) استفاده می کنیم و بعد از کاراکتر (“) نام متغیری که قبلا تعریف شده بود را وارد می کنیم. مانند:
public class project2 {
public static void main(String[] args) {
int n=10;
System.out.format(“the nomber is%d\n”, n);
}
}
نکته: از %n هم برای رفتن به خط بعد می توانیم استفاده کنیم. در نتیجه برای قرار دادن یک عدد در رشته از فرمت decimal(%d) استفاده می کنیم.
Format spicifiers
%d>decimal>اعداد ده دهی
%f>floots>اعداد با ممیز
%s>string>رشته ها و عبارات
نحوه نشان دادن اعداد ده دهی با شکل های مختلف
نکته: برای نشان دادن اعداد ممیزدار از double می توانیم استفاده کنیم. برای مثال عدد pi که می توانیم هم خودمان مقدار آن را تعریف کنیم یا از مقدار آن در کتابخانه ریاضی جاوا استفاده کنیم. (double pi=Math.PI) یعنی Math.PI را بردار و به جای pi که خودمان تعریف کرده ایم قرار بده و استفاده کن.
برای نشان دادن اعداد ده دهی با شکل های مختلف
public class Project3 {
public static void main(String[] args) {
int n = 12345;
System.out.format(“The number is %d.\n”, n);
System.out.format(“The number is %8d.\n”, n);
System.out.format(“The number is %08d.\n”, n);
System.out.format(“The number is %+8d.\n”, n);
System.out.format(“The number is %,d.\n”, n);
System.out.format(“The number is %,8d.\n”, n);
System.out.format(“The number is %+,8d.\n\n”, n);
برای نشان دادن اعداد ممیزدار با شکل های مختلف
double pi = Math.PI;
System.out.format(“pi = %f\n”, pi);
System.out.format(“pi = %.2f\n”, pi);
System.out.format(“pi = %8.4f\n”, pi);
System.out.format(“pi = %8.2f\n”, pi);
System.out.format(“pi = %-8.4f\n”, pi);
System.out.format(“pi = %-8.2f\n”, pi);
}
}
Primitive Data Types in java
یکی از مهم ترین انواع داده ها انواع داده های صحیح هستند.
در همه این ها نصف اعداد علامت منفی دارند یا صفر و مثبت اند. می توان همه این ها را با فرمت decimale نمایش داد.
نوع داده با ممیز شناور
اعداد با ممیز شناور ۳۲ بیتی (پایه ای ترین نوع داده) <Floot
یک استاندارد مرسوم برای اعداد با ممیز شناور، IEEE 754 است.
اعداد با ممیز شناور ۶۴ بیتی> Double
IEEE754
داده دو مقداری و منطقی <Boolean
۶۵۵۳۶ تعداد کل کارکتر هایی است که char می تواند در خود ذخیره کند.
نحوه گرفتن ورودی از کاربر
برای اینکه از کاربر ورودی دریافت کنیم می توانیم از یک بخشی که داخل (System) است به نام (in) استفاده بکنیم البته استفاده از آن مانند (System.out) آسان نیست.
Systerm.out یک printstream و System.in یک inputStream یا جریان ورودی برای مسیرهای استاندارد است.
حال اگر بخواهیم از ورودی این استفاده کنیم باید اصطلاحاً یک اسکنر تعریف کنیم و ما نیاز به یک اسکنر داریم اما اسکنرها در حالت عادی در دسترس نیستند. لذا با دستور import این را وارد می کنیم یعنی اسکنر را از کتابخانه (util) و کتابخانه اصلی جاوا وارد می کنیم.
حال می توانیم یک اسکنر تعریف کرده و یک نام برای او انتخاب کنیم که مساوی یک اسکنر جدید باشد از (System.in)
Scanner input=new Scanner(System.in)
شیوه تعریف یک اسکنر
تعریف می کنیم که یک چیزی از جنس اسکنر به نام (input) و ایجاد می کنیم نوع جدیدی از اسکنر را که قرار است (System.in) را اسکن کند.
حالا مثلا می خواهیم یک عدد صحیح از کاربر بگیریم پس می گوییم:
int n=imput.next int();
این یک تابعی است که فراخوانی می شود. یک متغیر از نوع Integer را ار کاربر دریافت می کند. یعنی یک متغیر را از (imput) بخوان و در داخل (n) قرار بده. حال اگر بخواهیم مقدار این متغیر را گزارش بکنیم از تابع فرمت و فرمت d(Decimal)% استفاده می کنیم.
نکته: قبل از دریافت یک عدد از کاربر، باید از او بخواهیم که یک عدد صحیح وارد کند. که اصطلاحاً به این دستور یک اعلان می گویند.
اگر یادمان باشد در برنامه (project1) وقتی بر روی فایل jar که ساخته شده بود کلیک راست می کردیم و گزینه (Run as console App) را می زدیم برنامه سریع اجرا و بسته می شد. ما برای اینکه برنامه متوقف شود و منتظر نظر ما بماند باید یک کار بکنیم. یکی از این راه ها این است که (Scanner) را تعریف کنیم. بعد یک اسکنر جدید را ایجاد می کنیم. سپس یک اعلان می نویسیم که برای بسته شدن کلید اینتر را بزند بعد هم این دستور را می نویسیم:
input.nextLine();
یعنی خط بعدی را بگیر و تا وقتی اینتر را نزده است این برنامه متوقف نشود.
نکته: برای اینکلود کردن اسکنر و غیره در کتابخانه (util) هستند می توانیم به جای عبارت اسکنر علامت (*) را بنویسیم یعنی هرچی داخل (util) است همه را (import) بکن.
import java.util.Scanner;
public class Project1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(“Please enter an integer: “);
int n = input.nextInt();
System.out.format(“The number is: %d\n”, n);
}
}
مجموعه: اخبار و تازه ها, دستهبندی نشده