الدوال الجاهزة الرقمية والنصية
أدوات جاهزة في جافا نستدعيها لإنجاز مهمّة بسرعة دون أن نكتبها بأنفسنا.
- استدعاء دوال Math: max و min و round و pow و random و sqrt و abs.
- تحويل نصّ رقمي إلى عدد بـ Integer.parseInt.
- استخدام دوال النصوص: length و charAt و substring وغيرها.
- تذكّر أن ترقيم الأحرف يبدأ من صفر.
- مقارنة النصوص بـ equals وليس ==
١الدوال الرقمية: كلاس Math
تُستدعى باسم الكلاس مباشرة: Math.اسم_الدالة(...)
| الدالة | الوظيفة | مثال ← الناتج |
|---|---|---|
Math.max(a, b) | الأكبر بين رقمين | Math.max(5, 9) → 9 |
Math.min(a, b) | الأصغر بين رقمين | Math.min(5, 9) → 5 |
Math.round(x) | التقريب لأقرب عدد صحيح | Math.round(3.6) → 4 |
Math.pow(a, b) | الأُسّ: a أُس b | Math.pow(2, 3) → 8.0 |
Math.random() | عدد عشوائي من 0 إلى أقل من 1 | Math.random() → 0.42… |
Math.sqrt(x) | الجذر التربيعي | Math.sqrt(25) → 5.0 |
Math.abs(x) | القيمة المطلقة (بلا إشارة سالبة) | Math.abs(-7) → 7 |
تحويل نصّ إلى رقم: Integer.parseInt
إذا كان الرقم مخزّنًا نصًّا مثل "25" فلا يمكن جمعه حسابيًّا؛ نحوّله أولًا بـ Integer.parseInt (ولعشري: Double.parseDouble).
int n = Integer.parseInt("25"); // من نصّ إلى عدد صحيحSystem.out.println(n + 5); // 30 (جمع حسابي)System.out.println(Math.sqrt(n)); // 5.0System.out.println(Math.abs(-7)); // 7
٢الدوال النصية: String
تُستدعى على المتغيّر النصّي نفسه: s.اسم_الدالة(...)
اكتب أي نصّ، وحرّك المؤشّرات. المربّع المحاط هو charAt، والمظلَّل هو substring.
٣مثال شامل
public class Functions{ public static void main(String[] args) { // دوال رقمية System.out.println(Math.max(5, 9)); // 9 System.out.println(Math.random() * 100); // عشوائي System.out.println(Math.pow(2, 3)); // 8.0 // دوال نصية String s = "Hello Java"; System.out.println(s.length()); // 10 System.out.println(s.toUpperCase()); // HELLO JAVA System.out.println(s.substring(0, 5)); // Hello System.out.println(s.contains("Java")); // true }}
السطر الثاني في الناتج يتغيّر في كل تشغيل لأنه عشوائي (عدد من 0 إلى أقل من 100).
توقّع وتحقّق
أجب قبل أن تنظر إلى الشرح. التصحيح فوري، وإجاباتك تُحفظ.
ما ناتج "Java".charAt(1)؟
ما ناتج "Programming".substring(0, 3)؟
ما ناتج Math.round(2.4)؟
لمقارنة محتوى نصّين نستخدم:
الخلاصة
- دوال Math تُستدعى باسم الكلاس: max و min و round و pow و random و sqrt و abs.
- Integer.parseInt تحوّل النصّ الرقمي إلى عدد صحيح.
- دوال النصّ تُستدعى على المتغيّر: length و toUpperCase و charAt و substring و indexOf و contains و replace و equals.
- ترقيم الأحرف يبدأ من 0، و substring لا تشمل موضع النهاية.
- قارن النصوص بـ equals لا بـ ==
تحدٍّ برمجي: محلّل النصوص
متوسطحلّل النص "Java Programming" باستخدام الدوال الجاهزة، واحسب جذرًا تربيعيًّا.
- اطبع طول النص، ثم النص بأحرف كبيرة.
- اطبع أوّل حرف وآخر حرف (استخدم length() لمعرفة موضع الآخر).
- اطبع الجذر التربيعي لـ 144.
ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:
public class Analyzer{ public static void main(String[] args) { String s = "Java Programming"; // اكتب أوامر التحليل هنا }}
💡 تلميح 1
💡 تلميح 2
حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.
public class Analyzer{ public static void main(String[] args) { String s = "Java Programming"; System.out.println("الطول: " + s.length()); System.out.println(s.toUpperCase()); System.out.println("أول حرف: " + s.charAt(0)); System.out.println("آخر حرف: " + s.charAt(s.length() - 1)); System.out.println("الجذر: " + Math.sqrt(144)); }}
أسئلة التقييم
ورقة العمل: الدوال الجاهزة الرقمية والنصية. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) ناتج Math.max(5, 9) هو:
2) ناتج Math.sqrt(25) هو:
3) طول النص "Java" باستخدام length() هو:
4) لمقارنة نصّين نستخدم:
2السؤال الثاني: صح أم خطأ
3السؤال الثالث: أكمل الفراغات
1) الدالة تعطي القيمة المطلقة للعدد.
💡 من كلاس Math، واسمها اختصار absolute.
2) الدالة تعطي طول النص.
💡 تُكتب بعد اسم المتغيّر النصّي.
3) الدالة substring تُستخدم لـ من النص.
💡 substring تأخذ … من النصّ.
4) الدالة تتحقّق هل النص يحتوي كلمة.
💡 معناها بالإنجليزية «يحتوي».
5) ترقيم أحرف النص يبدأ من .
💡 أوّل حرف موضعه …
4السؤال الرابع: التوصيل
طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):
- 1) Math.pow
- 2) Math.round
- 3) toLowerCase
- 4) indexOf
- 5) replace
- أ. موضع نصّ داخل النص.
- ب. الأُسّ (رفع للقوة).
- ج. التقريب لأقرب صحيح.
- د. تحويل لأحرف صغيرة.
- هـ. استبدال جزء بآخر.
5السؤال الخامس: أسئلة عملية
1) تتبّع الناتج:
System.out.println(Math.max(3, 8));2) تتبّع الناتج:
String s = "Hi";System.out.println(s.toUpperCase());
3) اكتب أمرًا يطبع طول النص المخزّن في المتغيّر name:
System.out.println(name.length());