آموزش برنامه نویسی جاوا – قسمت هفتم

0
810

آموزش برنامه نویسی جاوا – قسمت هفتم – حلقه ها و اعداد

 
حلقه ها در جاوا

حلقه ها در جاوا

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

حلقه ها در جاوا
زبان برنامه نویسی جاوا انواع حلقه های زیر را فراهم می کند. توصیف انواع حلقه ها در جدول زیر آورده شده است.

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

دستور کنترل حلقه

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

جاوا از دستورات کنترلی زیر پشتیبانی می کند.

دستورات کنترلیتوصیف
break statementحلقه را پایان می دهد یا دستورات را سوئیچ می کند و اجرا را به دستوراتی که  بلافاصله بعد از حلقه آمده اند انتقال می دهد.
continue statementباعث می شود که حلقه به باقی مانده دستورات بدنه اش برگردد و بلافاصله حالت خود را به  شرایط قبل از تکرار تنظیم کند.

حلقه for پیشرفته در جاوا

جاوا ۵، حلقه for پیشرفته را معرفی کرد. حلقه for پیشرفته عمدتا برای پیمایش مجموعه ای از عناصر از جمله آرایه استفاده می شود.

نحوه نوشتن for پیشرفته

نحو نوشتن حلقه for پیشرفته بصورت زیر است:

۱
۲
۳
۴
for(declaration : expression)
{
   //Statements
}

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

Expression: ارزیابی می کند که آیا آرایه هنوز به حلقه نیاز دارند. expression می تواندیک متغیر آرایه باشد یا فراخوانی متدی که یک آرایه را برمی گرداند.

