كتاب قرأته: تعلم JAVA باستخدام بيئة التطوير JBuilder

Posted: 3 يناير 2012 in كتاب قرأته, مقالات علمية, شروح برامج, علوم حاسوب وبرمجة

يقدم لك هذا الكتاب مجموعة من المعلومات المدججة بالأمثلة الوافرة بحيث ينقلك من نقطة البداية التي لا تعلم فيها شيئاً عن لغة Java إلى مرحلة تصبح فيها متمرساً بهذه اللغة.
إذ يتميز هذا الكتاب عن بقية الكتب التقليدية بنقطتين هامتين: عرض المعلومات بطريقة أكاديمية ومدروسة، وتقديم شرح لا بأس به حول بيئة التطوير المتكاملة JBuilder بحيث يضعك في مرحلة تستطيع فيها كتابة جميع أنواع التطبيقات التي تحتاجها باستخدام هذه البيئة. هذا الكتاب موجه إلى الأشخاص الذين سئموا من الكتب التي تتناول لغة Java (العربية أو الأجنبية) والتي تفترض منهم معرفة مسبقة بلغة Java أو بلغة برمجية أخرى. ستلاحظ هذا من خلال المواضيع المطروحة ضمنه:

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

يمكنكم الإطلاع على أحد فصول الكتاب من هنا
والكتاب حسب ما نعتقد مأخوذ بتصرف من كتاب باللغة الإنجليزية بعنوان: Learning Java with JBuilder يمكنكم الحصول على نسخته الإلكترونية من هنا

ولقد جاءت محتويات الكتاب كالتالي:

