أسلوب و مبادئ كتابة الكود في جافا - Harmash
دائماً إبدأ إسم الكلاس بحرف كبير. · إذا كان إسم الكلاس يتألف من أكثر من كلمة, إجعل أول حرف من كل كلمة كبيراً. · دائماً إبدأ إسم الدالة ...
مبادئ كتابة الكود في جافا
أسلوب و مبادئ كتابة الكود في جافا

[الرئيسية](/)

دورات ▾

[مقالات](/posts)

[مشاريع](/projects)

[أسئلة](/questions)

[كتب](/books)

[تسجيل الدخول](/account/login)

❮

[Programming Basics](/tutorials/programming) [SQL](/tutorials/sql) [HTML](/tutorials/html) [CSS](/tutorials/css) [JavaScript](/tutorials/javascript) [React](/tutorials/react) [Python](/tutorials/python) [C++](/tutorials/cplusplus) [Java](/tutorials/java) [JavaFX](/tutorials/javafx) [Swing](/tutorials/swing) [Problem Solving](/tutorials/algorithms-and-data-structure) [English](/tutorials/english) [English Conversations](/tutorials/english-conversations) [Computer Fundamentals](/tutorials/computer-fundamentals) [Linux](/tutorials/linux) [Learn Typing](/learn-typing)

❯

- الأساسيات
- [Java \- مقدمة](/tutorials/java/overview)
- [Java \- تهيئة بيئة العمل](/tutorials/java/environment-setup)
- [Java \- أساسيات لغة جافا](/tutorials/java/basics)
- [Java \- أسلوب الكتابة](/tutorials/java/basic-syntax)
- [Java \- أول برنامج لك](/tutorials/java/start-coding)
- [Java \- أنواع البيانات](/tutorials/java/basic-data-types)
- [Java \- المتغيرات](/tutorials/java/variables-type)
- [Java \- الدوال](/tutorials/java/methods)
- [Java \- العوامل](/tutorials/java/operators)
- [Java \- الحلقات](/tutorials/java/loops)
- [Java \- الشروط](/tutorials/java/conditions)
- [Java \- الأعداد](/tutorials/java/numbers)
- [Java \- الأحرف](/tutorials/java/characters)
- [Java \- النصوص](/tutorials/java/strings)
- [Java \- المصفوفات](/tutorials/java/arrays)
- [Java \- التاريخ و الوقت](/tutorials/java/date-and-time)
- [Java \- التعابير النمطية](/tutorials/java/regex)
- [Java \- الإستثناءات](/tutorials/java/exceptions)
- البرمجة الكائنية
- [Java \- الكلاس و الكائن](/tutorials/java/class-and-object)
- [Java \- Modifiers](/tutorials/java/modifiers)
- [Java \- التغليف](/tutorials/java/encapsulation)
- [Java \- الوراثة](/tutorials/java/inheritance)
- [Java \- Overriding](/tutorials/java/overriding)
- [Java \- Overloading](/tutorials/java/overloading)
- [Java \- تحويل الأنواع](/tutorials/java/type-casting)
- [Java \- التجريد](/tutorials/java/abstraction)
- [Java \- الإنترفيس](/tutorials/java/interfaces)
- [Java \- تعدد الأشكال](/tutorials/java/polymorphism)
- [Java \- الكلاسات المتداخلة](/tutorials/java/nested-classes)
- [Java \- النوع enum](/tutorials/java/enum)
- برمجة متقدمة
- [Java \- إدخال البيانات](/tutorials/java/user-inputs)
- [Java \- التعامل مع الملفات](/tutorials/java/files-io)
- [Java \- المزامنة](/tutorials/java/serialization)
- [Java \- كلاسات Data Structure](/tutorials/java/data-structure)
- [Java \- كلاسات الإطار Collection](/tutorials/java/collection)
- [Java \- التعميم](/tutorials/java/generics)
- [Java \- الشبكات](/tutorials/java/networking)
- [Java \- تعدد المهام](/tutorials/java/multithreading)
- [Java \- قواعد البيانات](/tutorials/java/jdbc)
- [Java \- Lambda Expressions](/tutorials/java/lambda-expressions)
- [Java \- ما هي خطوتي التالية؟](/tutorials/java/next-step)
- تعلم المزيد
- [بناء تطبيقات بواسطة JavaFX](/tutorials/javafx)
- [بناء تطبيقات بواسطة Swing](/tutorials/swing)
- [تحديات بلغة جافا](/tutorials/algorithms-and-data-structure)
- [مقالات عن جافا](/posts?filter=Java)
- [أسئلة حول جافا](/questions?filter=java)

[الدرس التالي❯](/tutorials/java/start-coding) [❮الدرس السابق](/tutorials/java/basics)

# Javaأسلوب و مبادئ كتابة الكود في جافا

