آرشیو خرداد ماه 1399

به روز ترین مطالب آموزشی و متدلوژی های برنامه نویسی

آموزش جاوا-آموزش متغیرهای گروه در Java

۱۵۳ بازديد

سلام با آموزش جاوا JAVA در خدمت شما عزیزان هستم

در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با کلاسها , متغیرهای Field و constructor (سازنده) در جاوا آشنا شدیم

حال با ادامه آموزش جاوا همراه باشید:

لینک قسمت اول آموزش جاوا

آموزش دسترسی به متغیرهای گروه در آموزش جاوا

اکنون که چند مقدار پیش فرض داریم، می توانیم متدی را اضافه کنیم که مقادیر مختلفی را برای آنها تنظیم می کند. متد زیر را به گروه StudentResultsخود اضافه کنید.

در آموزش جاوا این متد جدید fullName نامیده می شود و دارای یک متغیر String جدید به نام aName بین پرانتزهای آن می باشد. این متد کار بزرگی انجام نمی دهد و به خاطر سادگی در اینجاست. می توانستیم متدی داشته باشیم که کارهای بیشتری انجام دهد، از جمله چک کردن خطاها، اطمینان حاصل کردن در رابطه با یک مورد مناسب، بررسی رشته های خالی و غیره. اما نکته ی مهم این است که این متد برای فیلد Full_Name یک مقدار تنظیم می کند و این فیلد را به عنوان یک مقدار باز می گرداند. وقتی این متد را فرا می خوانیم، مقدار پیش فرض را برای Full_Name خواهد نوشت و یک مقدار جدید وارد خواهد کرد. هر آنچه در متغیر aName است، مقدار جدید Full_Name خواهد بود. اجازه بدهید این مورد را در عمل ببینیم.

روی back کلیک کنید تا به گروه ExamDetails بازگردید. دو خط زیر را به آن اضافه کنید.

مثال:

1String sName = aStudent.fullName("Bill Gates");
1System.out.println( sName );

کد مربوط به گروه ExamDetails باید مشابه زیر باشد.

آنچه در اینجا انجام می دهیم، فراخوانی متد fullName از آبجکت aStudent می باشد. ما در حال توزیع مقدار "Bill Gates" می باشیم. این مقدارمربوط به فیلد Full_Name نیز خواهد بود. ( این مقدار می توانست برای خطاها بررسی شده، اصلاح شود و سپس در یک فیلد ذخیره شود.) سپس مقدار Full_Name بازگردانده شده و در متغیر sName ذخیره می شود.

درست مانند متدهایی که در بخش قبل ایجاد کردیم، گرچه متد fullName روی لیست NetBeans می باشد. به هرحال توجه داشته باشید که constructor در آنجا نیست.

برای امتحان آن کد خود را اجرا کنید. پنجره ی Output باید صفحه ی زیر را نمایش دهد.

بنابراین آنچه انجام داده ایم امتحان کردن یک مقدار برای یک متغیر فیلد در یک گروه به نام StudentResults می باشد. سپس به آن مقدار دسترسی پیدا کرده و آن را چاپ می کنیم.

حالا اجازه بدهید متدی وارد کنیم که واقعا کار مفیدی انجام می دهد. کاری که انجام خواهیم داد این است که به یک یوزر اجازه می دهیم تا یک کد امتحان دو حرفی وارد کند. سپس آن دو حرف را به متدی انتقال خواهیم داد که دو حرف را به نام یک امتحان بازمی گرداند. برای مثال اگر یک یوزر دو حرف "VB" را وارد کند، متد رشته ی "Visual Basic .NET" را گزارش خواهد داد. رشته ی بلندتر در متغیر فیلد Exam_Name ذخیره خواهد شد.

کد زیر را به گروه StudentResults، درست زیر متد fullName اضافه کنید.

متد examName دارای یک متغیر رشته به نام examCode می باشد که بین پرانتزهای آن قرار می گیرد. این رشته آن دو حرف می باشد. خطوط IF … ELSE IF بررسی می کنند تا ببینند کدام دو حرف در رشته می باشند. اگر یک هماهنگی برای دو دو حرف پیدا کردیم، تیتر بلندتر در فیلد Exam_Name قرار می گیرد. اگر هیچ گونه هماهنگی پیدا نشد، متن مربوط به فیلد "No Exam Selected" خواهد بود.

به گروه ExamDetails خود بازگشته و خط زیر را به آن اضافه کنید.

مثال:

1String exam = aStudent.examName("VB");‎

دوباره ما در حال فراخوانی متد می باشیم. به حروف "VB" دسترسی داریم. متد مقدار "Visual Basic .NET" را گزارش می دهد و سپس آن را در متغیر رشته ای که آن را exam نامیدیم، ذخیره می کند. یک print line جدید اضافه کنید، کد شما باید مانند زیر باشد.

سپس کد خود را اجراکنید، Outout مشابه زیر می باشد.

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

بنابراین ما نام یک دانش آموز و نام یک امتحان داریم. هر دو در فیلد اسم ها در گروه StudentResults ذخیره می شوند. اکنون می توانیم یک نمونه ی امتحان نیز ذخیره کنیم.

متد جدید زیر را درست بعد از متد examName در گروه خود اضافه کنید.

این متد جدید examScore نامیده می شود با یک متغیر int به نام aScore بین پرانتزهای آن. این متد برای بازگرداندن یک مقدار String تنظیم شده است. خود متد نمره را با رشته ی " out of 50" ترکیب می کند. بنابراین اگر مقدار در aScore عدد 30 باشد، متن "30 out of 50" در فیلد Exam_Score ذخیره خواهد شد.

در گروه ExamDetails ، خط زیر را اضافه کنید.

مثال:

1String score = aStudent.examScore(30);‎

بنابراین متد جدید examScore را فرا می خوانیم و به آن مقدار 30 را می دهیم. مقدار در فیلد Exam_Score بازگردانده می شود، و سپس در یک متغیر رشته ذخیره می شود که ما آن را نمره (score) نامیده ایم.

یک متد print line جدید اضافه کنید، بنابراین کد شما شبیه به کد ما در زیر می شود.

بنابراین ما نام دانش آموز، نام امتحان و نمره از 50 را در دست داریم. اکنون به پنجره ی خروجی می توانیم یک درجه نیز اضافه کنیم.

برای درجه از حروف مجزا استفاده می کنیم: A، B, C، D، یا E. اگر دانش اموزی نمره ی 41 یا بیشتر بگیرد، حرف A را به آن اختصاص می دهیم. اگر نمره بین 31 و 40 باشد، درجه مربوطه B خواهد بود. برای نمره ی بین 21 تا 30 حرف C اختصاص داده می شود. درجه ی D نمره ی بین 11 تا 20 می باشد و حرف E برای نمرات بین 0 تا 10 می باشد.

برای محاسبه ی درجات بالا متد زیر را اضافه کنید.( آن را به گروه StudentResults خود اضافه کنید)

دقت داشته باشید که این متد privat (خصوصی) می باشد. درست مانند متغیرهای فیلد، خصوصی ساختن یک متد به این معناست که آن متد تنها در داخل این گروه قابل مشاهده می باشد و می تواند به وسیله ی گروه ExamDetails مشاهده شود.

برای به دست آوردن درجه، متد دیگری را در داخل گروه StudentResults تنظیم خواهیم کرد و از آن برای به دست آوردن درجه استفاده می کنیم. متد زیر را درست در بالای متد getGrade اضافه کنید.(گرچه اگر تمایل داشته باشید، می توانید آن را در زیر این متد نیز اضافه کنید: در جاوا هیچ فرقی نمی کند)

1مثال:
1String examGrade(int aScore) {‎
1        ‎ ‎
1        Exam_Grade = this.getGrade( aScore) ; ‎
1        return Exam_Grade; ‎
1        ‎}‎

این متدی است که به جای متد getGrade از گروه ExamDetails فرا خوانی می کنیم. نام این متد جدید examGrade می باشد و مجددا آن را به نمره ی دانش آموز انتقال می دهیم. به این خط دقت کنید.

مثال:

1Exam_Grade = this.getGrade( aScore );‎

در اینجا متد getGrade فراخوانده می شود و آن را به نمره ای انتقال می دهیم که توزیع شده بود. فراخوانی یک متد از متد دیگر یک تمرین استاندارد می باشد، و به شما اجازه می دهد تا کد خود را ساده کنید. جایگزین آن داشتن متدهای خیلی بلند می باشد که خواندن آنها سخت است.

مورد دیگری که در خط بالا باید به آن توجه داشت لغت کلیدی this در جاوا می باشد. لغت کلیدی this به معنای "this class" می باشد و نه گروه دیگری که ممکن است دارای متد هم نام باشد. این امر از هر گونه سردرگمی جلوگیری می کند. این مسئله زیاد ضروری نیست و می توانید آن را نادیده بگیرید. فراخوانی متد هنوز بدون آن کار می کند.

مثال:

1Exam_Grade = getGrade( aScore );‎

گرچه نتیجه ی نهایی هنوز همان است: ما در حال ذخیره سازی چیزی در فیلد متغیر Exam_Grade می باشیم و آن عبارت خواهد بود از عبارت "Grade is" به علاوه ی یک حرف مربوط به درجه.

برای امتحان کردن متدهای جدید، خط زیر را به گروه ExamDetails اضافه کنید.

مثال:

1String grade = aStudent.examGrade(30);‎

این خط مقداری برابر 30 را به متد examGrade می دهد. سپس در فیلد متغیر Exam_Grade مقداری گزارش می شود و در متغیری به نام grade ذخیره می شود.

با یک print line، گروه ExamDetails باید به شکل زیر باشد.

برنامه ی خود را اجرا کنید تا پنجره ی Output را مشاهده کنید.

اگر برنامه ی شما به درستی کار نمی کند، در اینجا کد کامل مربوط به گروه StudentResults را مشاهده می کنید.

در بخش بعد در مورد Inheritance فرا خواهید گرفت.

آموزش جاوا ادامه دارد

آموزش جاوا-آموزش کلاس های Java

۷۱ بازديد

سلام با آموزش جاوا JAVA در خدمت شما عزیزان هستم

در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با رشته ها در جاوا آشنا شدیم

حال با ادامه آموزش جاوا همراه باشید:

لینک قسمت اول آموزش جاوا

آموزش کلاس های جاوا

در این بخش چگونگی ایجاد آبجکت ها را فرا خواهید گرفت. یادگیری کلاس ها را تقریبا در یخش قبل آغاز کرده اید. اکنون به جزئیات بیشتری می پردازیم. در برخی موارد در مورد تفاوت بین یک آبجکت و کلاس گیج می شوید، گرچه وقتی درمورد یک کلاس صحبت می کنیم در واقع در مورد خود کد صحبت می کنیم، کدی که کاری انجام نمی دهد. وقتی کد را برای انجام کار فعال می سازید، این کد یک آبجکت می باشد.

وقتی کلاسی ایجاد می کنید، یک کد برای انجام یک کار خاص می نویسید. این کار ممکن است مربوط به یک کارمند باشد، اما فروش شرکت نیز در همان زمان شکل نمی گیرد. برای آمار فروش باید یک کلاس مجزا بنویسید. به این روش می توانید از کلاس کارمند (employee) در یک پروژه ی دیگر استفاده کنید. آمار فروش داده ی برکنار شده (redundant data) می باشند.

 

وقتی که سعی دارید نظریه های خود را در کلاس ها به کار برید، باید مسئله ی برکناری را در ذهن داشته باشید و از خود بپرسید: " آیا کدی در این کلاس وجود دارد که نیازی به آن در اینجا نیست؟"

در مورد مثال مربوط به این بخش، کلاسی خواهیم نوشت که شامل چند تمرین خواهد بود. روی وب سایت ما (www.tahlildadeh.com) چند امتحان وجود دارد که می توانید به رایگان به آنها دسترسی داشته باشید. در یک زمان سوال داده می شود و هر امتحان دارای 50 سوال می باشد. تمرین های مختلفی وجود دارند که می توانید به آنها دسترسی داشته باشید. در مورد مثال ما، سوالات را ساده می کنیم. نام شخصی که امتحان می گیرد، ایمکه کدام امتحان گرفته شده، نمره از 50 و یک درجه را ثبت می کنیم.

اجازه بدهید که یکی از موارد را شروع کنیم.

برای این مسئله یک پروژه ی جدید جاوا ایجاد کنید. پوشه ی exams را فرا بخوانید و سپس نام متود را از Main به ExamDetails تغییر دهید. سپس باید کد زیر را داشته باشید.

کلاس دومی ایجاد خواهیم کرد تا داده ی امتحان را بررسی کنیم. بنابراین در NetBeans از نوار منو روی File کلیک کنید. از منوی File گزینه ی New File را انتخاب کنید. Java را در لیست Categories و Java Class را در لیست File Types مشخص کنید. سپس روی Finish کلیک کنید. NetBeans در پروژه ی شما یک کلاس دوم ایجاد خواهد کرد. شما می توانید کامنت های پیش فرض را حذف کنید.

در بخش بعد، به متغیرهای Field خواهیم پرداخت.

آموزش جاوا

آموزش متغیرهای Field در جاوا

در بخش قبل در مورد متغیرهای داخل متدها صحبت کردیم. متغیرهایی که داخل متدها تنظیم می کنید، تنها در دسترس همان متدها می باشند و در متدهای دیگر قرار نمی گیرند، گفته می شود که دارای دامنه ی داخلی می باشند.

به هرحال می توانید متغیرهایی را در خارج از متدها تنظیم کنید که همه ی متدهای موجود در گروه شما می توانند ببینند. این متغیرها، متغیرهای Field (یا متغیرهای Instance) نامیده می شوند. می توانید آنها را دقیقا به روش دیگر متغیرها تنظیم کنید. چهار فیلد زیر را گزوه جدید StudentResult اضافه کنید.

ما چهار رشته متغیر (چهار رشته فیلد) تنظیم می کنیم. همانطور که نام فیلدها نشان می دهد، رشته حاوی نام یک شخص، نام یک امتحان، یک نمره و یک درجه می شود. این چهار فیلد در دسترس همه ی متدهایی که در این گروه نوشتیم، قرار می گیرند و برای متدها داخلی نیستند. گفته می شود که دارای دامنه ی جهانی می باشند.

برای اینکه چگونگی جهانی بودن آنها را مشاهده کنیم، به گروه ExamDetails خود بازگردید، گروهی با متد اصلی (main). برای ایجاد یک آبجکت جدید از گروه StudentResults ، کد زیر را اضافه کنید.

این همان کاری می باشد که در بخش قبل انجام دادهیم – استفاده از یک لغت کلیدی جدید برای ایجاد یک آبجکت جدید. نام آبجکت aStudent خواهد بود و از نوع StudentResults می باشد که گروه ماست.

در خط بعدی نام متغیر (aStudent) را که با یک نقطه (dot) دنبال می شود، تایپ کنید. به محض اینکه نقطه را تایپ کردید، NetBeans لیستی از متدها و پراپرتی های موجود در آبجکت شما را ارائه می دهد.

چهار فیلدی که تنظیم کردیم، روی لیست قرار دارند. اینها متد نیستند، بلکه چیزی به نام پراپرتی می باشند. این واقعیت که آنها روی لیست هستند، به این معناست که دارای دامنه ی جهانی می باشند. اگر دارای دامنه ی داخلی بودند، روی لیست قرار نمی گرفتند.

آموزش جاوا

شما می توانید مقادیری را برای پراپرتی ها تنظیم کنید. این مورد را امتحان کنید: کد مشخص شده ی زیر را به متد اصلی خود اضافه کنید.

ما فیلد Exam_Name را از لیست انتخاب کرده ایم و به آن مقدار "VB NET" اختصاص داده ایم. سپس خط بعدی مقدار Exam_Name را از آبجکت aStudent می گیرد. نتیجه در متغیری به نام امتحان (exam) ذخیره شده و سپس چاپ می شود. وقتی برنامه را اجرا می کنید، خروجی رشته ی "VB Net" می باشد.

بنابراین چهار متغیری که تنظیم کرده ایم، در هر دو گروه در دسترس می باشند.

به هرحال جهانی ساختن متغیرهای فیلد، مانند این مورد، فکر خوبی نیست. شما تمایل به از دست دادن پیگیری مقادیری را دارید که در این متغیرها می باشند، بنابراین اشکال زدایی کد شما بسیار سخت تر می شود. محدود کردن دامنه ی متغیرهای فیلد، برنامه نویسی خوبی تلقی می شود.

برای اینکه یک متغیر فیلد تنها در دسترس یک گروه خاص باشد، درست قبل از اعلام فیلد لغت کلیدی private را وارد کنید. کد را در گروه StudentResults مانند زیر تغییر دهید.

 

اکنون تنها کد موجود در گروه StudentResults می تواند این متغیرها را ببیند. برای بررسی به عقب، به متد اصلی خود بازگردید. باید چند اخطار و خطوط قرمز مشاهده کنید.

سه خط را در پایین حذف کنید. aStudent را و سپس یک نقطه تایپ کنید تا لیست NetBeans را مشاهده کنید.

همانطور که مشاهده می کنید، اکنون چهار متغیر فیلد محو شده اند. علت حذف آنها این است که دیگر دامنه ی جهانی ندارند و بنابراین از گروه ExamDetails قابل مشاهده نیستند.

در بخش بعد در مورد چیزی به نام class constructor خواهید آموخت.

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

از آنجایی که متغیرهای فیلد را خصوصی ساخته ایم، نیاز به راه دیگری برای اختصاص دادن مقادیر به آنها داریم. یک راه برای انجام آن استفاده از constructor (سازنده) می باشد. این دروافقع متودی است که می توانید برای تنظیم مقادیر اولیه ی متغیرهای فیلد استفاده کنید. وفتی آبجکت ایجاد می شود، ابتدا جاوا constructor را فرا می خواند. سپس هر کدی که در این سازنده دارید، اجرا می شود. نیازی به هیچگونه فراخوانی خاصی به یک متود constructor ندارید – در هنگام ایجاد یک آبجکت این اتفاق به طور خودکار انجام می شود.

متودهای Constructor هم نام گروه می باشند. Constructor زیر را به گروه StudentResults اضافه کنید.

بنابراین نام این Constructor (سازنده) نیز StudentResults می باشد. این دقیقا همان نام گروه می باشد. برخلاف متودهای عادی، گروه constructor ها به نوع بازگشتی مانند int یا double و کلا هیچ گونه گزارشی نیاز ندارد. به هرحال شما می توانید مقادیر را به constructor های خود انتقال دهید. اگر بخواهیم مقادیر را به متغیرهای فیلد انتقال دهیم، می توانیم مانند زیر عمل کنیم.

در اینجا دو متغیر String به پرانتزهای constructor اضافه کرده ایم. در داخل پرانتزها این مقادیر را به فیلدهای Full_Name و Exam_Gradeاختصاص داده ایم. وقتی که یک آبجکت جدید ایجاد می کنید، نیاز به دو رشته بین پرانتزهای نام گروه دارید.

آموزش جاوا

مثال:

1StudentResults aStudent = new StudentResults( "Bill Gates", "A" );‎

وقتی آبجکت ایجاد می شود، مقادیر "Bill Gates" و "A"در constructor بررسی می شوند.

به هرحال تنظیم چند مقدار پیش فرض برای متغیرهای فیلد فکر خوبی است. این مقادیر در هنگام ایجاد آبجکت، اختصاص داده می شوند. کد زیر را به constructor خود اضافه کنید.

اکنون هر وقت یک آبجکت StudentResults جدید ایجاد می شود، هر چهار متغیر فیلد ما دارای مقدار پیش فرض می باشند. دقت کنید که اکنون هیچ چیز بین پرانتزهای گروه constructor وجود ندارد.

در بخش بعد به دسترسی به گروه متغیرها خواهیم پرداخت.

آموزش طراحی سایت- ایجاد Spiner و صفحه بندی در بوت استرپ 4

۷۱ بازديد

 

 

سلام با آموزش Bootstrap 4 در خدمت شما هستیم در قسمت قبل با مفاهیم زیر آشنا شدیم

  • آموزش کار با نشان برجسته Badges در Bootstrap 4
  • آموزش نمایش متن در Progress Bar بوت استرپ 4

حال با ادامه آموزش بوت استرپ 4 از دوره آموزش طراحی سایت همراه باشید:

آموزش ایجاد چرخنده Spiner در Bootstrap 4

برای ایجاد یک شکلک چرخنده (Spiner) یا آیکون لود (loader) در بوت استرپ 4، از یک المنت با کلاس spinner-border، استفاده کنید.

مثال: در کد مثال زیر، به وسیله یک تگ

با کلاس .spinner-boarder، یک چرخنده در حال لود ایجاد کرده ایم:

مثال 1

1

نکته :

رنگ پیش فرض چرخنده (Spiner) در بوت استرپ 4، مشکی (Black) است.

آموزش ساخت چرخنده Spiner رنگی در بوت استرپ 4:

با استفاده از کلاس های رنگی متنی ویژه بوت استرپ 4 (سری- text)، همانند کد مثال عملی زیر، می توانید چرخنده Spiner با رنگ های مختلف و مفهومی ایجاد کنید :

1مثال 2
1
1
1
1
1
1
1
1
1

آموزش ساخت چرخنده های بزرگ شونده Growing Spinner:

اگر از کلاس .spinner-grow به جای .spinner-border استفاده کنید، چرخنده یا Spiner ایجاد شده، به جای چرخیدن، از سایز کوچک شروع شده و بزرگ می شود. در کد مثال عملی زیر، نحوه استفاده از این کلاس و خروجی آن را نشان داده ایم:

مثال 3

1
1
1
1
1
1
1
1
1

آموزش ایجاد چرخنده Spiner با سایز کوچک در Bootstrap 4:

با استفاده از کلاس های .spinner-borde-sm یا .spinner-grow-sm می توانید چرخنده هایی با سایز کوچک ایجاد نمایید.
در کد مثال عملی زیر، نحوه استفاده از کلاس های فوق و خروجی آن را در عمل نشان داده ایم:

1مثال 4
1div class="spinner-border spinner-border-sm">
1

سایز پیش فرض Spinner یا چرخنده در بوت استرپ 4، بزرگ یا lg است.

آموزش ساخت دکمه با چرخنده های متحرک در بوت استرپ 4:

می توانید یک المنت با کلاس .spinner-border یا .spinner-grow را درون یک دکمه یا button قرار داده و آن را به یک دکمه لود تبدیل کنید. در این حالت می توانید برای دکمه متن نیز تعیین کرده یا خالی بگذارید.

مثال: در کد مثال عملی زیر، نحوه ایجاد انواع دکمه با چرخنده های متحرک در Bootstrap 4 را نشان داده ایم:

مثال 5

1
1  
1
1 
1
1  
1  Loading..
1
1 
1
1  
1  Loading..
1
1 
1
1  
1  Loading..
1

آموزش صفحه بندی Pagination در Bootstrap 4

اگر سایتی دارید که دارای تعدادی زیادی صفحه است، حتما نیاز پیدا خواهید کرد صفحه بندی یا Pagination ی همانند زیر را برای پیمایش صفحات سایت ایجاد نمایید :

برای ایجاد یک صفحه بندی Pagination ساده در صفحات وب سایت تان با ستتفاده از بوت استرپ 4، ابتدا یک تگ

آموزش فعال کردن شماره صفحه جاری (Active State) در Pagination:

در صورت اعمال کلاس .active به یکی از آیتم های

  • لیست
      در صفحه بندی Bootstrap 4، شماره آن صفحه (که صفحه جاری خواهد بود) به صورت رنگی و توپر نشان داده می شود :

      مثال : در کد مثال زیر، صفحه 2 را با استفاده از کلاس .active، به عنوان صفحه جاری نشان داده ایم :

      مثال 2

      1
      1  
    • Previous
    • 1  
    • 1
    • 1  
    • 2
    • 1  
    • 3
    • 1  
    • Next
    • 1

    آموزش غیر فعال کردن لینک یک صفحه در صفحه بندی Pagination:

    در صورت اعمال کلاس .disabled به لینک یک صفحه در صفحه بندی Bootstrap 4، لینک آن صفحه به صورت غیر فعال نشان داده شده و کاربر نمی تواند بر رویش کلیک نماید :

    مثال : در کد مثال زیر، با استفاده از کلاس .disabled، لینک صفحه قبل (Previous) را غیر فعال کرده ایم:

    مثال 3

    1
    1  
  • Previous
  • 1  
  • 1
  • 1  
  • 2
  • 1  
  • 3
  • 1  
  • Next
  • 1

    آموزش تعیین سایز دکمه های صفحه بندی Pagination:

    اندازه دکمه ها که در مثال های صفحه بندی Pagination Bootstrap 4، تاکنون در این درس مشاهده کردید، سایز متوسط یا پیش فرض بوت استرپ 4 است.

    می توانید سایز بزرگ تر یا کوچک تر از حالت پیش فرض نیز برای دکمه ها تعیین کنید :

    با اعمال کلاس .pagination-lg به تگ مادر صفحه بندی (

      )، دکمه ها به صورت بزرگ تر و با کلاس .pagination-sm، دکمه های به صورت کوچکتر نشان داده خواهند شد :

      مثال 4

      1

      Large:

      1 
      1   
    • Previous
    • 1   
    • 1
    • 1   
    • 2
    • 1   
    • 3
    • 1   
    • Next
    • 1 
    1 
    1 

    Default:

    1 
    1   
  • Previous
  • 1   
  • 1
  • 1   
  • 2
  • 1   
  • 3
  • 1   
  • Next
  • 1 
    1 
    1 

    Small:

    1 
    1   
  • Previous
  • 1   
  • 1
  • 1   
  • 2
  • 1   
  • 3
  • 1   
  • Next
  • 1 

    آموزش تعیین جهت قرارگیری صفحه بندی Pagination Alignment:

    به صورت پیش فرض در بوت استرپ 4، دکمه های صفحه بندی Pagination از سمت چپ تراز می شوند اما از کلاس های ویژه utility در Bootstrap 4 برای وسط چین یا راست چین کردن آن ها می توانید استفاده کنید :

    مثال: در کد مثال عملی زیر، از کلاس ویژه کاربردی بوت استرپ 4 (utility Classess) استفاده کرده و جهت چینش در منوی صفحه بندی دوم و سوم را به دلخواه تغییر داده ایم :

    1مثال 5
    1
    1
    1  
  • ...
  • 1
    1 
    1
    1
    1  
  • ...
  • 1
    1 
    1
    1
    1  
  • ...
  • 1

    راهنمایی :

    در بخش آموزش کلاس های کاربردی بوت استرپ 4 به آموزش کار با Bootstrap Utility Class پرداخته شده است.

    آموزش ایجاد صفحه بندی خطی Breadcrumb Pagination:

    مدل دیگه ای از صفحه بندی و ایجاد منوی صفحات در Bootstrap 4، منوی خطی یا نوار پیمایش افقی (به انگلیسی Breadcrumb) است. در این مدل منو، کل مسیر طی شد تا صفحه جاری نمایش داده می شود :

    مثال : برای ایجاد یک منوی خطی Breadcrumb در بوت استرپ 4، بایستی کلاس .breadcrumb را به تگ

      بدهید، پس برای هریک از آیتم های
    • لیست
  • آموزش طراحی سایت-کار با نشان برجسته و نوار پیشرفت در بوت استرپ

    ۷۵ بازديد


    سلام با آموزش Bootstrap 4 در خدمت شما هستیم در قسمت قبل با کار با لیست گروهی List Group در Bootstrap4 آشنا شدیم.

    حال با ادامه آموزش بوت استرپ 4 از دوره آموزش طراحی سایت همراه باشید:

    آموزش کار با نشان برجسته Badges در Bootstrap 4

    از امکان برجسته یا به انگلیسی Badges در بوت استرپ 4، می توان برای اضافه کردن اطلاعات بیشتر به یک محتوا استفاده کرد.

    برای مثال می توانید از یک عنصر با کلاس .badges به همراه یک عنصر دیگر که دارای کلاس های رنگی متنی (مثلا کلاس .badges-secondary) است مثل یک المنت برای ایجاد یک نشان مستطیل رنگی، استفاده کنید.

    توجه داشته باشید که چنانچه عنصر badge درون یک عنصر مادر یا parent باشد، اندازه خود را بر حسب بزرگی یا کوچکی آن ، تنظیم می کند.

    مثال عملی: در کد مثال عملی زیر، نحوه ایجاد یک عنصر badge را درون تگ های عنوان

    تا

    نشان داده ایم:

    مثال 1

    1

    Example heading New

    1

    Example heading New

    1

    Example heading New

    1

    Example heading New

    1
    Example heading New
    1
    Example heading New

    آموزش استفاده از کلاس های متنی رنگی برای badge:

    می توانید از کلاس های متنی رنگی پیش فرض بوت استرپ 4 ، که در بخش های قبلی آن ها را آموزش دادیم، برای تعیین رنگ عنصر badge استفاده نمایید.

    مثال عملی : در کد مثال عملی زیر، انواع badge های رنگی را به وسیله کلاس های متنی رنگی Bootstrap 4 استفاده کرده ایم:

     

    مثال 2

    1Primary
    1Secondary
    1Success
    1Danger
    1Warning
    1Info
    1Light
    1Dark

    آموزش طراحی سایت ساخت نشانه های گرد (Pill Badges) در بوت استرپ 4 :

    از کلاس .badges-pill می توانید برای گرد کردن گوشه های عنصر badge در Bootstrap 4 استفاده کنید.

    مثال: در کد مثال عملی زیر، نحوه استفاده از کلاس .badge-pill و ساخت Pill Badge را نشان داده ایم :

    مثال 3

    1Primary
    1Secondary
    1Success
    1Danger
    1Warning
    1Info
    1Light
    1Dark

    آموزش استفاده از Badge درون یک عنصر دیگر :

    در کد مثال عملی زیر، از یک عنصر Badge در یک دکمه استفاده کرده ایم:

    مثال 4

    1

    Messages 4

    آموزش کار با نوار پیشرفت Progress Bar در Bootstrap 4

    از نوار پیشرفت یا Progress Bar می توان برای نشان دادن میزان پیشرفت یک عملیات یا حجم انجام شده یک پروسه توسط کاربر، استفاده کرد.

    برای ایجاد یک نوار پیشرفت یا Progress Bar در Bootstrap 4، کلاس .progress را به عنصر مادر یا Container و کلاس .progress-bar را به عنصر یا عناصر فرزند آن، اعمال کنید.

    همچنین از خاصیت width نوار پیشرفت، از که 0 تا 100 درصد تعیین می شود، می توانید برای نمایش میزان کار، استفاده کنید.

    نکته :

    توجه داشته باشید که خاصیت width در نوار پیشرفت Bootstrap 4 را هم می توانید به صورت ثابت یا دستی و هم به صورت خودکار و لحظه ای تنظیم نمایید.

    مثال: در کد مثال عملی زیر، یک نوار پیشرفت یا Progress Bar ساده با حجم 70 درصد پیشرفت را در بوت استرپ 4 ، ایجاد کرده ایم:

    مثال 1

    1
    1  
    1

    آموزش تنظیم ارتفاع Progress Bar در Bootstrap 4:

    ارتفاع نوار پیشرفت یا Progress Bar به صورت پیش فرض در بوت استرپ 4 ، مقدار 16 پیکسل است. می توانید از خاصیت ارتفاع CSS height برای تغییر آن به میزان دلخواه استفاده کنید. فقط توجه داشته باشید که مقدار خاصیت ارتفاع (height) در عنصر دربرگیرنده یا Container و عنصر یا عناصر فرزند، بایستی به یک اندازه باشد.

    مثال عملی: در کد مثال عملی زیر، یک نوار پیشرفت Progress Bar با ارتفاع 20 پیکسل را ایجاد کرده ایم:

    مثال 2

    1
    1
    1

    آموزش نمایش متن در Progress Bar بوت استرپ 4 :

    می توانید با قرار دادن متن درون عنصر فرزند آیتم نوار پیشرفت در Bootstrap 4 میزان پیشرفت کار را به صورت متنی نیز نشان دهید.

    دقت نمایید که این متن را می توانید با استفاده از جاوا اسکریپت یا jQuery به صورت داینامیک نیز تغییر دهید.

    مثال: در کد مثال عملی زیر، با قرار دادن عدد 70% درون تگ

    عنصر فرزند نوار پیشرفت، میزان حجم جلورفت کار را به صورت متنی نیز نشان داده ایم:

    مثال 3

    1
    1  
    70%
    1

    آموزش ایجاد نوار پیشرفت رنگی در Bootstrap 4:

    در Bootstrap 4 به صورت پیش فرض رنگ نوار پیشرفت آبی (کلاس primary) است. می توانید از کلاس های متنی رنگی بوت استرپ 4 ، که در بخش های گذشته آموزش دادیم، برای تعیین رنگ دلخواه Progress Bar استفاده کنید.

    مثال: در کد مثال عملی زیر، با استفاده از کلاس های متنی رنگی Bootstrap 4 رنگ پس زمینه (برای مثال .bg-success برای رنگ سبز)، نوار پیمایش ها را تغییر داده ایم:

    مثال 4

    1
    1
    1  
    1
    1 
    1
    1
    1  
    1
    1 
    1
    1
    1  
    1
    1 
    1
    1
    1   
    1
    1 
    1
    1
    1  
    1
    1 
    1
    1
    1  
    1
    1 
    1
    1
    1  
    1
    1 
    1
    1
    1  
    1
    1 
    1
    1
    1  
    1

    ایجاد نوار پیشرفت راه راه Striped Progress Bar در بوت استرپ 4 :

    از کلاس ویژه .progress-bar-striped می توانید جهت راه راه کردن بخش رنگی نوار پیشرفت در Bootstrap 4 استفاده کنید:

    مثال 5

    1
    1  
    1

    نکته :

    کلاس .progress-bar-striped بایستی به عنصر یا عناصر فرزند نوار پیشرفت بوت استرپ 4 ، اضافه شوند نه عنصر مادر یا Container.

    آموزش ایجاد نوار پیشرفت متحرک Animated Progress Bar:

    در صورت اضافه کردن کلاس .progress-bar-animated به عنصر سازنده نوار پیشرفت و استفاده همزمان از کلاس .progress-bar-strped، خط های راه راه قسمت پر شده در نوار پیشرفت، حالت متحرک و پویا پیدا می کنند. برای درک بهتر مثال عملی زیر را مشاهده کنید :

    مثال 6

    1

    آموزش ایجاد نوار پیمایش چندگانه Multiple Progress Bar:

    می توانید با قرار دادن چندین المنت با کلاس .progress-bar درون یک المنت مادر با کلاس .progress که هر کدام از عناصر فرزند درصدی بین 0 تا 100 دارند، یک نوار پیمایش چندگانه و با رنگ های مختلف (با استفاده از کلاس های رنگی متنی ویژه Bootstrap 4)، همانند عکس زیر ایجاد نمایید :

    مثال 7

    1
    1  
    1    Free Space
    1  
    1  
    1    Warning
    1  
    1  
    1    Danger
    1  
    1

     

    برچسب ها: آموزش طراحی سایت, آموزش بوت استرپ, فیلم آموزش طراحی سایت, طراحی سایت, آموزش برنامه نویسی,

    آموزش پایتون از صفر تا 100

    ۷۵ بازديد

    سلام دوستان ...در قسمت قبل آموزش پایتون مفاهیم زیر را یاد دادیم

    • معرفی زبان برنامه نویسی پایتون
    • فراخوانی مفسر در زبان برنامه نویسی پایتون
    • حالت تعاملی در Python
    • آموزش استفاده از رمزنگاری متن کد در مفسر پایتون
    • استفاده از پایتون به عنوان ماشین حساب
    • رشته ها در برنامه نویسی python
    • لیست ها در برنامه نویسی python

    حال با ادامه آموزش پایتون همراه ما باشید.

    مراحل اولیه برای برنامه نویسی پایتون Python

    1البته که می توان از پایتون برای کارهای پیچیده تر از دو به اضافه دو استفاده کرد. برای مثال، می توان یک زیر دنباله اولیه سری فیبوناتچی را به صورت زیر نوشت:
    1>>> # Fibonacci series:
    1... # the sum of two elements defines the next
    1... a, b = 0, 1
    1>>> while a < 10:
    1...     print(a)
    1...     a, b = b, a+b
    1...
    10
    11
    11
    12
    13
    15
    18

    این مثال چندین ویژگی جدید را معرفی می کند

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

    2. حقله while تا زمانی که شرط (در اینجا a < 10) صحیح (true) باشد اجرا می شود. در پایتون همانند C، هر مقدار صحیح(integer) غیر صفر صحیح (true) است. صفر غلط(false) است . شرط نیز ممکن است مقدار رشته یا لیست باشد؛ در واقع هر داده ترتیبی می تواند باشد. هر چیزی با طول غیر صفر صحیح و دنباله های خالی غلط هستند. تست استفاده شده در این مثال یک مقایسه ساده است. عملگرهای مقایسه ای استاندارد مشابه C نوشته می شوند. < کمتر از ، > بزرگتر از ، == تساوی ، <= کمتر مساوی ، >= بزرگتر مساوی ، =! نا مساوی.

    3. بدنه حلقه فرورفتگی دارد. فرو رفتگی روش پایتون برای دسته بندی عبارات است. در prompt تعاملی، برای هر خط فرو رفته باید یک tab یا چندین فاصله تایپ کنید. در عمل به وسیله ویرایشگر متن، ورودی های پیچیده تری را برای پایتون آماده می کنید. همه ویرایشگر های متن محبوب دارای تسهیلات ایجاد فرورفتگی خودکار هستند. زمانی که یک عبارت ترکیبی به صورت تعاملی وارد شود، یک خط خالی باید پس آن وجود داشته باشد که نشان دهنده تکمیل آن باشد (زیرا پارسر(parser)نمیتواند حدس بزند که شما چه زمانی خط آخر را نوشته اید). توجه داشته باشید که همه خطوط درون یک بلاک باید به یک اندازه فرو رفته باشند.

    4. تابع print() مقدار آرگومان هایی که به آن داده شده را چاپ می کند. عملکرد این تابع متفاوت است از نوشتن ساده عبارات مورد نظر(مانند نوشتن در مثال ماشین حساب). دلیل این تفاوت نحوه مدیریت چندین آرگومان، مقادیر اعشاری و رشته ها توسط این تابع است. رشته ها بدون علامت نقل قول چاپ می شوند و در بین موارد فاصله قرار می گیرد ، بنابراین می توانید به همه چیز به زیبایی شکل دهید. مانند این:

    1>>> i = 256*256
    1>>> print('The value of i is', i)
    1The value of i is 65536

    از آرگومان کلمه کلیدی end برای جلوگیری از اعمال خط جدید پس از خروجی می توان استفاده کرد و یا می توان خروجی را با یک رشته متفاوت اتمام کرد.

    1>>> a, b = 0, 1
    1>>> while a < 1000:
    1...     print(a, end=',')
    1...     a, b = b, a+b
    1...
    10,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

    توجه !

    1. از آنجایی که ** اولویت بالاتری نسبت به – دارد، -3**2 به صورت -(3**2) تفسیر می شود ، پس بنابراین نتیجه -9 می شود. برای جلوگیری از این اتفاق و رسیدن به نتیجه 9، می توان از (-3)**2 استفاده کرد.

    2. بر خلاف سایر زبان ها، کاراکتر های خاص مانند n با هر دوی نقل قول تکی ('...') و دوتایی ("...") معنای یکسان دارند. تنها تفاوت در این دو این است که در نقل قول تکی نیازی به گریز از " نیست( اما باید از ’ گریز کرد) و بالعکس.

    ابزارهای کنترل در زبان پایتون Python

    آموزش عبارات if در زبان برنامه نویسی Python

    شاید شناخته شده ترین نوع عبارات، عبارت if باشد. برای مثال:

    1>>> x = int(input("Please enter an integer: "))
    1Please enter an integer: 42
    1>>> if x < 0:
    1...     x = 0
    1...     print('Negative changed to zero')
    1... elif x == 0:
    1...     print('Zero')
    1... elif x == 1:
    1...     print('Single')
    1... else:
    1...     print('More')
    1...

    میتوان به تعداد دلخواه (هیچ یا بیشتر ) بخش elif قرار داد، و بخش else اختیاری است. کلمه کلیدی elif خلاصه شده else if است، و بهتر است از اعمال فرورفتگی اضافی خودداری شود. یک دنباله if….elif….elif…. جایگزینی برای عبارات switch یا case موجود در سایر زبان ها است.

    آموزش عبارات for در زبان برنامه نویسی Python

    عبارات for در پایتون با آنچه که در C یا پاسکال استفاده می کردید، ممکن است کمی متفاوت باشد. به جای روند تکرار همیشگی که روی دنباله ای از اعداد حسابی که به صورت افزایشی تغییر میکند (مانند پاسکال)، یا به جای دادن این امکان به کاربر که بتواند گام تکرار و شرط پایان حلقه را مشخص کند (مانند C)، عبارت for در پایتون روی موارد هر نوع دنباله ای ( یک رشته یا یک لیست)، بر اساس همان ترتیبی که در دنباله قرار دارند، تکرار می شوند. برای مثال:

    1>>> # Measure some strings:
    1... words = ['cat', 'window', 'defenestrate']
    1>>> for w in words:
    1...     print(w, len(w))
    1...
    1cat 3
    1window 6
    1defenestrate 12

    کدی که یک مجموعه را تغییر می دهد و همزمان روی عناصر همان مجموعه تکرار می کند (درون حلقه for)، می تواند برای اجرای صحیح چالش بر انگیز باشد. به جای آن، معمولا سر راست تر است که روی یک کپی از مجموعه حلقه بزنید یا یک مجموعه جدید ایجاد کنید.

    1# Strategy:  Iterate over a copy
    1for user, status in users.copy().items():
    1    if status == 'inactive':
    1        del users[user]
    1 
    1# Strategy:  Create a new collection
    1active_users = {}
    1for user, status in users.items():
    1    if status == 'active':
    1        active_users[user] = status

    آموزش تابع range() در برنامه نویسی پایتون

    اگر احتیاج دارید که روی دنباله ای از اعداد در حلقه تکرار کنید، تابع داخلی range() به کار می آید. این تابع توالی از اعداد حسابی تولید می کند.

    1>>> for i in range(5):
    1...     print(i)
    1...
    10
    11
    12
    13
    14

    نقطه پایان داده شده هیچگاه جزء ای از دنباله تولید شده نیست. Range(10) ده مقدار تولید می کند که اندیس های مجاز برای عناصر یک دنباله به طول ده هستند. امکان دارد که بخواهیم بازه از عددی دیگر شروع شود، و یا یک واحد افزایشی متفاوت مشخص کنیم (حتی منفی، گاهی به آن گام می گویند).

    1range(5, 10)
    1   5, 6, 7, 8, 9
    1 
    1range(0, 10, 3)
    1   0, 3, 6, 9
    1 
    1range(-10, -100, -30)
    1  -10, -40, -70

    برای تکرار روی اندیس های یک دنباله، می توانید range() و len() را مانند زیر ترکیب کنید:

    1>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
    1>>> for i in range(len(a)):
    1...     print(i, a[i])
    1...
    10 Mary
    11 had
    12 a
    13 little
    14 lamb

    اگر چه در بیشتر این موراد، راحت تر است از تابع enumerate() استفاده شود. لینک Looping Techniques را ببینید. اگر فقط یک range را چاپ کنید، اتفاق عجیبی می افتد:

    1>>> print(range(10))
    1range(0, 10

    شی باز گردانده شده توسط تابع range() به طرق مختلف به صورت یک لیست رفتار می کند، در حالی که واقعا لیست نیست. شی ای است که عناصر پی در پی دنباله مورد نظر را در زمان تکرار در حلقه باز می گرداند. اما واقعا یک لیست نیست، بدین ترتیب در ذخیره فضا صرفه جویی می کند. می گوییم چنین شی ای قابل تکرار است، یعنی به عنوان هدف برای توابع و ساختار هایی که انتظار چیزی را دارند که بتوان از آن عناصر ترتیبی به دست آورد تا هنگامی که عناصر خاتمه یابند ، مناسب است. دیدیم که عبارت for دارای این چنین ساختاری است، درحالی که یک مثال از یک تابع که یک شی قابل تکرار را پذیرفته تابع sum() است:

    1>>> sum(range(4))  # 0 + 1 + 2 + 3
    16

    در ادامه با توابع بیشتری آشنا خواهیم شد که تکرار پذیر ها را به عنوان آرگومان دریافت می کنند و آنها را باز می گردانند. در انتها شاید کنجکاو باشید بدانید چگونه از یک range یک لیست بگیرید. و این راه حل است:

    1>>> list(range(4))
    1[0, 1, 2, 3]

    در بخش ساختار های داده، جزییات بیشتری درباره list() ارائه می دهیم.

    آموزش پایتون ادامه دارد

    آموزش پایتون

    ۶۹ بازديد

    پایتون یک زبان برنامه نویسی قوی و ساده برای یادگیری است. پایتون دارای ساختارهای داده سطح بالای کارآمد و یک راهکار ساده اما موثر برای برنامه نویسی شی گرا است. نحو ظریف پایتون و تایپ پویای آن، به همراه طبیعت مفسر گونه آن، پایتون را تبدیل به یک زبان ایده آل برای برنامه نویسی و توسعه سریع برنامه های کاربردی در بسیاری از حوزه ها و در اکثر پلتفورم ها کرده است. مفسر پایتون و کتابخانه استاندارد گسترده آن برای اکثر پلتفورم ها در وب سایت پایتون به آدرس https://www.python.org/ به صورت رایگان در دسترس است و امکان توزیع رایگان آن نیز ممکن است. مفسر پایتون با توابع جدید و به سادگی قابل توسعه است. در آموزش پایتون مفاهیم اولیه و ویژگی های زبان و سیستم پایتون به صورت غیر رسمی به خواننده معرفی می شود. داشتن یک مفسر پایتون برای تجربه های دم دستی به کار می آید، اما تمامی مثال ها کامل و موجود هستند، بنابراین این آموزش را به صورت آفلاین نیز می توانید بخوانید. برای توصیف اشیا و ماژول ها استاندارد، کتابخانه استاندارد پایتون را ببینید. مرجع زبان پایتون تعاریف رسمی تری از زبان ارائه می کند. همچنین کتاب های متعددی که پایتون را به طور عمیق پوشش می دهند وجود دارد. این آموزش سعی در کامل بودن و پوشش تمامی ویژگی ها، یا حتی ویژگی های معمول و پر استفاده پایتون را ندارد. در عوض، بسیاری از ویژگی های پر ارزش زبان پایتون را معرفی می کند و یک دید خوبی از ساختار زبان به شما خواهد داد. پس از خواندن این آموزش، شما قادر به خواندن و نوشتن ماژول ها و برنامه های پایتون خواهید بود. همچنین برای یادگیری بیشتر درباره ماژول های متنوع کتابخانه پایتون موجود در کتابخانه استاندارد پایتون آماده خواهید بود. نگاهی به فهرست خالی از لطف نخواهد بود.

     

    فراخوانی مفسر در زبان برنامه نویسی پایتون

    مفسر پایتون معمولا در /usr/local/bin/python3.8 نصب می شود (روی ماشین هایی که این مسیر در دسترس است). با قرار دادن /usr/local/bin در مسیر جستجو پوسته Unix و با نوشتن دستور python3.8 در پوسته می توانید شروع کنید

    از آنجایی که انتخاب محل قرار گیری مفسر یک گزینه نصب است، مکان های دیگر نیز ممکن است. این موضوع را با راهنمای محلی پایتون یا مدیر سیستم بررسی کنید. (به عنوان مثال /usr/local/python یک مکان متداول برای قرار گیری است).

    بر روی سیستم های ویندوز که پایتون را از آدرس Microsoft Store نصب کرده اید، دستور python3.8 در دسترس خواهد بود

    . اگر راه انداز py.exe را نصب کرده اید، می توانید از دستور py استفاده کنید.

     

    قسمت Excursus: Setting environment variables را ببینید تا سایر روش ها برای راه اندازی پایتون را ببینید.

    تایپ یک کاراکتر end-of-life (کنترلD در Unix و کنترلZ در ویندوز) در primary prompt باعث می شود تا مفسر با خروج حالت صفر خارج شود. اگر کار نکرد، می توانید با نوشتن دستور quit() از مفسر خارج شوید. ویژگی های تصحیح خطوط مفسر شامل تصحیح تعاملی، جایگزینی تاریخچه و تکمیل کد روی سیستم هایی که از کتابخانه GNU Readline پشتیبانی می کند، می باشد. شاید سریع ترین راه برای بررسی اینکه آیا تصحیح خطوط دستور پشتیبانی می شود، نوشتن کنترلP در اولین prompt پایتون که به آن دسترسی دارید باشد. اگر بوق بزند، شما تصحیح خطوط دستور دارید.

    اگر هیچ اتفاقی نیافتد، یا ^P تکرار شود، تصحیح خطوط دستور قابل استفاده نیست. شما تنها می توانید با استفاده از کلید backspace کاراکتر ها را از خط فعلی حذف کنید. مفسر چیزی شبیه به پوسته Unix عمل می کند: زمانی که با ورودی استاندارد متصل به دستگاه tty فراخوانی شود، دستورات را به صورت تعاملی می خواند و اجرا می کند. زمانی که با آرگومان نام فایل یا یک فایل به عنوان ورودی استاندارد فراخوانی شود، یک اسکریپت را از آن فایل می خواند و اجرا می کند.

    روش دوم برای شروع مفسر python -c command [arg] ... است، که دستور(ها) را، مشابه گزینه -c پوسته در command اجرا می کند. از آنجایی که عبارات پایتون اغلب شامل فاصله یا سایر کاراکتر هایی است که برای پوسته خاص هستند، معمولا توصیه می شود command را در کل با نقل قول تکی، نقل قول کنیم. برخی از ماژول های پایتون در قالب اسکریپت نیز مفید هستند. اینها می توانند با استفاده از python -m module [arg] ... فراخوانی شوند، که فایل کد را برای ماژول اجرا می کند، انگار که نام کامل آن را در خط دستور نوشته باشید. زمانی که از یک فایل اسکریپت استفاده می شود، گاهی اوقات مفید است که بتوانیم اسکریپت را اجرا و سپس حالات تعاملی را وارد کنیم. با پاس دادن -i قبل از اسکریپت می توان این کار را انجام داد. تمامی گزینه های خط دستور در Command line and environment توضیح داده شده است.

    آموزش پایتون - پاس دادن آرگومان در زبان برنامه نویسی پایتون

    هنگامی که برای مفسر شناخته شده باشید، نام اسکریپت و آرگومان های اضافی به لیستی از رشته ها(strings) تبدیل می شوند و به متغییر argv در ماژول sys تخصیص داده می شوند. با اجرای import sys می توانید به این لیست دسترسی پیدا کنید.

    طول این لیست حداقل یک است. زمانی که هیچ اسکریپت و آرگومانی داده نشده باشد، sys.argv[0] یک رشته خالی است. زمانی که نام اسکریپت به صورت '-' ( به معنی ورودی استاندارد) داده شده باشد، مقدار sys.argv[0] ، '-' می شود. زمانی که از دستور –c استفاده شود، مقدار sys.argv[0] ، '-c' می شود. زمانی که از ماژول –m استفاده شود، مقدار sys.argv[0] ، نام کامل ماژول قرار داده شده می شود. گزینه های بعد از دستور –c و ماژول –m توسط پردازش گزینه مفسر پایتون استفاده نمی شود اما برای اینکه توسط دستور یا ماژول مدیریت شود در sys.argv قرار میگیرد.

    حالت تعاملی در Python

    زمانی که دستورات از یک tty خوانده شده باشند، گفته می شود که مفسر در حالت تعاملی است. در این حالت، با primary prompt آماده دستور بعدی می شود، معمولا سه علامت بزرگتر از (>>>) . برای خطوط پشت سر هم توسط secondary prompt آماده می شود، به صورت پیش فرض سه نقطه (...). مفسر یک پیام خوش آمد گویی با بیان شماره نسخه خود و اعلان حق کپی برداری را قبل از چاپ اولین prompt چاپ می کند.

    1$ python3.8
    1Python 3.8 (default, Sep 16 2015, 09:25:04)
    1[GCC 4.8.2] on linux
    1Type "help", "copyright", "credits" or "license" for more information.
    1>>>

    خطوط پشت سر هم در زمان وارد کردن ساختار چند خطی مورد نیاز است. به عنوان مثال این قطعه کد if را ببینید:

    1>>>the_world_is_flat = True
    1>>>if the_world_is_flat:
    1...     print("Be careful not to fall off!")
    1...
    1Be careful not to fall off!

    آموزش استفاده از مفسر پایتون قسمت دوم

    آموزش استفاده از رمزنگاری متن کد در مفسر پایتون

    به طور پیش فرض با متن فایل های پایتون به صورت رمزنگاری شده در UTF-8 رفتار می شود. در این رمزنگاری، کاراکتر های بیشتر زبان های جهان می تواند به طور همزمان در ادبیات(literals) رشته، شناسه ها(identifiers) و توضیحات (comments) مورد استفاده قرار گیرد.

    اگرچه کتابخانه استاندارد تنها از کاراکترهای ASCII برای شناسه ها استفاده می کند، و این قراردادی است که هر کد قابل جا به جایی باید از آن پیروی کند. برای نمایش مناسب همه این کاراکتر ها، ویرایشگر شما باید تشخیص بدهد که فایل UTF-8 است، و از فونتی استفاده کند که از همه کاراکتر های استفاده شده در فایل پشتیبانی کند.

    برای اعلان یک رمزنگار غیر از رمزنگار پیش فرض، یک خط توضیحات خاص باید در اولین خط فایل اضافه شود. نحو آن به صورت زیر است:

    1# -*- coding: encoding -*-

    در این جا encoding یکی از codecs های معتبر است که توسط پایتون پشتیبانی می شود. برای مثال، برای اعلان اینکه از رمزنگار Windows-1252 استفاده می شود، اولین خط از فایل متن کد شما باید این باشد:

    1# -*- coding: cp1252 -*-

    یک استثنا از قاعده خط اول زمانی است که متن کد با UNIX “shebang” line شروع شود. در این شرایط، اعلان رمز نگاری باید در خط دوم فایل اضافه شود. برای مثال:

    1#!/usr/bin/env python3
    1# -*- coding: cp1252 -*-

    توجه !

    در Unix، مفسر پایتون 3.x به صورت پیش فرض با نام قابل اجرای python نصب نشده است، بنابراین با پایتون 2.x قابل اجرا که به طور همزمان نصب شده باشد، در تعارض نیست.

    معرفی غیر رسمی پایتون

    در مثال های زیر، ورودی و خروجی با حضور یا عدم حضور prompt ها ( >>>و ... ) تشخیص داده می شود:

    برای تکرار مثال، زمانی که prompt ظاهر شد، باید همه چیز را پس از prompt تایپ کنید. خطوطی که با prompt شروع نمی شود خروجی مفسر است. توجه داشته باشید که حضور یک prompt ثانویه در یک خط در مثال، به این معناست که باید یک خط خالی تایپ کنید. از این برای اتمام دستورات چند خطی استفاده می شود. بسیاری از مثال های این کتاب راهنما، حتی آنهایی که در prompt تعاملی وارد شده اند، شامل توضیحات می باشند.

    در آموزش پایتون توضیحات با کاراکتر hash (#) شروع می شود و تا انتهای خط فیزیکی ادامه می یابد. توضیحات ممکن است در ابتدای یک خط، پس از فضای خالی و یا پس از کد شروع شود، اما نه در میان حروف یک رشته (string literal). یک کاراکتر hash در حروف یک رشته، تنها یک کاراکتر hash است. از آنجایی که توضیحات برای روشن تر و خوانا تر کردن کد است و توسط پایتون تفسیر نمی شود، ممکن است هنگام نوشتن مثال ها حذف شوند.

    تعدادی مثال:

    1# this is the first comment
    1spam = 1  # and this is the second comment
    1# ... and now a third!
    1text = "# This is not a comment because it's inside quotes."

    استفاده از پایتون به عنوان ماشین حساب

    بیایید برخی دستورات ساده پایتون را امتحان کنیم. مفسر را شروع کنید و صبر کنید تا prompt اولیه ظاهر شود >>>. (نباید زمان زیادی طول بکشد.)

    اعداد

    مفسر به عنوان یک ماشین حساب ساده عمل می کند: می توانید یک عبارت را در آن تایپ کنید و مفسر مقدار آن را خواهد نوشت.

    1نحوه نگارش عبارات سر راست است: عملگر های + ، - ، * و / همانند بسیاری از زبان های دیگر کار می کند (به عنوان مثال پاسکال یا C). از پرانتز ( () ) برای دسته بندی استفاده می شود. برای مثال:
    1>>> 2 + 2
    14
    1>>> 50 - 5*6
    120
    1>>> (50 - 5*6) / 4
    15.0
    1>>>8 / 5  # division always returns a floating point number
    11.6

    اعداد صحیح (integer)

    مثلا 2 ، 4 ، 20 از نوع int هستند و آنهایی که بخش کسری دارند مانند 5.0 ، 1.6 از نوع float هستند.

    در ادامه این آموزش چیزهای بیشتری درباره انواع اعداد می بینیم. تقسیم (/ ) همیشه یک مقدار float باز می گرداند. برای انجام تقسیم کف (floor division) و گرفتن نتیجه صحیح ( چشم پوشی از هر نتیجه کسری) می توانید از عملگر (// ) استفاده کنید. برای محاسبه باقیمانده از % استفاده کنید.

    1>>>17 / 3  # classic division returns a float
    15.666666666666667
    1>>>
    1>>>17 // 3  # floor division discards the fractional part
    15
    1>>>17 % 3  # the % operator returns the remainder of the division
    12
    1>>>5 * 3 + 2  # result * divisor + remainder
    117

    در پایتون برای محاسبه توان میتوان از عملگر ** استفاده کرد

    1>>>5 ** 2  # 5 squared
    125
    1>>>2 ** 7  # 2 to the power of 7
    1128

    از علامت مساوی (=) برای تخصیص یک مقدار به یک متغیر استفاده می شود. پس از آن هیچ نتیجه ای قبل از prompt تعاملی بعدی نمایش داده نمی شود.

    1>>>width = 20
    1>>>height = 5 * 9
    1>>>width * height
    1900

    اگر یک متغیر تعریف نشده باشد (تخصیص یک مقدار)، در صورتی که بخواهید از آن استفاده کنید یک خطا دریافت خواهید کرد:

    1>>> n  # try to access an undefined variable
    1Traceback (most recent call last):
    1File "", line 1, in 
    1NameError: name 'n' is not defined
    1

    از اعداد اعشاری (floating point) به طور کامل پشتیبانی می شود. عملگر هایی با انواع متفاوت عملوند، عملوند از نوع صحیح را به اعشاری تبدیل می کنند.

    1>>> 4 * 3.75 - 1
    114.0

    در حالت تعاملی، آخرین عبارت چاپ شده به متغیر _ تخصیص داده می شود. این به این معناست که هنگامی که از پایتون به عنوان ماشین حساب رو میزی استفاده می کنید، به نوعی ادامه محاسبات ساده تر می شود. برای مثال:

    1>>>tax = 12.5 / 100
    1>>>price = 100.50
    1>>>price * tax
    112.5625
    1>>>price + _
    1113.0625
    1>>>round(_, 2)
    1113.06

    کاربر باید با این متغیر به صورت فقط خواندنی رفتار کند. به صراحت یک مقدار را به آن تخصیص ندهید. شما یک متغیر محلی مستقل با همان نام ایجاد می کنید که متغیر داخلی با رفتار جادویی را تحت پوشش خود می برد. علاوه بر int و float ، پایتون از سایر انواع اعداد نیز پشتیبانی می کند، از جمله Decimalو Fraction . همچنین پایتون پشتیبانی داخلی برای اعداد مختلط نیز دارد و از پسوند j یا J برای نمایش بخش موهومی عدد استفاده می کند، برای مثال 3+5j.

    رشته ها در برنامه نویسی python

    پایتون علاوه بر اعداد، میتواند رشته ها را نیز مدیریت کند. رشته ها به چندین طریق می توانند بیان شوند. رشته ها می توانند در نقل قول تکی ('...') و یا دوتایی ("...") قرار گیرند، و در هر دو صورت نتیجه یکسان است.2 از برای در رفتن از نقل قول استفاده می شود.

    1>>>'spam eggs'  # single quotes
    1'spam eggs'
    1>>>'doesn't'  # use ' to escape the single quote...
    1"doesn't"
    1>>>"doesn't"  # ...or use double quotes instead
    1"doesn't"
    1>>>'"Yes," they said.'
    1'"Yes," they said.'
    1>>>""Yes," they said."
    1'"Yes," they said.'
    1>>>'"Isn't," they said.'
    1'"Isn't," they said.'

    در مفسر تعاملی، رشته خروجی درون نقل قول قرار می گیرد و از کاراکتر های خاص با backslash ها صرف نظر میشود. در حالی که ممکن است گاهی این متفاوت از ورودی به نظر برسد (نقل قول های در بر گیرنده می توانند تغییر کنند)، هر دو رشته برابر هستند. اگر رشته شامل نقل قول تکی باشد و هیچ نقل قول دوتایی نداشته باشد، رشته در نقل قول دوتایی قرار می گیرد. در غیر این صورت، در نقل قول تکی قرار میگیرد. تابع print() با حذف نقل قول های در برگیرنده و چاپ کاراکتر های خاص و escaped ، خروجی خوانا تری تولید می کند.

    1>>>'"Isn't," they said.'
    1'"Isn't," they said.'
    1>>>print('"Isn't," they said.')
    1"Isn't," they said.
    1>>>s = 'First line.nSecond line.'  # n means newline
    1>>>s  # without print(), n is included in the output
    1'First line.nSecond line.'
    1>>>print(s)  # with print(), n produces a new line
    1First line.
    1Second line.

    اگر نمی خواهید کاراکترهایی که بعد از قرار دارند به عنوان کاراکتر های خاص تفسیر شوند، می توانید با اضافه کردن یک r قبل از اولین نقل قول از رشته خام (raw strings) استفاده کنید.

    1>>>print('C:somename')  # here n means newline!
    1C:some
    1ame
    1>>>print(r'C:somename')  # note the r before the quote
    1C:somename

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

    1print("""
    1Usage: thingy [OPTIONS]
    1-h                        Display this usage message
    1-H hostname               Hostname to connect to
    1""")

    خروجی زیر را تولید می کند( توجه داشته باشید که شامل خط جدید اولیه نیست).

    1Usage: thingy [OPTIONS]
    1-h                        Display this usage message
    1-H hostname               Hostname to connect to

    رشته ها می توانند با استفاده از عملگر + به همدیگر متصل شوند (مانند چسب به هم بچسبند) و با عملگر * تکرار شوند:

    1>>># 3 times 'un', followed by 'ium'
    1>>>3 * 'un' + 'ium'
    1'unununium'

    تعداد دو یا بیشتر از حروف رشته در کنار یکدیگر(مثل آنهایی که درون یک نقل قول قرار دارند) به صورت خودکار به هم چسبیده هستند.

    1>>>'Py' 'thon'
    1'Python'

    این ویژگی به خصوص در زمانی که قصد شکستن رشته های طولانی را دارید مفید است.

    1>>>text = ('Put several strings within parentheses '
    1...         'to have them joined together.')
    1>>>text
    1'Put several strings within parentheses to have them joined together.'

    البته این ویژگی فقط با دو حرف کار میکند نه با متغیرها یا عبارات.

    1>>> prefix = 'Py'
    1>>> prefix 'thon'  # can't concatenate a variable and a string literal
    1File "", line 1
    1prefix 'thon'
    1^
    1SyntaxError: invalid syntax
    1>>> ('un' * 3) 'ium'
    1File "", line 1
    1('un' * 3) 'ium'
    1^
    1SyntaxError: invalid syntax
    1

    اگر می خواهید متغیر ها را اتصال دهید یا یک متغیر و یک حرف، از + استفاده کنید.

    1>>>prefix + 'thon'
    1'Python

    رشته ها می توانند اندیس گذاری شوند (زیر نویس دار) به این صورت که اندیس اولین کاراکتر صفر باشد. هیچ نوع کاراکتر مجزا وجود ندارد. یک کاراکتر در واقع یک رشته به طول یک است.

    1>>>word = 'Python'
    1>>>word[0]  # character in position 0
    1'P'
    1>>>word[5]  # character in position 5
    1'n'

    همچنین، اندیس ها ممکن است به منظور شمارش از راست، منفی باشند.

    1>>>word[-1]  # last character
    1'n'
    1>>>word[-2]  # second-last character
    1'o'
    1>>>word[-6]
    1'P'

    توجه داشته باشید از آنجایی که -0 همان 0 است، اندیس های منفی از -1 شروع می شوند. علاوه بر اندیس گذاری، از برش زدن (slicing) نیز پشتیبانی می شود. در حالی که از اندیس گذاری برای دسترسی به کاراکترها به صورت مجزا استفاده می شود، برش زدن به شما امکان دسترسی به زیر رشته ها را می دهد.

    1>>>word[0:2]  # characters from position 0 (included) to 2 (excluded)
    1'Py'
    1>>>word[2:5]  # characters from position 2 (included) to 5 (excluded)
    1'tho'

    توجه داشته باشید که چگونه همیشه شروع بازه شامل می شود و انتهای بازه حذف. این نشان می دهد s[:i] + s[i:] همیشه با s برابر است.

    1>>>word[:2] + word[2:]
    1'Python'
    1>>>word[:4] + word[4:]
    1'Python'

    برش اندیس ها، پیش فرض های مفیدی دارد. اندیس اول حذف شده به طور پیش فرض صفر است . اندیس دوم حذف شده به طور پیش فرض سایز رشته برش خورده است.

    1>>>word[:2]   # character from the beginning to position 2 (excluded)
    1'Py'
    1>>>word[4:]   # characters from position 4 (included) to the end
    1'on'
    1>>>word[-2:]  # characters from the second-last (included) to the end
    1'on'

    یک روش برای به یاد داشتن نحوه عملکرد برش این است که به اندیس ها به عنوان اشاره گر بین کاراکترها نگاه کنید، به این صورت که سمت چپ اولین کاراکتر شماره صفر باشد. سپس سمت راست آخرین کاراکتر یک رشته با تعداد n کاراکتر، اندیس n دارد. برای مثال:

     

    12+---+---+---+---+---+---+
     | P | y | t | h | o | n |
    1+---+---+---+---+---+---+
    10   1   2   3   4   5   6
    1-6  -5  -4  -3  -2  -1

     

    ردیف اول شماره ها مکان اندیس های 0 … 6 در رشته را بیان می کند. ردیف دوم اندیس های منفی متناظر را می دهد. یک برش از i به j ، شامل همه کاراکتر ها بین لبه با نام i و لبه با نام j است. برای اندیس های غیر منفی، طول یک برش اختلاف اندیس ها است، اگر هر دو در بازه باشند. برای مثال، طول word[1:3 2 است. استفاده از اندیس خیلی بزرگ باعث بروز خطا می شود.

    1>>> word[42]  # the word only has 6 characters
    1Traceback (most recent call last):
    1File "", line 1, in 
    1IndexError: string index out of range
    1

    اگر چه اندیس های برش خارج از بازه در هنگام استفاده از برش، با ظرافت مدیریت می شود.

    1>>>word[4:42]
    1'on'
    1>>>word[42:]
    1''

    رشته ها در پایتون نمیتوانند تغییر کنند. آنها تغییر ناپذیر (immutable) هستند. بنابراین، تخصیص به یک مکان اندیس گذاری شده در رشته باعث بروز خطا می شود.

    1>>> word[0] = 'J'
    1Traceback (most recent call last):
    1File "", line 1, in 
    1TypeError: 'str' object does not support item assignment
    1>>> word[2:] = 'py'
    1Traceback (most recent call last):
    1File "", line 1, in 
    1TypeError: 'str' object does not support item assignment
    1

    اگر به یک رشته متفاوت احتیاج دارید، باید یک رشته جدید ایجاد کنید.

    1>>>'J' + word[1:]
    1'Jython'
    1>>>word[:2] + 'py'
    1'Pypy'

    تابع داخلی len() طول رشته را باز می گرداند.

    1>>>s = 'supercalifragilisticexpialidocious'
    1>>>len(s)
    134

    لیست ها در برنامه نویسی python

    زبان برنامه نویسی پایتون تعدادی انواع داده ترکیبی برای دسته بندی مقادیر مختلف با هم، می شناسد. متنوع ترین آن لیست است، که می توان آن را به صورت لیستی از مقادیر که درون ([]) با ویرگول (,) از هم جدا شده اند نوشت. لیست ممکن است شامل مواردی از انواع مختلف باشد، اما معمولا همه موارد از نوع یکسانی برخوردار هستند.

    1>>>squares = [1, 4, 9, 16, 25]
    1>>>squares
    1[1, 4, 9, 16, 25]

    همانند رشته ها (و سایر انواع داخلی ترتیبی)، لیست نیز می تواند اندیس گذاری و برش شود.

    1>>>squares[0]  # indexing returns the item
    11
    1>>>squares[-1]
    125
    1>>>squares[-3:]  # slicing returns a new list
    1[9, 16, 25]

    همه عملیات برش یک لیست جدید شامل عناصر درخواست شده را باز می گرداند. این به این معناست که برش مورد نظر یک کپی سطحی از لیست را باز می گرداند.

    1>>>squares[:]
    1[1, 4, 9, 16, 25]

    همچنین لیست ها از عملیاتی نظیر اتصال پشتیبانی می کنند.

    1>>>squares + [36, 49, 64, 81, 100]
    1[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    برخلاف رشته ها که غیر قابل تغییر هستند، لیست یک نوع قابل تغییر است و می توان محتویات آن را تغییر داد.

    1>>>cubes = [1, 8, 27, 65, 125]  # something's wrong here
    1>>>4 ** 3  # the cube of 4 is 64, not 65!
    164
    1>>>cubes[3] = 64  # replace the wrong value
    1>>>cubes
    1[1, 8, 27, 64, 125]

    همچنین می توانید با استفاده از متد append() (درباره متد ها در آینده بیشتر صحبت خواهیم کرد) مواردی را به انتهای لیست اضافه کنید.

    1>>>cubes.append(216)  # add the cube of 6
    1>>>cubes.append(7 ** 3)  # and the cube of 7
    1>>>cubes
    1[1, 8, 27, 64, 125, 216, 343]
    1تخصیص به برش ها نیز امکان پذیر است. این امر حتی می تواند سایز لیست را تغییر دهد یا کلا آن را خالی کند.
    1>>>letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
    1>>>letters
    1['a', 'b', 'c', 'd', 'e', 'f', 'g']
    1>>># replace some values
    1>>>letters[2:5] = ['C', 'D', 'E']
    1>>>letters
    1['a', 'b', 'C', 'D', 'E', 'f', 'g']
    1>>># now remove them
    1>>>letters[2:5] = []
    1>>>letters
    1['a', 'b', 'f', 'g']
    1>>># clear the list by replacing all the elements with an empty list
    1>>>letters[:] = []
    1>>>letters
    1[]

    همچنین تابع داخلی len() نیز بر روی لیست ها اعمال می شود.

    1>>>letters = ['a', 'b', 'c', 'd']
    1>>>len(letters)
    14

    می توان لیست ها را تو در تو کرد (ایجاد لیستی شامل لیست های دیگر). برای مثال:

    1>>>a = ['a', 'b', 'c']
    1>>>n = [1, 2, 3]
    1>>>x = [a, n]
    1>>>x
    1[['a', 'b', 'c'], [1, 2, 3]]
    1>>>x[0]
    1['a', 'b', 'c']
    1>>>x[0][1]
    1'b'

    آموزش پایتون ادامه دارد

    آموزش جاوا-آموزش رشته ها در JAVA

    ۸۸ بازديد

    سلام با آموزش جاوا JAVA در خدمت شما عزیزان هستم

    در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با آرایه ها Array Lists در جاوا آشنا شدیم

    حال با ادامه آموزش جاوا همراه باشید:

    لینک قسمت اول آموزش جاوا

    آموزش رشته ها در جاوا

    در مورد رشته های جاوا موارد بیشتری از آنچه با چشم دیده می شود وجود دارد. بر خلاف متغیرهای int یا متغیرهای double، رشته ها آبجکت می باشند. و این در عمل به این معناست که با رشته های متن کارهایی می توانید انجام دهید که با متغیرهای double یا int نمی توانید انجام دهید. ( همین مورد برای انواع داده ی boolean، byte، single، char، float، long و short نیز به کار می رود: آنها مانند رشته ها آبجکت نیستند)

    قبل از اجرای رشته های متن، در اینجا اطلاعات اصلی مربوط به رشته ها را مشاهده خواهید کرد.

    چگونگی ذخیره ی رشته ها در جاوا

    آموزش جاوا

    یک رشته مجموعه ای از کاراکترهای Unicode می باشد که تحت عنوان نام یک متغیر حفظ می شوند. رشته ی زیر را در نظر بگیرید.

    1String someText = "Bill"‎

    این خط به جاوا می گوید که یک رشته آبجکت با چهار کاراکتر "B"، "i"، "l"و یک "l" دیگر برقرار کند. در مجموعه کاراکتر Unicode، این مقادیر عبارتند از: u0042، u0069، u006c،u006c . مقادیر Unicode به عنوان اعداد هگزادسیمال ذخیره می شوند. حروف بزرگ ( A تا Z) با استفاده از مقادیر u0041 تا u005a ذخیره می شوند، در حالیکه حروف کوچک ( a تا z ) با استفاده از مقادیر هگزادسیمال u0061 تا u007a ذخیره می شوند.

    در بخش قبل یک array وجود داشت که رشته های متن را حفظ می کرد. سپس array را مرتب سازی کردیم.

    وقتی که برنامه اجرا می شود، خروجی مانند تصویر زیر می باشد.

    قبلا ذکر کردیم که لغت "This" در ابتدا قرار می گیرد. اگر قرار است array به ترتیب حروف الفبا مرتب شود، انتظار می رود که لغت "a" در ابتدا قرار بگیرد. این به این خاطر است که لغت "a" با حرف کوچک دارای مقدار هگزادسیمال u061 می باشد، که عدد دهدهی 97 می باشد. اما حرف بزرگ "T" دارای یک مقدار هگزادسیمال u054 می باشد که عدد دهدهی 84 است. 84 کمتر از 97 می باشد، بنابراین "T" در ابتدا قرار می گیرد.

    بسیار خود، اجازه بدهید در موزد اجرای رشته های متن کارهایی انجام دهیم. رشته متدهایی که مورد بررسی قرار خواهیم داد، عبارتند از

    toUpperCasse toLowerCase compareTo IndexOf endWith, startsWith Substring Equals charAt trim valueOf

    متدهای اول در بالا متدهای آسانی می باشند، که به حروف بزرگ و کوچک تبدیل می شوند. در بخش بعد در مورد آنها فرا خواهید گرفت.

    آموزش جاوا

    آموزش تغییر به حروف بزرگ و کوچک در جاوا

    تبدیل رشته های خود به حروف بزرگ و کوچک کار آسانی می باشد: تنها از متودهای داخلی toUpperCase و toLowerCase استفاده کنید.

    برای این کار یک پروژه ی جدید را شروع کرده و کد زیر را به آن اضافه کنید:

    دو خط اول از کد یک متغیر String برای حفظ متن "text to change" تنظیم می کنند و سپس آن را چاپ می کنیم. خط سوم یک متغیر دوم String به نام نتیجه را تنظیم می کند. و خط چهارم می باشد که در آن تبدیل را انجام می دهیم:

    1result = changeCase.toUpperCase( );

    برای استفاده از یک متود string ابتدا رشته ی مورد نظر را تایپ کنید. برای ما این رشته در متغیر changeCase نامیده می شود. پس از نام متغیر یک نقطه تایپ کنید، سپس لیستی از متودهای موجود را مشاهده می کنید که می توانید در رشته ی خود از آنها استفاده کنید. toUpperCase را انتخاب کنید. ( متود پس از آن نیاز به پرانتز دارد.)

    پس از اینکه جاوا لغت را به حروف بزرگ تغییر داده است، ما رشته ی جدید را به متغیر نتیجه ی خود مرتب می کنیم.

    وقتی برنامه اجرا می شود، پنجره ی Output نتیجه ی زیر را نمایش خواهد داد:

    اما شما مجبور نیستید که لغت تغییر یافته را در یک متغیر جدید ذخیره کنید. این کار نیز انجام می شود:

    1System.out.println( changeCase.toUpperCase( ) );

    در اینجا جاوا تنها با تغییر رشته و بدون نیاز به اختصاص دادن نتیجه به یک متغیر جدید، به کار خود ادامه خواهد داد.

    در عوض اگر می خواهید فقط به حروف کوچک تغییر دهید، از متود toLowerCase استفاده کنید. این متود درست به روش متود toUpperCase استفاده می شود.

    در بخش بعدی چگونگی مقایسه ی رشته ها را در جاوا مشاهده خواهید کرد.

    آموزش جاوا

    آموزش مقایسه ی رشته ها

    شما می توانید یک متود را با متود دیگر مقایسه کنید. ( در هنگام مقایسه جاوا از مقادیر هگزادسیمال به جای خود حروف استفاده خواهد کرد.). به عنوان مثال اگر بخواهید لغت "Ape" را با لغت "App" مقایسه کنید تا ببینید کدامیک نخست قرار می گیرد، می توانید از یک رشته متود داخلی به نام compareTo استفاده کنید. اجازه بدهید چگونگی کار آن را بررسی کنیم.

    برای این کار نیازی به شروع یک پروژه ی جدید ندارید: به راحتی روی کدی که دارید کامنت بگذارید یا آن را حذف کنید. اکنون کد زیر را به آن اضافه کنید:

    ما دو رشته متغیر تنظیم کرده ایم که حاوی لغا ت "Ape" و "App" می باشند. متود compareTo در کد بالا خط زیر می باشد:

    1result = Word1.compareTo( Word2 );

    متود compareTo یک مقدار را گزارش می دهد. مقدار گزارش شده یا کمتر از 0 یا بیشتر از 0 و یا مساوی 0 می باشد. اگر Word1 قبل از Word2 قرار بگیرد، مقدار گزارش شده کمتر از 0 خواهد بود. اگر Word1 بعد از Word2 قرار بگیرد، مقدار گزارش شده بزگتر از 0 خواهد بود. اگر هر دو لغت یکشان باشند، مقدار 0 گزارش خواهد شد.

    بنابراین لازم است کقداری را اختصاص دهید که compareTo به یک متغیر بازمی گرداند. ما مقدار را در یک متغیر صحیح به نام نتیجه قرار می دهیم. عبارات IF در کد به سادگی تست می کنند تا مورد را در متغیر نتیجه مشاهده کنند.

    آموزش جاوا

    به هرحال وقتی یک رشته از متن را با رشته ای دیگر مقایسه می کنید، جاوا به جای حروف واقعی، مقادیر هگزادسیمال تاکید شده را مقایسه می کند. از آنجایی که حروف بزرگ دارای مقدار هگزادسیمال کمتری نسبت به حروف کوچک هستند، حرف بزرگ A در App قبل از حرف کوچ a در ape قرار خواهد گرفت. می توانید این مورد را امتحان کنید. در کد خود "Ape" را به "ape" تغییر دهید. خروجی "Word1 is more than Word2" خواهد بود، به این معنا که از لحاظ الفبایی جاوا لغت ape را بعد از app قرار خواهد داد.

    برای حل مشکل یک متود مرتبط به نام compareToIgnoreCase وجود دارد. همانطور که از نام آن پیداست حروف بزرگ و کوچک نادیده گرفته می شوند. با استفاده از این متود از لحاظ الفبایی لغت ape قبل از App قرار خواهد گرفت.

    آموزش استفاده از متد indexOf

    متد indexOf برای قرار دادن یک کاراکتر یا یک رشته در داخل یک رشته ی دیگر استفاده می شود. به عنوان مثال می توانید از آن برای بررسی وجود کاراکتر @ در یک آدرس ایمیل استفاده کنید. اجازه بدهید از این مثال در کد استفاده کنیم.

    مجددا می توانید روی کد خود کامنت بگذارید یا آن را حذف کنید. اما کد جدیدی برای امتحان کردن وجود دارد:

    میخواهیم وجود نماد @ را در آدرس ایمیل بررسی کنیم، بنابراین ابتدا یک متغیر char تنظیم کرده و به آن مقدار '@' اختصاص می دهیم. ( به نماد علامت نقل قول متغیر char دقت داشته باشید.). پس از تنظیم یک آدرس ایمیل، یک متغیر نتیجه داریم، این یک متغیر int می باشد. دلیل این که نتیجه یک عدد صحیح می باشد این است که متود indexOf یک مقدار گزارش خواهد داد. این مقدار عدد مربوط به موقعیت کاراکتر علامت را در رشته ی آدرس ایمیل باز خواهد گرداند. در اینجا خط مربوطه را مشاهده می کنید:

    1result = email_address.indexOf( ampersand );

    رشته ای که در حال جستجوی آن هستید در ابتدا قرار می گیرد. پس از یک نقطه، indexOf را تایپ کنید. بین پرانتزهای indexOf گزینه های زیادی دارید: یکی از این گزینه ها تایپ کردن یک کاراکتر مجزا ( یا نام متغیر char) می باشد. ما متغیر علامت خود را (ampersand) بین پرانتزهای indexOf قرار داده ایم. جاوا موقعیت کاراکتر @ را در آدرس ایمیل به ما خواهد گفت. این مقدار را در متغیر نتیجه ذخیره خواهد کرد.

    وقتی کد را اجرا می کنید خروجی 4 خواهد بود. ممکن است تصور کنید که علامت @ پنجمین کاراکتر در آدرس ایمیل می باشد، اما indexOf شمارش را از 0 شروع می کند.

    به هرحال اگر کاراکتر در لغتی که آن را جستجو می کنید وجود نداشته باشد، indexOf مقدار 1- را گزارش می دهد. برای امتحان این مورد نماد @ را از آدرس ایمیل خود حذف کنید. سپس مجددا کد خود را اجرا کنید که 1- را به عنوان خروجی مشاهده خواهید کرد.

    می توانید از مقدار گزارش شده ی 1- به نفع خود استفاده کنید. در اینجا مجددا کدی را مشاهده می کنید با یک عبارت IF که مقدار متغیر نتیجه را امتحان می کند:

    بنابراین اگر نتیجه ی indexOf عدد 1- باشد، می توانیم به یوزر اجازه ی ادامه ی کار بدهیم.

    می توانید از indexOf برای تست کردن بیشتر از یک کاراکتر استفاده کنید. کد زیر آدرس ایمیل را چک می کند اگر با ".com" تمام می شود:

    آموزش جاوا

    کد تقریبا یکسان می باشد، به جز اینکه اکنون در حال استفاده از متغیر String برای حفظ متنی هستیم که می خواهیم برای وجود (.com) و نه متغیر char آن را بررسی کنیم.

    اگر متنی که در جستجوی آن هستیم در string که قبل از نقطه ی مربوط به indexOf یافت نشد، مجددا نتیجه ی 1- گزارش داده خواهد شد. در غیر این صورت indexOf موقعیت اولین کاراکتر هماهنگ سازی را گزارش خواهد داد. در کد فوق وقتی شمارش را از 0 شروع می کنید، نقطه هفتمین کاراکتر در آدرس ایمیل می باشد.

    می توانید یک موقعیت شروع نیز برای جستجوهای خود تعیین کنید. در مثال آدرس ایمیل می توانیم جستجو برای ".com" را پس از نماد @ آغاز کنیم. در اینجا کدی را می بینید که موقعیت نماد @ را تعیین می کند و سپس از آن به عنوان موقعیت آغازین برای جستجوی ".com" استفاده می کند.

    خط زیر در واقع خط جدید کد می باشد:

    1result = email_address.indexOf( dotCom, atPos );

    تنها تفاوت افزودن یک متغیر اضاقه بین پرانتزهای indexOf می باشد. ما هنوز رشته ای داریم که در جستجوی آن هستیم ( که متنی است که در متغیر dotcom قرار می گیرد)، اما اکنون یک موقعیت ابتدایی برای جستجو داریم. این موقعیت مقدار متغیری به نام atPos می باشد. مقدار atPos با استفاده از indexOf برای تعیین موقعیت نماد @ در آدرس ایمیل به دست می آید. بنابراین جاوا به جای شروع از 0، جستجو را از این موقعیت آغاز خواهد کرد که پیش فرض می باشد.

    Ends With … Starts With

    برای برنامه ی فوق می توانید از متود داخلی endsWith استفاده کنید:

    آموزش جاوا

    1Boolean ending = email_address.endsWith( dotcom );

    لازم است یک متغیر Boolean برای endsWith تنظیم کنید، زیرا متود پاسخ true یا false را گزارش خواهد داد. رشته ای که سعی در تست کردن آن دارید، بین پرانتزهای endsWith قرار می گیرد و متنی که در جستجوی آن هستید قبل از آن می آید. اگر متن در جستجوی رشته باشد، یک مقدار true گزارش داده می شود، در غیر اینصورت false خواهد بود. برای بررسی مقدار می توانید یک عبارت if … else اضافه کنید:

    1System.out.println( "Invalid Email Address" );
    1}
    1else {
    1System.out.println( "Email Address OK " );
    1}
    1if (ending == false ) {

    متود startsWith به روشی مشابه استفاده می شود.

    1Boolean startVal = email_address.startsWith( dotcom );

    مجددا مقدار گزارش شده یک مقدار true یا false از Boolean می باشد.

    در بخش بعدی چگونگی استفاده از متودی به نام substring را فرا خواهید گرفت.

    آموزش جاوا-آموزش آرایه های چند بعدی در java

    ۸۳ بازديد

    سلام با آموزش جاوا JAVA در خدمت شما عزیزان هستم

    در قسمت قبل از آموزش تصویری برنامه نویسی جاوا با آرایه ها در جاوا آشنا شدیم

    حال با ادامه آموزش جاوا همراه باشید:

    لینک قسمت اول آموزش جاوا

    آرایه Array هایی که تاکنون استفاده کرده اید تناه یک ستون داده دارند. اما می توانید یک array برای نگهداری بیشتر از یک ستون تنظیم کنید. این array ها چند بعدی نامیده می شوند. به عنوان مثال یک صفحه ی گسترده را با ردیف ها و ستون ها در نظر بگیرید. اگر 6 ردیف و 5 ستون داشته باشید، صفحه ی گسترده ی شما می تواند 30 عدد را در خود داشته باشد، که ممکن است مانند تصویر زیر به نظر برسد:

    یک array چند بعدی موردی است که می تواند همه ی مقادیر بالا را در خود داشته باشد، که آنها را مانند زیر تنظیم کرده اید:

    1int[ ][ ] aryNumbers = new int[6][5];

    این array به روش تنظیم یک array عادی تنظیم می شود، به جز اینکه در این مورد دو مجموعه کروشه دارید. اولین مجموعه از کروشه ها برای ردیف ها می باشد و دومین مجموعه نیز برای ستون ها می باشد. در خط بالا به جاوا اعلام کرده ایم که یک array با 6 ردیف و 5 ستون تنظیم کند. برای حفظ مقادیر در یک array چند بعدی، باید مراقب دنبال کردن ردیف ها و ستون ها باشید. در اینجا کدهایی را برای پر کردن اولین ردیف های اعداد از تصویر صفحه ی گسترده ی ما مشاهده می کنید:

    1aryNumbers[0][0] = 10;
    1aryNumbers[0][1] = 12;
    1aryNumbers[0][2] = 43;
    1aryNumbers[0][3] = 11;
    1aryNumbers[0][4] = 22;

    بنابراین اولین ردیف، ردیف 0 می باشد. سپس ستون ها از 0 تا 4 می باشند که 5 آیتم هستند. برای پر کردن دومین ردیف کد زیر لازم می باشد:

    آموزش جاوا

    1aryNumbers[1][0] = 20;
    1aryNumbers[1][1] = 45;
    1aryNumbers[1][2] = 56;
    1aryNumbers[1][3] = 1;
    1aryNumbers[1][4] = 33;

    اعداد ستون همان است، اما اعداد مربوط به ردیف همه 1 نی باشند.

    تکنیک مورد نیاز برای دسترسی به همه ی آیتم ها در یک array چند بعدی، استفاده از یک loop داخل یکی دیگر می باشد. در اینجا کدی را مشاهده می کنید برای دسترسی به همه ی اعداد در بالا. این برنامه از یک double برای loop استفاده می کند:

    اولین for loop برای ردیف ها استفاده می شود و دومین for loop برای ستون ها. در اولین چرخش از اولین loop، مقدار متغیر i عدد 0 خوهد شد. کد داخل for loop یک loop دیگر می باشد. تمام این loop دوم هنگامی که مقدار متغیر i عدد 0 باشد، اجرا خواهد شد. for loop دوم از یک متغیر به نام j استفاده خواهد کرد. متغیرهای i و j برای دسترسی به array قابل استفاده می باشند.

    آموزش جاوا

    1aryNumbers[ i ][ j ]

    بنابراین سیستم دو loop برای وارد کردن همه ی مقادیر به یک array چند بعدی استفاده می شود، ردیف به ردیف.

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

    آرایه Array های چندبعدی می توانند گول زننده نیز باشند، اساسا به این دلیل که حفظ مسیر ستون ها و ردیف های شما سخت می باشد! در بخش بعدی در مورد لیست های array فرا خواهید گرفت.

    آموزش استفاده از Array Lists در جاوا

    آموزش جاوا

    اگر از تعداد آیتم هایی که قرار است در array قرار بگیرند، اطلاعی ندارید، ممکن ست بهتر باشد از چیزی به نام ArrayList استفاده کنید. یک ArrayList در واقع یک ساختار دینامیک داده می باشد، به این معنا که آیتم ها قابل حذف و اضافه از لیست می باشند. یک array معمولی در جاوا یک ساختار استاتیک داده می باشد، زیرا شما اندازه ی اولیه ی array خود را دارید.

    برای تنظیم یک ArrayList، ابتدا باید پوشه ای از java.util library وارد کنید:

    1import java.util.ArrayList;

    سپس می توانید یک آبجکت ArrayList جدید ایجاد کنید:

    1ArrayList listTest = new ArrayList( );

    توجه کنید که این بار نیازی به کروشه ندارید.

    زمانی که آبجکت ArrayList جدید داشته باشید، می توانید با متود add، عناصری به آن اضافه کنید:

    1listTest.add( "first item" );
    1listTest.add( "second item" );
    1listTest.add( "third item" );
    1listTest.add( 7 );

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

    آیتم ها در لیست می توانند توسط یک عدد Index و با استفاده از یک متود get مورد اشاره قرار بگیرند:

    1listTest.get( 3 )

    این خط آیتم را روی لیست در Index position 3 خواهد گرفت. اعداد ایندکس شمارش را از 0 شروع می کنند، بنابراین این آیتم چهارمین آیتم خواهد بود.

    شما می توانید آیتم ها را از یک ArrayList حذف هم بکنید:

    آموزش جاوا

    1listTest.remove(2);

    یا می توانید از مقدار روی لیست استفاده کنید:

    1listTest.remove( "second item" );

    حذف یک آیتم باعث تغییر اندازه ی ArrayList خواهد شد، بنابراین وفتی از عدد شاخص استفاده می کنید، وقتی سعی در به دست آوردن یک آیتم روی لیست دارید، باید مراقب باشید. اگر آیتم شماره ی 2 را حذف کرده ایم، بنابراین لیست فوق فقط حاوی 3 آیتم خواهد بود. سعی در به دست آوردن با عدد شاخص 3، منجر به بروز خطا خواهد شد.

    برای وارد شدن به هر آیتم در ArrayList، می توانید چیزی به نام یک Iterator را تنظیم کنید. ایک گروه در کتابخانه ی java.util نیز یافت می شود:

    1import java.util.Iterator;

    می توانید ArrayList را به یک آبجکت Iterator جدید ضمیمه کنید:

    1Iterator it = listTest.iterator( );

    این خط یک آبجکت Iterator جدید تنظیم می کند که می تواند برای وارد شدن به آیتم ها در ArrayList به نام listTest استفاده شود. دلیل استفاده از یک آبجکت Iterator این است که این آبجکت دارای متودهایی به نام next و hasNext می باشد. می توانید از اینها در یک loop استفاده کنید:

    1while ( it.hasNext( ) ) {
    1System.out.println( it.next( ) );
    1}

    متود hasNext یک مقدار Boolean را گزارش می دهد. اگر آیتمی در ArrayList وجود نداشته باشد، مقدار false خواهد بود. متود بعدی می تواند برای وارد شدن همه ی آیتم ها در لیست استفاده شود.

    برای تست کردن همه ی این تئوری کد زیر را امتحان کنید:

    آموزش جاوا

    به خطی که همه ی لیست را چاپ می کند، دقت داشته باشید:

    1System.out.println( "Whole list=" + listTest );

    این خط به شما یک روش سریع برای مشاهده ی آیتم های روی لیستتان ارائه می دهد. وقتی کد اجرا می شود، پنجره ی Output موارد زیر را نمایش خواهد داد:

    1first item second item third item 7 Whole list=[first item, third item, 7] Position 1=third item

    به طور خلاصه، وفتی از تعداد عناصری که قرار است در لیستی از آیتم ها قرار بگیرند، مطمئن نیستید، از ArrayList استفاده کنید. اکنون بررسی array ها را رها می کنیم. در بخش بعدی به بررسی رشته ها خواهیم پرداخت.

    این آموزش ادامه دارد