INTERNETBASE
 
  استفاده از پرانتزها
  بنيادهاي كلاس java
  دستورات انتخاب در جاوا
  عملگر ?
  عملگر انتساب
  عملگرهاي منطقي بولي Boolean
  عملگرهاي رابطه اي
  عملگرها ی ریاضی و بیتی
  اولين برنامه ساده java
  آرايه ها در جاوا
  متغيرها و اعمال روی آنها
  انواع اعداد اعشاري جاوا
  آموزش جاوا - integers ( اعداد صحيح )
  جاوا را بشناسیم
  Guestbook
  Contact
انواع اعداد اعشاري جاوا

اعداد اعشاري يا همان اعداد حقيقي براي ارزش گذاري عبارتهايي كه نيازمند
دقت بيشتري هستند ، استفاده مي شوند . بعنوان نمونه ، محاسباتي نظير ريشه دوم
و محاسبات مثلثاتي نظير سينوس و كسينوس منجربه جوابهايي مي شوند كه براي تعيين
دقت آن نياز به نوع عدد اعشاري مي باشد . جاوا يك مجموعه استاندارد (
IEEE-754)
از انواع عدد اعشاري و عملگرها را پياده سازي مي كند. دو نوع عدد اعشاري تعريف
شده يعني
floatو doubleو هستند كه بترتيب معرف دقت معمولي و مضاعف مي باشند .
پهنا و دامنه آنها را در زير نشان داده ايم :
دامنه پهنا بر حسب تعداد بيت نام
double 64 1.7e-308 to 1.7e+308
float 32 3.4e-038 to 3.4e+038

هر يك از انواع اعشاري را متعاقبا" مورد بررسي قرار مي دهيم .
float

اين نوع مشخص كننده يك مقدار با دقت معمولي بوده كه از 32 بايت حافظه
استفاده مي كند . دقت معمول روي بعضي پردازنده ها سريعتر بوده و نسبت به دقت
مضاعف نيمي از فضا را اشغال مي كند ، اما هنگاميكه مقادير خيلي بزرگ يا خيلي
كوچك باشند ، دقت خود را از دست ميدهد . متغيرهاي نوع
float براي زماني مناسب
هستند كه از يك عضو كسري استفاده مي كنيد اما نيازي به دقت خيلي زياد نداريد .
بعنوان مثال ، نوع
float براي معرفي دلار و سنت بسيار مناسب است . + float hightemp/ lowtemp;

double

دقت مضاعف كه با واژه كليدي
double معين مي شود براي ذخيره كردن يك مقدار 64
بيت فضا را اشغال مي كند . دقت مضاعف روي برخي پردازنده هاي جديد كه براي
محاسبات رياضي با سرعت زياد بهينه شده اند ، واقعا" سريعتر از دقت معمولي عمل
مي كند . كليه توابع مثلثاتي نظير ()
sin ، ()cos و ()sqrt مقادير مضاعف را
برمي گردانند . هنگام اجراي محاسبات مكرر كه نياز به حفظ دقت داريد و يا هنگام
كار با ارقام خيلي بزرگ
double بهترين انتخاب است .
در زير برنامه اي را مشاهده مي كنيد كه از
double استفاده نمود تا محيط يك
دايره را محاسبه كند :

+ // Compute the area of a circle.
+ class Area {
+ public static void main(String args[] ){
+ double pi/ r/ a;
+
+ r = 10.8; // radius of circle
+ pi = 3.1416; // pi/ approximately
+ a = pi * r * r; // compute area
+
+ System.out.println("Area of circle is " + a);
+ }
+ }

كاراكترها
در جاوا از نوع داده
char براي ذخيره كردن كاراكترها استفاده مي شود . اما
برنامه نويسان
Cو C++و آگاه باشند كه char در جاوا مشابه char در زبانهاي C و C++
نيست . در زبانهاي
Cو C++و ، نوع char يك نوع عدد صحيح با پهناي 8 بيت
است . اما جاوا متفاوت عمل مي كند . جاوا از كدهاي جهاني (
unicode) براي معرفي
كاراكترها استفاده مي كند . كدهاي جهاني يك مجموعه كاملا" جهاني از كاراكترها
هستند كه مي توانند همه كاراكترها را معرفي نمايند . اين مجموعه شامل دهها
مجموعه كوچك تر كاراكتري نظير
Latin، Greek،، Arabic،، Cyrillic،، Hebrew، Katakana
،
Hangul، و امثال آن است .
براي اين منظور ، 16 بيت مورد نياز است . بنابراين
char در جاوا يك نوع 16
بيتي است . دامنه
charاز 0ز تا 65/536 مي باشد . در نوع char مقدار منفي وجود
ندارد . مجموعه استاندارد كاراكترها موسوم به
ASCII همچون گذشته داراي دامنه
از 0 تا 127 و مجموعه كاراكترهاي 8 بيتي توسعه يافته موسوم به
lso-Latin-1
داراي دامنه از 0 تا 255 مي باشند .
چون در جاوا امكان نوشتن ريز برنامه ها براي كاربري جهاني وجود دارد ، بنظر
مي رسد كه بهتر است جاوا از كدهاي جهاني براي معرفي كاراكترها استفاده نمايد .
البته بكار بردن كدهاي جهاني درمورد زبانهايي نظير انگليسي ،آلماني ،اسپانيايي
يا فرانسوي كه كاراكترهاي آنها را مي توان براحتي داخل 8 بيت جاي داد ، تا حدي
سبب نزول كارآيي خواهد شد . اما اين بهايي است كه براي رسيدن به قابليت حمل
جهاني در برنامه ها بايد پرداخت .
نكته : اطلاعات بيشتر درباره كدهاي جهاني را در آدرسهاي وب زير پيدا خواهيد
نمود :
http://www .unicode .org
http://www .stonehand .com/unicode .html