القسم الأول: المبادئ الأساسية في البرمجة
1 مقدمة في لغة Java وبيئة التطوير JBuilder 9
1.1 مقدمة 10
1.2 تاريخ لغة البرمجة Java 10
1.3 ميزات لغة Java 11
1.3.1 لغة Java بسيطة 11
1.3.2 لغة Java كائنية التوجه 12
1.3.3 لغة Java موزَّعة 13
1.3.4 لغة Java تفسيرية 13
1.3.5 لغة Java قوية 14
1.3.6 لغة Java آمنة 15
1.3.7 لغة Java ذات هيكلية حيادية 15
1.3.8 لغة Java قابلة للحمل 15
1.3.9 أداء لغة Java 16
1.3.10 لغة Java متعددة المسالك 17
1.3.11 لغة Java ديناميكية 17
1.4 شبكة الويب العالمية، لغة Java وما وراء ذلك 17
1.5 مواصفات لغة Java وواجهة برمجة التطبيقات API 20
1.6 أدوات مطوِّر Java JDK)) وبيئات تطوير لغة Java IDEs) وJBuilder) 21
1.7 بناء برنامج بسيط في Java 22
1.8 تحليل برنامج Java 24
1.8.1 التعليقات 24
1.8.2 الحزم 25
1.8.3 الكلمات المحجوزة 25
1.8.4 المعدلات 25
1.8.5 العبارات 26
1.8.6 الكتل 26
1.8.7 الأصناف 26
1.8.8 المناهج 26
1.8.9 المنهج main 27
1.9 مدخل إلى بيئة التطوير JBuilder 27
1.9.1 القائمة الرئيسية 29
1.9.2 شريط الأدوات 29
1.9.3 شريط الحالة 29
1.9.4 لوحة المشروع 29
1.9.5 لوحة المحتوى 31
1.9.6 لوحة البنية 33
1.10 بناء مشروع 34
1.11 صنع وترجمة وتنفيذ برنامجJava 37
1.11.1 صنع برنامج Java 38
1.11.2 ترجمة برامج Java 42
1.11.3 تنفيذ تطبيق Java 45
1.12 عرض النص ضمن صندوق حوار الرسالة 46
خلاصة الفصل 49
2 أنماط البيانات الأولية والعمليات 51
2.1 مقدمة 52
2.2 كتابة برامج بسيطة 52
2.3 تنفيذ المثال باستخدام بيئة التطوير JBuilder 56
2.4 المعرفات 59
2.5 المتحولات 60
2.5.1 التصريح عن المتحولات 60
2.6 عبارات الإسناد وتعابير الإسناد 61
2.6.1 التصريح عن المتحولات وتهيئتها في خطوة واحدة 63
2.7 الثوابت 63
2.8 أنماط البيانات العددية والعمليات 64
2.8.1 العوامل العددية 65
2.8.2 السلاسل العددية 66
2.8.3 التعابير الحسابية 67
2.8.4 عوامل الاختصار 68
2.9 التحويلات في الأنماط العددية 71
2.10 نمط البيانات المحرفي والعمليات المطبقة عليه 74
2.10.1 الترميز Unicode والترميز ASCII 74
2.10.2 سلاسل الهروب التابعة للمحارف الخاصة 75
2.10.3 التحويل بين الأنماط المحرفية والأنماط العددية 76
2.11 نمط البيانات المنطقي والعمليات المطبقة عليه 77
2.11.1 العوامل المنطقية غير الشرطية مقابل العوامل المنطقية الشرطية 80
2.12 أسبقية العوامل وترتيب الحدود 82
2.13 ترتيب تقييم الحدود 83
2.14 الحصول على الدخل من خلال صندوق حوار الدخل 84
2.14.1 تحويل النص إلى عدد 85
2.15 أمثلة عملية 88
2.16 نموذج البرمجة والتوثيق 96
2.16.1 التعليقات المناسبة ونماذج التعليق 96
2.16.2 اصطلاحات التسمية 97
2.16.3 المسافة البادئة المناسبة والمباعدة بين الكلمات 98
2.16.4 نماذج الكتل 98
2.16.5 أمثلة حول نماذج الشيفرة 99
2.17 أخطاء البرمجة 100
2.17.1 الأخطاء القواعدية 100
2.17.2 أخطاء زمن التنفيذ 102
2.17.3 الأخطاء المنطقية 103
2.18 التنقيح 104
2.19 التنقيح في بيئة JBuilder 105
2.19.1 تحديد نقط التوقف 105
2.19.2 تشغيل المنقح 106
2.19.3 التحكم في تنفيذ البرنامج 108
2.19.4 فحص وتعديل قيم البيانات 110
2.20 تنفيذ برنامج Java من خلال سطر الأوامر 114
2.21 المساعدة المباشرة في بيئة JBuilder 115
2.21.1 الوصول من خلال القائمة “Help” 116
2.21.2 الحصول على المساعدة حول الكلمات المفتاحية والأصناف في Java 117
خلاصة الفصل 120
3 عبارات التحكم 123
3.1 مقدمة 123
3.2 عبارات الاختيار 124
3.2.1 عبارات if الشرطية 124
3.2.2 عبارات if … else 126
3.2.3 عبارات if المعششة 128
3.2.4 عبارات Switch 135
3.2.5 التعابير الشرطية 137
3.3 عبارات الحلقة 138
3.3.1 الحلقة while 138
3.3.2 الحلقة do-while 142
3.3.3 الحلقة for 144
3.4.3 الحلقات المعششة 149
3.5 كيفية اختيار الحلقة المناسبة 151
3.6 استخدام الكلمتين المفتاحيتين break و continue 152
3.6.1 عبارات اللافتة والخروج باستخدام اللافتة 155
3.7 أمثلة عملية 157
3.8 تنقيح الحلقات 164
خلاصة الفصل 165
4 المناهج 167
4.1 مقدمة 168
4.2 صنع المنهج 168
4.3 استدعاء المنهج 170
4.4 تمرير البارامترات 174
4.4.1 التمرير بالقيمة 175
4.5 المناهج ذات التحميل الزائد 177
4.6 مجال التغطية للمتحولات المحلية 183
4.7 تجريد المنهج 184
4.8 الصنف Math 185
4.8.1 المناهج المتعلقة بعلم المثلثات (المناهج المثلثية) 185
4.8.2 المناهج الأسية 186
4.8.3 مناهج التدوير (Rounding Methods) 186
14.8.4 المناهج min، max، abs، random 188
4.9 أمثلة عملية 194
4.10 العودية 202
4.10.1 حساب العاملي 202
4.10.2 حساب أعداد فيبوناجي (Fibonacci Numbers) 207
4.10.3 مشكلة برج هانوي 210
4.10.4 العودية وجهاً لوجه مع المرور 214
خلاصة الفصل 215
5 المصفوفات 217
5.1 مقدمة 218
5.2 التصريح عن متحولات من نوع مصفوفة وصنع المصفوفات 218
5.3 تهيئة ومعالجة المصفوفات 220
5.4 نسخ المصفوفات 227
5.5 تمرير المصفوفات إلى المناهج 230
5.6 المصفوفات متعددة الأبعاد 240
5.6.1 التصريح عن المتحولات من أجل مصفوفات متعددة الأبعاد وإنشاء مصفوفات متعددة الأبعاد 240
5.6.2 الحصول على طول المصفوفات متعددة الأبعاد 242
5.6.3 المصفوفات غير المنتظمة 242
5.7 فرز المصفوفات 250
5.8 البحث في المصفوفات 253
5.8.1 طريقة البحث الخطي 253
5.8.2 طريقة البحث الثنائي 256
خلاصة الفصل 260
القسم الثاني: البرمجة غرضية التوجه
6 الكائنات والأصناف 265
6.1 مقدمة 266
6.2 تعريف الأصناف من أجل الكائنات 266
6.3 بناء الكائنات باستخدام البواني 268
6.4 الوصول إلى الكائنات باستخدام متحولات مرجعية 270
6.4.1 الوصول إلى بيانات الكائن ومناهجه 271
6.4.2 الفرق بين المتحولات التي تنتمي إلى الأنماط الأولية والمتحولات التي تنتمي إلى الأنماط المرجعية 277
6.5 معدلات الرؤية والموصلات (Accessors) والمحددات (Mutators) 279
6.6 تمرير الكائنات إلى المناهج 285
6.7 المتحولات الستاتيكية (Static) والثوابت (Constants والمناهج 287
6.8 مجال التغطية للمتحولات 294
6.9 الكلمة المفتاحية this 296
6.10 مصفوفة من الكائنات 297
6.11 تجريد الصنف 300
6.12 أمثلة عملية 301
6.13 الأصناف الداخلية 310
خلاصة الفصل 311
7 النصوص 315
7.1 مقدمة 315
7.2 الصنف String 316
7.2.1 بناء السلسلة النصية 316
7.2.2 طول النص واستعادة المحارف المنفصلة 319
7.2.3 دمج النص 320
7.2.4 استخراج نصوص فرعية (جزئية) 321
7.2.5 مقارنة النصوص 322
7.2.6 تحويلات النص 324
7.2.7 البحث عن محرف أو عن نص جزئي في النص الأصلي 324
7.2.8 التحويل بين النصوص والمصفوفات 325
7.2.9 تحويل المحارف والقيم العددية إلى نصوص 326
7.3 الصنف Character 329
7.4 الصنف StringBuffer 332
7.4.1 بناء وسيط نصي (String Buffer) 332
7.4.2 تعديل النصوص الموجودة في الوسيط 333
7.4.3 المناهج toString و Capacity و length و setLength  وcharAt 335
7.5 الصنف StringTokenizer 338
7.6 بارامترات سطر الأوامر 341
7.6.1 تمرير البارامترات إلى برامج Java 341
7.6.2 معالجة بارامترات سطر الأوامر 342
خلاصة الفصل 345
8 الوراثة وتعددية الأشكال 347
8.1 مقدمة 348
8.2 الأصناف الأب والأصناف الابن 348
8.3 استخدام الكلمة المفتاحية super 351
8.3.1 استدعاء بانيات الصنف الأب 351
8.3.2 استدعاء المناهج التابعة للصنف الأب 353
8.4 تجاوز المناهج 353
8.4 الصنف Object 356
8.4.1 المنهج equals 357
8.4.2 المنهج hashCode 357
8.4.3 المنهج toString 358
8.5 تعددية الأشكال والربط الديناميكي والبرمجة العامة 359
8.6 تحويل أنماط الكائنات والعامل instanceof 361
8.7 حجب الحقول والمناهج الستاتيكية 366
8.8 البيانات المحمية والمناهج المحمية (protected) 369
8.8.1 استخدام معدلات قابلية الرؤية 369
8.9 الأصناف النهائية والمناهج النهائية والمتحولات النهائية (final) 370
8.10 المناهج finalize وclone وgetClass 371
8.10.1 المنهج finalize 371
8.10.2 المنهج clone 373
8.10.3 المنهج getClass 373
8.11 كتل التهيئة 374
8.11.1 كتلة التهيئة الستاتيكية 375
خلاصة الفصل 377
9 الأصناف المجردة والواجهات 381
9.1 مقدمة 381
9.2 الأصناف المجردة 382
9.3 الصنفان Calendar وGregorianCalendar 391
9.4 الواجهات Interfaces 392
9.4.1 الواجهات والأصناف المجردة 397
9.4.2 الواجهة Cloneable 399
9.5 معالجة قيم أنماط البيانات الأولية مثل الكائنات 403
9.5.1 بانيات الأصناف المغلفة للقيم العددية 404
9.5.2 الثوابت الموجودة في الأصناف المغلفة للقيم العددية 405
9.5.3 مناهج التحويل 406
9.5.4 المنهج الستاتيكي valueOf 406
9.5.5 المناهج المستخدمة من أجل تفسير السلاسل النصية إلى أرقام 406
خلاصة الفصل 410
10 النمذجة كائنية التوجه 413
10.1 مقدمة 414
10.2 عملية تطوير البرمجيات 414
10.3 تحليل العلاقات القائمة بين الكائنات 416
10.3.1 الترافق (Association) 416
10.3.2 التجميع (Aggregation) 418
10.3.3 الوراثة 419
10.4 تطوير الأصناف 420
10.5 الصنف Rational 431
10.6 الخطوط الأساسية في عملية تصميم الصنف 438
10.6.1 تعريف الصنف 438
10.6.2 استخدام معدلات قابلية الرؤية public وprotected وprivate 438
10.6.3 استخدام المعدل static 439
10.6.4 استخدام الوراثة أم التركيب؟ 439
10.6.5 استخدام الواجهات أم الأصناف المجردة؟ 440
10.7 نمذجة السلوك الديناميكي باستخدام المخططات البيانية المتعاقبة والمخططات البيانية لخريطة الحالية 441
10.7.1 المخططات البيانية المتعاقبة 441
10.7.2 المخططات البيانية لخريطة الحالة 442
10.8 مثال عملي 443
10.9 تصميم الأصناف من أجل اللوائح المترابطة 451
10.10 البرمجة المعتمدة على إطار العمل باستخدام واجهة برمجة تطبيقات (API) Java 461
خلاصة الفصل 462
القسم الثالث: برمجة واجهة المستخدم الرسومية GUI
11 مدخل إلى برمجة واجهة المستخدم الرسومية 465
11.1 مقدمة 466
11.2 واجهة برمجة تطبيقات Java GUI 467
11.2.1 الأصناف الحاوية 468
11.2.2 أصناف GUI المساعدة 469
11.2.3 عناصر Swing GUI 470
11.3 الإطارات Frames 471
11.3.1 صنع الإطار 471
11.3.2 صنع إطار 473
11.3.3 إضافة العناصر إلى الإطار 475
11.4 إدارات شكل التخطيط 477
11.4.1 FlowLayout 477
11.4.2 GridLayout 481
11.4.3 Border Layout 483
11.4.4 خصائص إدارات شكل التخطيط 486
11.4.5 المنهجان Validate وdoLayout 486
11.5 استخدام اللوحات (Panels) كحاويات 486
11.6 رسم الخطوط والصور والرسوميات الأخرى ضمن اللوحات 489
11.7 الصنف Color 492
11.8 الصنفان Font وFontMetrics 493
11.9 رسم الأشكال الهندسية 501
11.9.1 رسم الخطوط 501
11.9.2 رسم المستطيلات 502
11.2.3 رسم الأشكال البيضاوية 505
11.9.4 رسم الأقواس 506
11.9.5 الصنف Polygon وكيفية رسم المضلعات ومتعددات الخطوط 508
11.10 مثال عملي 512
خلاصة الفصل 518
12 البرمجة المقادة بالحدث 523
12.1 مقدمة 523
12.2 الحدث ومصدر الحدث 524
12.3 المتنصتات والمسجلات ومعالجة الأحداث 525
12.4 أحداث الفأرة 538
12.5 أحداث لوحة المفاتيح 544
خلاصة الفصل 548
13 صنع واجهة المستخدم 551
13.1 مقدمة 552
13.2 الصنفان Component و JComponent 552
13.3 الأزرار 554
13.4 اللافتات 560
13.5 حقول النص 564
13.6 حقول المساحة 567
13.7 صناديق الخيارات المتاحة 573
13.8 اللوائح 577
13.9 صناديق الاختيار 582
13.10 أزرار الخيار 588
13.11 الحدود 594
13.12 صناديق الحوار JOptionPane 603
13.12.1 صناديق حوار الرسالة 604
13.12.2 صناديق حوار التأكيد 606
13.12.3 صناديق حوار الدخل 607
13.12.4 صناديق حوار الاختيار OptionDialogs 609
13.13 القوائم 614
13.13.1 صنع القوائم 614
13.13.2 رموز الصور ومفاتيح الاختصار والمفاتيح المسرِّعة 618
13.14 صنع أكثر من نافذة 624
13.15 أشرطة التمرير 629
13.16 لوحة التمرير 634
13.7 اللوحات المجدولة 640
خلاصة الفصل 644
14 البريمجات 647
14.1 مقدمة 647
14.2 الصنف Applet 648
12.2.1 المنهج init 650
14.2.2 المنهج start 650
14.2.3 المنهج stop 650
14.2.4 المنهج destroy 650
14.3 الصنف JApplet 651
14.4 صنع بريمج Java باستخدام معالج البريمج الموجود في بيئة JBuilder 652
14.5 عرض البريمجات 654
14.5.1 عرض البريمجات في لوحة المحتوى 654
14.5.2 عرض البريمجات باستخدام البرنامج الخدمي AppletViewer 655
14.5.3 عرض البريمج من خلال مستعرض الويب 655
14.6 الملف HTML والمعرف applet 657
14.7 تمرير البارامترات إلى البريمجات 662
14.8 تنفيذ البريمجات على أنها تطبيقات قائمة بحد ذاتها 665
14.9 مثال عملي 669
خلاصة الفصل 677
القسم الرابع: تطوير مشاريع شاملة
15 الاستثناءات والتأكيدات 681
15.1 مقدمة 682
15.2 الاستثناءات وأنماطها 682
15.2.1 أصناف الاستثناءات 683
15.2.2 الاستثناءان Checked وUnchecked 685
15.3 التعرف على كيفية معالجة الاستثناء 686
15.3.1 التصريح عن الاستثناءات 686
15.3.2 رمي الاستثناءات 687
15.3.3 التقاط الاستثناءات 687
15.4 إعادة رمي الاستثناءات 696
15.5 العبارة finally 696
15.6 متى نستخدم الاستثناءات؟ 697
15.7 صنع أصناف استثناءات مخصصة 698
15.8 التأكيدات 704
15.8.1 التصريح عن التأكيدات 704
15.8.2 ترجمة البرامج مع التأكيدات 706
15.8.3 تنفيذ البرامج مع التأكيدات 706
15.8.4 متى يجب استخدام معالجة الاستثناء ومتى يجب استخدام التأكيدات؟ 707
خلاصة الفصل 709
16 الدخل والخرج 711
16.1 مقدمة 712
16.2 الصنف File 712
16.3 مجاري الدخل والخرج I/O Streams 718
16.3.1 أصناف المجاري 719
16.3.2 الصنفان InputStream وRreader 720
16.3.3 الصنفان OutputStream وWrite 722
16.4 مجاري الملفات 722
16.5 مجاري الترشيح 726
16.6 مجاري البيانات 727
16.7 مجاري الطباعة 731
16.8 المجاري المؤقتة 734
16.9 صناديق حوار الملف 738
16.10 إدخال النص وإخراجه من خلال الشاشة Console 745
16.11 مجاري الكائنات 748
16.11.1 الصنفان ObjectOutputStream وObjectInputStream 749
16.11.2 الكلمة المفتاحية transient 755
16.12 ملفات الوصول العشوائي 756
16.13 تجزئة الملفات النصية 768
16.14 مجاري المصفوفات ومجاري الأنابيب ومجاري السلاسل النصية ومجاري الدفع الخلفي ومجاري رقم السطر. 772
خلاصة الفصل 773
17 بنى المعطيات في Java 775
17.1 مقدمة 776
17.2 الواجهة Collection والصنف AbstractCollection 777
17.2.1 المناهج في الواجهة Collection 778
17.2.2 المنهجان hashCode وequals 779
17.3 الواجهة Set والصنفان AbstractSet و HashSet 780
17.4 الصنف LinkedHashSet 782
17.5 الواجهة SortedSet والصنف TreeSet 784
17.6 الواجهة Comparator 786
17.7 الواجهة List والصنف AbstractList والصنف AbstractSequentialList 789
17.8 الصنفان ArrayList و LinkedList 791
17.9 الصنف Vector 794
17.10 الصنف Stack 797
17.11 الواجهة Map والصنف AbstractMap والواجهة SortedMap والأصناف HashMap وLinkedHashMap وTreeMap 800
17.12 الصنف Collections 807
17.13 الصنف Arrays 811
خلاصة الفصل 814
18 تعددية المسالك Multithreading 819
18.1 مقدمة 820
18.2 مفهوم المسالك 820
18.3 صنع المسالك من خلال وراثة الصنف Thread 821
18.4 صنع المسالك بواسطة تنفيذ الواجهة Runnable 825
18.5 التحكم بالمسالك والاتصالات بين المسالك 828
18.6 حالات المسلك 830
18.7 مجموعات المسالك 831
18.8 التزامن 832
18.8.1 الكلمة المفتاحية synchronized 836
18.8.2 عبارات التزامن 837
18.9 التحكم في التحريك باستخدام المسالك 838
18.10 التحكم في التحريك باستخدام الصنف Timer 842
خلاصة الفصل 848
19 الوسائط المتعددة 851
19.1 مقدمة 851
19.2 تشغيل الصوتيات 852
19.3 تشغيل الملفات الصوتية في مسلك منفصل 857
19.4 عرض الصور 860
19.5 تحميل الصور والملفات الصوتية في تطبيقات Java 864
19.6 عرض سلسلة من الصور 869
19.7 استخدام الصنف MediaTracker 873
خلاصة الفصل 877
A كلمات Java المفتاحية 879
B مجموعة محارف الترميز ASCII 881
C مخطط أسبقية العوامل 885
D معدلات Java 887
E الترميزات الرسومية في اللغة UML 889
الأصناف والواجهات 889
المعدلات public وprivate وprotected و static 890
العلاقات بين الأصناف 890
الأصناف المجردة والواجهات 892
المخططات المتعاقبة 892
مخططات خريطة الحالة 893
F القيم الخاصة لأعداد الفاصلة العائمة 895
G معاني الكلمات 897
جدول المحتويات 921
تعليقات
  1. abdallah كتب:

    كتاب جميل جدا لكن تظيف رابط لتحميل هذا الكتاب

    • أحمد جبر كتب:

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

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار وردبرس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s