- مبادئ كتابة الكود في جافا
- الأحرف المستخدمة في وضع الأسماء في جافا
- الكلمات المحجوزة في جافا

## مبادئ كتابة الكود في جافا

### إحترام أشكال الأحرف

لغة جافا تطبق مفهوم Case Sensitivity, و هذا يعني أنها تميّز بين الأحرف الكبيرة و الأحرف الصغيرة.

**مثال:** `note` و `Note` ليسوا شيئاً واحداً.

### إسم الكلاس

دائماً إبدأ إسم الكلاس بحرف كبير.

**مثال:** `class First`

إذا كان إسم الكلاس يتألف من أكثر من كلمة, إجعل أول حرف من كل كلمة كبيراً.

**مثال:** `class FirstJavaClass`

### إسم الدالة

دائماً إبدأ إسم الدالة بحرف صغير.

**مثال:** `public void display()`

إذا كان إسم الدالة يتألف من أكثر من كلمة, إجعل أول كلمة تبدأ بحرف صغير و جميع الكلمات التي تليها تبدأ بحرف كبير.

**مثال:** `public void displayUserInfo()`

### إسم الملف الذي يحتوي على الكلاس

إسم كلاس الجافا يجب أن يكون مطابقاً لإسم الملف الموجود بداخله.

**مثال:** إذا كان إسم الكلاس `class Harmash` يجب أن يكون موجوداً في ملف جافا إسمه `Harmash.java` كما في هذه الصورة:

![](/tutorials/java/basic-syntax/b28cd9d4-e558-4c14-94a9-99cfc2cbdf7f_pic_1.PNG)

إذا كان إسم الكلاس مختلف عن إسم الملف فإن مترجم لغة جافا ( javac ) الذي يحول كود الجافا للغة يفهمها الكمبيوتر, لن يستطيع إيجاد الكلاس لأنه يبحث عن الملف أولاً ثم يتوقع أن يكون الكلاس يحمل نفس الإسم, و سيسبب ذلك مشاكل في الكود.

### نقطة البداية

في البرامج الفعلية, سيحتوي برنامجك على أكثر من كلاس حتماً بالإضافة إلى كثير من الملفات و الصور إلخ.. و سترى ذالك في دروس متقدمة.

من هنا جاءت فكرة أنه يمكن للمشروع الذي تبنيه أن يحتوي على العدد الذي تريده من الكلاسات, و لكنه يجب أن يحتوي على نقطة إنطلاق واحدة و هكذا سيعرف المترجم من أين سيبدأ بتنفيذ الأوامر.

نقطة البداية ( Entry Point ) في جافا هي الدالة `main()` و لذلك عند إنشاء أي مشروع جديد تجد هذه الدالة جاهزة فيه كالتالي.

#### مثال

```
public class Example {

    // main() الدالة
    public static void main(String[] args) {

        // الكود الذي يوضع هنا هو الذي سيتنفذ عند تشغيل البرنامج

    }

}
```

إذاً, بالمنطق يجب أن يحتوي أي مشروع على دالة `main()` واحدة لأنها نقطة البداية.

و كخلاصة للموضوع, نقطة البداية تعني أول مكان سيتم تنفيذ الأوامر الموجودة فيه عند تشغيل البرنامج.

### التعليقات

نستخدم التعليقات لنضع ملاحظات حول الكود الذي كتبناه فقط, لكي لا ننسى كيف برمجنا الكود في حال أردنا مراجعته أو التعديل عليه بعد وقت طويل. كما أن التعليقات لا تؤثر إطلاقاً على الكود المكتوب. يوجد أسلوبين لوضع تعليقات في جافا:

تعليق على سطر واحد.

#### مثال

```
// هذا تعليق يتألف من سطر واحد
```

تعليق على عدة أسطر.

#### مثال

```
/* هذا تعليق
 * يتألف من
 * عدة أسطر
 */
```

تذكر: أنت لست مجبراً على وضع تعليقات في برامجك. و لكننا ننصحك بوضع تعليقات دائماً حتى تساعدك في فهم الكود الذي كتبته.

## الأحرف المستخدمة في وضع الأسماء في جافا

أي إسم نضعه لمتغير, دالة, كلاس, كائن إلخ.. يسمى identifier في البرمجة.

في جافا كل عنصر نريد إنشاؤه علينا إعطاؤه إسم خاص, أي علينا تحديد الـ identifier له.

إذاً يتم التمييز بين العناصر في جافا من خلال أسمائهم, أي من خلال الـ Identifiers.

قواعد إلزامية عند إعطاء الأسماء

1. جميع الـ Identifiers يجب أن يبدأوا بحرف كبير بين `A-Z` أو حرف صغير بين `a-z` أو رمز الدولار `$` أو الشحطة `_`.
2. يمنع بدء الـ Identifiers برقم.
3. يمنع استخدام الـ Literals أي القيم `true`, `false` و `null`.
4. يمنع إستخدام أي كلمة من الكلمات المحجوزة ( Keywords ).
5. لا تنسى أن جافا تطبق مبدأ الـ Case Sensitive.

ركز على أول حرف فقط

أمثلة للأسماء التي يسمح باستخدامها: Harmash,name ,$money ,\_number

أمثلة للأسماء التي يمنع استخدامها: 1st ,-cash ,@user

## الكلمات المحجوزة في جافا

جميع الكلمات التالية محجوزة للغة جافا, أي لا يمكن إستخدامها كـ Identifiers.

abstract

assert

boolean

break

byte

case

catch

char

class

const

continue

default

do

double

else

enum

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

new

package

private

protected

public

return

short

static

strictfp

super

switch

synchronized

this

throw

throws

transient

try

void

volatile

while

[الدرس التالي❯](/tutorials/java/start-coding)

إحفظ تقدمي

[❮الدرس السابق](/tutorials/java/basics)

![](/assets/images/harmash-logo.PNG?v=WT8T6ehJTHC1SKflAMzUvolwHzEunAsBmzUaMvtZlg8)

### هدف الموقع

هرمش هو موقع تعليمي مجاني يهتم بعلوم الكمبيوتر و يقدم إليك المعرفة بشكل مبسّط و مفصّل، و هو المكان المناسب لأي شخص يطمح بأن يصبح مبرمجاً محترفاً و مبدعاً في العالم الرقمي.

[حساب هرمش في تويتر](https://twitter.com/harmashcom)[صفحة هرمش في فيسبوك](https://www.facebook.com/harmashcom)[قناة هرمش في يوتيوب](https://www.youtube.com/@harmashcom)[قناة هرمش في تيليقرام](https://telegram.me/harmashcom)[قناة هرمش في واتساب](https://whatsapp.com/channel/0029VaFDGT90gcfAiQNph40E)

### روابط مهمة

[حول الموقع](/about)

[الأسئلة الشائعة](/faq)

[سياسة الخصوصية](/privacy-policy)

[شروط الإستخدام](/terms-of-use)

[أبلغ عن مشكلة](/account/report)

[تبرع للموقع ❤️](/support-us)

### حقوق النشر

جميع الحقوق محفوظة لموقع هرمش. لا يسمح باستخدام الشروحات لأغراض تجارية، إجراء تعديل عليها، نشرها في موقع آخر، وضع الشروحات في تطبيق أو في كتاب إلا في حال أخذ موافقة صريحة من إدارة الموقع كما أن المحتوى مسجل بواسطة DMCA و في حال قيامك بمخالفة حقوق النشر سنضطر آسفين لاتخاذ الإجراءات اللازمة.

[![DMCA.com Protection Status](https://images.dmca.com/Badges/dmca-badge-w150-5x1-07.png?ID=f9112b68-054a-45ee-abf9-9acfad8b5420)](//www.dmca.com/Protection/Status.aspx?ID=f9112b68-054a-45ee-abf9-9acfad8b5420 "DMCA.com Protection Status")

### الدورات

[أساسيات البرمجة](/tutorials/programming)

[قواعد البيانات](/tutorials/sql)

[لغة HTML](/tutorials/html)

[لغة CSS](/tutorials/css)

[لغة JavaScript](/tutorials/javascript)

[مكتبة React](/tutorials/react)

[لغة Python](/tutorials/python)

[لغة ++C](/tutorials/cplusplus)

[لغة Java](/tutorials/java)

[الإطار JavaFX](/tutorials/javafx)

[مكتبة Swing](/tutorials/swing)

[أساسيات الحاسوب](/tutorials/computer-fundamentals)

[نظام لينكس](/tutorials/Linux)

[اللغة الإنجليزية](/tutorials/english)

[التحدث بالإنجليزية](/tutorials/english-conversations)

[تحديات برمجية](/tutorials/algorithms-and-data-structure)

[الكتابة على الكيبورد](/learn-typing)

### أدوات مساعدة

[إختبر سرعتك في الكتابة](/typing-test)

[محرر أساسيات البرمجة](/algo-editor)

[محرر الويب](/tryit)

[أداة إختيار الألوان](/color-picker)

[أداة رسم الأشكال بواسطة CSS](/css-clip-path-maker)

[محول الوحدات](/units-converter)

[محلل عناوين الشبكات](/ip-analyzer)

[تحويل SVG إلى XML](/svg-to-code)

[القرآن الكريم و الأذكار](/quran)

### أقسام الموقع

دورات


[مقالات](/posts) [كتب](/books) [مشاريع](/projects) [أسئلة](/questions)

### إبحث