در زير برنامه اي را مشاهده مي كنيد كه متغيرهاي
char را نشان مي دهد :

+ // Demonstrate char data type.
+ class CharDemo {
+ public static void main(String args[] ){
+ char ch1/ ch2;
+
+ ch1 = 88; // code for X
+ ch2 = 'Y';
+
+ System.out.print("ch1 and ch2 :");
+ System.out.println(ch1 + " " + ch2);
+ }
+ }

اين برنامه خروجي زير را نشان خواهد داد : ch1 and ch2 :xy

دقت كنيد كه مقدار 88به
ch1 نسبت داده شده ، كه مقدار متناظر با حرف x در
كد
ASCII ( و كد جهاني ) است . قبلا" هم گفتيم كه مجموعه كاراكتري ASCII َ127
مقدار اوليه در مجموعه كاراكتري كدهاي جهاني را اشغال كرده است . بهمين دليل
كليه فوت و فنهاي قديمي كه قبلا" با كاراكترها پياده كرده ايد ، در جاوا نيز به
خوبي جواب مي دهند .
اگر چه انواع
char عدد صحيح محسوب نمي شوند ، اما در بسياري از شرايط
مي توانيد مشابه عدد صحيح با آنها رفتار كنيد . بدين ترتيب قادريد دو كاراكتر
را با هم جمع نموده و يا اينكه مقدار يك متغير كاركتري را كاهش دهيد . بعنوان
مثال ، برنامه زير را در نظر بگيريد :

+ // char variables behave like integers.
+ class CharDemo2 {
+ public static void main(String args[] ){
+ char ch1;
+
+ ch1 = 'X';
+ System.out.println("ch1 contains " + ch1);
+
+ ch1++; // increment ch1
+ System.out.println("ch1 is now " + ch1);
+ }
+ }

خروجي اين برنامه بشرح زير خواهد بود : ch1 contains x
ch1 is now y

در برنامه ابتدا مقدار xبه ch1 داده ميشود . سپس ch1 افزايش مي يابد . اين
روال باعث مي شود تا ch1 حرف y را اختيار كند، كه كاراكتر بعدي در ترتيب ASCII
(
و كدهاي جهاني ) مي باشد .
Boolean

جاوا يك نوع ساده موسوم به boolean براي مقادير منطقي دارد . اين نوع فقط
يكي از مقادير ممكن trueيا falseا را اختيار مي كند . اين نوعي است كه توسط
كليه عملگرهاي رابطه اي نظير b
شرطي كه دستورهاي كنترلي نظير ifو forو را مديريت مي كنند ، استفاده مي شود .
در زير برنامه اي مشاهده مي كنيد كه نوع boolean را نشان مي دهد :

+ // Demonstrate boolean values.
+ class BoolTest {
+ public static void main(String args[] ){
+ boolean b;
+
+ b = false;
+ System.out.println("b is " + b);
+ b = true;
+ System.out.println("b is " + b);
+
+ // a boolean value can control the if statement
+ if(b )System.out.println("This is executed.");
+
+ b = false;
+ if(b )System.out.println("This is not executed.");
+
+ // outcome of a relational operator is a boolean value
+ System.out.println("10 > 9 is " +( 10 > 9));
+ }
+ }

خروجي برنامه فوق بقرار زير خواهد بود :

b is false
b is true
This is executed.
10>9 is true

درباره اين برنامه سه نكته جالب توجه وجود دارد . اول اينكه وقتي كه مقدار boolean
توسط ()println خارج مي شود ، مي بينيد كه "true"يا "false"ا بنمايش
درمي آيد . دوم اينكه يك متغير boolean بتنهايي براي كنترل دستور if كفايت
مي كند . ديگر نيازي به نوشتن يك دستور if بقرار زير نخواهد بود : + if(b == true... )

سوم اينكه ، پي آمد يك عملگر رابطه اي نظيربولين يک مقدار است

 
   
Today, there have been 1 visitors (1 hits) on this page!
This website was created for free with Own-Free-Website.com. Would you also like to have your own website?
Sign up for free