مثال:

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
public class Test {
   public static void main(String args[]){
      int [] numbers = {۱۰, ۲۰, ۳۰, ۴۰, ۵۰};
      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

این مثال نتیجه ی زیر را تولید می کند:

۱۰,۲۰,۳۰,۴۰,۵۰, James,Larry,Tom,Lacy,

در ادامه درباره دستورات تصمیم گیری در جاوا صحبت خواهیم کرد.

جاوا – تصمیم گیری

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

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

 

تصمیم گیری در جاوا

زبان برنامه نویسی جاوا انواع دستورات تصمیم گیری زیر را فراهم کرده است. در جدول دستورات تصمیم گیری همراه با جزئیات آورده شده است.

StatementDescription
if statementیک دستور if  متشکل از یک عبارت بولی همراه با یک یا چند دستور است.
if…else statementبدنبال  دستور if می تواند دستور اختیاری else آورده شود. دستورات else زمانی اجرا خواهند شد که عبارت بولین نادرست باشد.
nested if statementsشما می توانید از دستورات if و else if  در داخل دستور یا دستورات if و یا else if دیگر استفاده کنید.
switch statementدستور switch اجازه می دهد تا یک متغیر با یک لیست از مقادیر تست شود تا مشخص شود با کدام مقدار برابر است تا دستورات مربوط به آن اجرا شوند.

عملگر علامت سوال “؟”

جاوا عملگر شرطی ؟ را پوشش می دهد. می توانید از عملگر ؟ برای جایگزین کردن با دستورات if…else  استفاده کنید. که شکل کلی آن بصورت زیر است:

۱
Exp1 ? Exp2 : Exp3;

که در آن EXP1، Exp2 و Exp3 عبارت می باشد. به استفاده و مکان دونقطه توجه داشته باشید.
برای تعیین ارزش کل عبارت، در ابتدا EXP1 ارزیابی می شود.
اگر مقدار EXP1 درست باشد، پس مقدار کل عبارت برابر با مقدار Exp2خواهد بود .
اگر مقدار EXP1 نادرست باشد، سپس مقدار Exp3 ارزیابی شده و مقدار آن برابر با مقدار کل عبارت می شود.
در ادامه در مورد کلاس Number (در بسته ی java.lang) و کلاس های مشتق شده از آن در زبان جاوا صحبت خواهیم کرد.
ما به دنبال شرایطی هستیم که در آن شما بایستی از کلاس های تعریف شده به جای انواع داده اولیه استفاده کنید، و همچنین کلاس هایی مانند قالب بندی، توابع ریاضی که شما در هنگام کار با اعداد به آنها نیاز خواهید داشت.

کلاس Number – جاوا

به طور معمول، هنگامی که ما با اعداد کار می کنیم، از انواع داده های اولیه مانند  byte, int, long, doubleو غیره استفاده می کنیم.

مثال:

۱
۲
۳
int i = ۵۰۰۰;
float gpa = ۱۳.۶۵;
byte mask = 0xaf;

با این حال، در توسعه، شرایطی پیش می آید که نیاز به استفاده از اشیاء به جای انواع داده اولیه است. به این منظور جاوا کلاس های wrapper را فراهم می کند .

همه کلاس های wrapper (Integer, Long, Byte, Double, Float, Short) مشتق شده از کلاس Number انتزاعی هستند.

java numbers

اشیای کلاس wrapper نوع داده اولیه مربوط به آن را پوشش داده اند. تبدیل انواع داده اولیه به شی boxing نامیده می شود. بنابراین در حالی که از کلاس wrapper استفاده می کنید، شما فقط نیاز دارید تا مقدار نوع داده اولیه را به سازنده کلاس Wrapper بدهید.

و شی Wrapper شده به نوع داده اولیه تبدیل خواهد شد ، و این فرآیند un boxing نامیده می شود. کلاس Number بخشی از بسته ی java.lang است.

در اینجا یک مثال از boxing و un boxing آورده شده است:

۱
۲
۳
۴
۵
۶
۷
۸
public class Test{
   public static void main(String args[]){
      Integer x = ۵; // boxes int to an Integer object
      x =  x + ۱۰;   // unboxes the Integer to a int
      System.out.println(x);
   }
}

مثال نتیجه ی زیر را تولید می کند:

۱۵

زمانی که به x مقدار صحیح اختصاص داده می شود، کامپایلر عدد صحیح را boxing می کند، زیرا X عدد صحیح است. پس از آن،  x ، un boxing می شود تا اینکه آنها بتوانند به عنوان عدد صحیح اضافه کنند.

متدهای Number:

در اینجا لیستی از متدهای نمونه که همگی از پیاده سازی کلاس Number مشتق شده  اند:

شمارهتوضیحات متدها
۱xxxValue()

تبدیل مقدار این شی number به نوع داده ها XXX و برگرداندن آن.

۲compareTo()

مقایسه شی  this Numberبا آرگومان ورودی.

۳equals()

مشخص کردن اینکه آیا شی  this numberبا آرگومان ورودی برابر است

۴valueOf()

یک شی صحیح را می گیرد و مقدار آن را به نوع داده اولیه مشخص شده برمی گرداند.

۵toString()

آرگومان ورودی را که مقدارش با int نمایش داده می شود به رشته تبدیل می کند.

۶parseInt()

این روش برای به دست آوردن نوع داده اولیه از یک رشته خاص است.

۷abs()

مقدار قدر مطلق آرگومان ورودی را برمی گرداند.

۸ceil()

کوچکترین عدد صحیح بزرگتر یا برابر با آرگومان ورودی را با نوع داده double بر می گرداند.

۹floor()

بزرگترین عدد صحیح کمتر یا برابر با آرگومان ورودی را برمی گرداند. عدد بازگشتی با نوع داده double است.

۱۰rint()

عدد صحیح که به مقدار آرگومان ورودی نزدیک ترین است را  برمیگرداند. عدد بازگشتی با نوع داده double است.

۱۱round()

نزدیکترین عدد  long یا  int را بر میگرداند، که توسط متد نوع بازگشتی برای آرگومان مشخص می شود.

۱۲min()

کوچکترین مقدار از دو آرگومان ورودی را برمی گرداند

۱۳max()

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

۱۴exp()

پایه لگاریتم طبیعی، e، به توان آرگومان ورودی را بر می گرداند.

۱۵log()

لگاریتم آرگومان ورودی را بر می گرداند

۱۶pow()

حاصل مقدار آرگومان اول  به توان آرگومان دوم را برمی گرداند.

۱۷sqrt()

جذر آرگومان ورودی را بر می گرداند

۱۸sin()

sin آرگومان ورودی را بر می گرداند

۱۹cos()

cos آرگومان ورودی را بر می گرداند

۲۰tan()

tan آرگومان ورودی را بر می گرداند

۲۱asin()

arcsine آرگومان ورودی را بر می گرداند

۲۲acos()

arccosine  آرگومان ورودی را بر می گرداند

۲۳atan()

arctangent آرگومان ورودی را بر می گرداند

۲۴atan2()

مختصات مستطیلی (x, y) به مختصات قطبی (r, theta) تبدیل می کند و و تتا را برمی گرداند.

۲۵toDegrees()

آرگومان ورودی را به درجه تبدیل می کند

۲۶toRadians()

آرگومان ورودی را به رادیان تبدیل می کند

۲۷random()

یک عدد تصادفی بر میگرداند

برچسب ها

منبع بیتوته beytoote.com

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید