2.9. Character Data Type and Operations
في السكشن ده بنتعرف علي نوع من المتغيرات وهو الـ char وبيقولنا انه بيستخدم لتمثيل حرف واحد فقط وبتكون قيمته بين '-' ومثال عليه :كود PHP:
char letter = 'A'; char numChar = '4';
في المثال الأول حط الحرف A في المتغير اللي اسمه letter وفي المثال التاني حط الرقم 4 ولكن كحرف في المتغير numChar .
ملاحظة : القيمة اللي بحطها في المتغير من نوع char لازم تكون بين single quote لو حطيتها بين double quote هتبقي string وليست char يعني "A" نوعه string ولكن 'A' نوعه char .
2.9.1. Unicode and ASCII Code
في السكشن ده بيعرفنا الحرف بيتقري ازاي ولقراية وتخزين الحروف عندنا نوعين من الكود :unicode & ASCII والجافا بتدعم الunicode وبيكون كود الحروف من اول '\u0000' لحد '\uFFFF'
وبتكون الحروف مكتوبة بالhexadecimal وده مثال علي طريقة كتابة وقراية الحروف:
يعني دلوقتي عندنا طريقتين ممكن ادخل بيهم قيمة في متغير من نوع char وهما:ملاحظة : طريقة التزويد والتنقيص increment & deكود PHP:
char letter = 'A'; char letter = '\u0041'; // Character A's Unicode is 0041
crement ممكن تطبق علي الchar زيه بالظبط زي المتمغيرات العادية وده مثال هيطبع حرف الb:كود PHP:
char ch = 'a'; System.out.println(++ch);
2.9.2. Escape Sequences for Special Charactersاحيانا وانا شغال ببقي عايز اني اطبع الناتج ولكن بعد عدد معين من السطور بإستخدام الـtab او اني اسيب سطر , الجافا بتوفر الخاصية دي عن طريق انها عملت حروف خاصة للمهام دي بتكون مسبوقة بعلامة (\) زي اللي في الجدول كده:
افرض مثلا انك عايز تطبع الجملة دي:
He said "Java is fun"
هنعملها كده:كود PHP:
System.out.println("He said \"Java is fun\"");
2.9.3. Casting Between char and Numeric Types
طبعا نقدر نحول المتغير من نوع الchar لأي نوع تاني مفيش اي مشكلة يعني مثلا هنا:ولما يكون عندنا المتغير من النوع float يعني فيه علامة عشرية بيتم تجاهل الجزء الكسر وبيتحول بس الجزء الصحيح زي كده:كود PHP:
char c = (char)0XAB0041; // the lower 16 bits hex code 0041 is
// assigned to c System.out.println(c); // c is character Aونفس الحكاية لما اجي احول من char لأي نوع تاني زي كده مثلا:كود PHP:
char c = (char)65.25; // decimal 65 is assigned to t System.out.println(c); // c is character A
ملاحظة: عند تحويل قيمة من نوع char بتتحول لرقم اوتوماتك لو كان القيم الأخري ارقام او حروف ولو موجودة مع string بتنضاف عليه زي ماهي يعني بيحصل دمج مش اكتر زي المثال ده:كود PHP:
int i = (int)'A'; // the Unicode of character A is assigned to i System.out.println(i); // i is 65
كود PHP:
int i = '2' + '3'; // (int)'2' is 50 and (int)'3' is 51 System.out.println("i is " + i); int j = 2 + 'a'; // (int)'a' is 97 System.out.println("j is " + j); System.out.println(j + " is the Unicode for character " + (char)j); System.out.println("Chapter" + '2'); display
i is 101
j is 99
99 is the Unicode for character c
Chapter 2
2.10. The String Type
احنا دلوقتي عرفنا متغير يقدر يشيل حرف , طيب بس انا عايز اخزن جملة بحالها اقولك يبقي هاتستخدم متغير بس من نوع string زي كده :ولكن الstring مش زي كل الانواع لأنه مربوط بclass زيه زي الJOptionPane يعني الstring مايعتبرش من الأنواع الجاهزة زي ال int, double يعني مايعتبرش primitive type ولكن هو يعتبر reference type معني الكلام ده هيوضح قدام اللي يهمنا دلوقتي هو ازاي اعمل متغير من نوع string وازاي احط فيه قيمة او ادمج اتنين string مع بعض ودي امثلة عليه :كود PHP:
String message = "Welcome to Java";
كود PHP:
// Three strings are concatenated String message = "Welcome" + "to" + "Java"; // String Chapter is concatenated with number 2 String s = "Chapter" + 2; // s becomes Chapter2
// String Supplement is concatenated with character B String s1 = "Supplement" + 'B'; // s becomes SupplementB
وكمان ممكن استخدم معاه كود الإختصار ده += يعني لو عندنا String فيه قيمة "Welcome to java" واسمه مثلا message لو قولت كده:هيكون الناتج كده: "Welcome to Java and Java is fun"كود PHP:
message += " and Java is fun";
بيقول مثال لو عندنا i=1 و j=2 هيبقي ايه ناتج الجملة دي???اللي هيحصل انه هيطبع "i+j is " وبعد كده هيطبع قيمة i وبعد كده قيمة j اللي هي 12 يعني هيبقي الناتج :كود PHP:
System.out.println("i + j is " + i + j);
ولو عايز اطبع قيمة الجمع بين i و j يبقي هحطهم بين اقواس زي كده:كود PHP:
i + j is 12
كود PHP:
System.out.println("i + j is " +( i + j));
الجمعة، 13 سبتمبر 2013
شــارك الـمـوضـوع مـع أصـدقـائــك ؟
المزيد من المواضيع
البرمجه
الاشتراك في:
تعليقات الرسالة (Atom)
ليست هناك تعليقات:
إرسال تعليق