/Java Programming: Let's Master 8/ii

Java Programming: Let's Master 8/ii

النهارده معادنا نكمل شابتر 8 اللي بيتكلم عن الـ String I/O

8.3. The Character Class

واحد ومجموعة ميثودس constructor فيه Character كلاس الـ

بالطريقة دي character object بنخلق

بفرض ان عندنا equals و compareTo زي ميثود string  وتقريبا تعامل الميثودس معاه هو نفسه مع الـ

وفيه ميثودس تانية زي

 isDigit(char ch), isLetter(char ch), isLetterOrDigit(char ch), isLowerCase(char ch), isUpperCase(char ch), toLowerCase(char ch), toUpperCase(char ch).

8.3.1. Example: Counting Each Letter in a String

String ده مثال بيعد عدد مرات تكرار كل حرف في الـ

toLowerCase بإستخدام ميثود lowercase اول حاجة هنفكر فيها اننا نخلي كل الحروف

array بتاعنا هيبقي counter للحروف بيعد كل حرف اتكرر كام مرة بس لأنهم 26 حرف فالـ counter تاني حاجة هنعمل

“a” مرات تكرار حرف الـ arr[0]فيه بيمثل عدد تكرار الحروف بترتيبهم يعني مثلا  index وكل

بواحد arr[0]  يزود قيمة “a”وهكذا وكل مايقابله حرف هيتخزن فيه عدد

بالتطبيق عليها Character تقريبا كدا غطينا معظم الميثودس اللي موجودة في كلاس
StringBufferيلا بقا نتكلم عن حاجة مهمة جدا وهي ال

8.4. The StringBuilder/StringBuffer Class

String فيهم بعكس كلاس string وبيتميزوا كمان بإمكانية تعديل الـ String الكلاسين دول نقدر نستخدمهم بدل كلاس

العادي بالمرونة وإمكانية التعديل String ككلاس،، يتميز عن كلاس StringBuffer يعني نقدر نقول ان

string واكتر من 30 ميثود للتحكم في الـ 3 constructors علي سبيل المثال عليStringBuffer بيحتوي كلاس

8.4.1. Modifying Strings in the Buffer

زي كده string هنا نقدر نزود او ندحل او نعدل او حتي نحذف اي جزء من الـ

insert وهنعمل عليه جملة”Welcome to java” بيحتوي علي  strBfr بفرض ان عندنا

 “Welcome to HTML and Java”  رقم 11 وبعد الجملة دي هتبقي قيمتها كده index بعد الـ”HTML and”هنا هيضيف جملة

:امثلة علي بعض الميثودس

8.4.2. Example: Ignoring Nonalphanumeric Characters When Checking Palindromes

ولكن هنتجاهل اي حاجة غير الحروف palindrome هنا هنطبق نفس مثال

علشان نعرف العلامة دي حرف ولا علامة isLetterOrDigit فهنستخدم ميثود

بس بتجاهل الرموز.. لو فيه أي استفسار عليه انا موجود palindrome دا يعتبر نفس تطبيق ال

8.5. Command-Line Arguments

 😀 معادنا هنا مع حاجة كان نفسنا نفهمها من زمان وقد جااااااااء وقتها

String[] args اكيد كلنا استغربنا من شكلها وانها بتاخد متغير من نوع main method احنا اول ماعرفنا تركيبة الـ

زيها زي اي ميثود عادية اقدر اناديها في اي مكان زي كده main وطبعا ميثود الـ

8.5.1. Passing Strings to the main Method

او شاشة الدوس للناس اللي شغالة ويندوز  زي كده command lineأو من الـ terminal من علي ال main احنا نقدر نكتب المدخلات لميثود الـ

وطبعا مش لازم ندخل القيم بين “” ولكن بنفصل بين كل قيمة والتانية بمسافة

8.5.2. Example: Processing Command-Line Arguments

ده مثال علي حكاية الإدخال للقيم من شاشة الدوس وهو عبارة عن آلة حاسبة بسيطة بدخله  2+3 زي كده

والخرج بيبقي شكله كده

والبرنامج شكله كده

8.6. (Optional) Regular Expressions

معناها ايه regular expressionعندنا حاجة في البرمجة عموما اسمها

معين String معناها اني بستخدم العلامات بدل الكلام علشان اقدر اعمل بحث او تعديل او فصل جزء معين او

والعلامات دي طبعا بتقدر توصف طبيعة البحث احسن من الكلام . وعندنا علامات كتير زي مثال مثلا

وبعدها اي عدد من الحروف من أول صفر  او اكتر.. أي عدد من الحروف.Java عبارة عن كلمة string وهنا معني الجملة انه عاوز يجيب

… الـ .* معناها زيرو او اكتر

8.6.2. Regular Expression Syntax

ده جدول فيه تقريبا كل العلامات ومعنايهم

 : [\\d]*[02468] مثال : لو عاوزين نجيب اي عدد بينتهي برقم زوجي هيببقي شكلها كده

..[وبعدها زيرو او اكتر من رقم وبينتهي برقم من اللي في الليستة [02468(d) ومعناها ان العدد هيبتدي برقم

..دا مهم جدا يا جماعة خصوصا في تطبيقات الويب regex  الجزء الخاص بال

   اللي موجودة في المرجع.. انا شايف انها أمثلة مفيدة جدا وتعتبر تطبيق كويس أوي عليه regex  ياريت الناس تراجع الأمثلة الخاصة بجزء ال

Text I/O لحد هنا نكون خلصنا النهاردة،، ومعادنا المرة الجاية ان شاء الله مع جزة مهم جدا وهو الجزة الخاص بقى بال

الخاصة بالتطبيق resources  وهو بيتكلم عن طريقة عمل التطبيق بحيث انه يقرأ نص معين من ملف على الهارد ديسك أو في ال

وطريقة ان التطبيق يقدر يدخل على ملف نصي ويكتب جواه.. طبعا الجزء دا مهم جدا في البرامج التجارية أكيد.. و انا أصريت أسيبه بحيث ان يكون لوحده عشان وحدة الموضوع..

it’s totally free to share
thx a lot CATReloaded
thx a lot CATaZine
om4rezz