#شرح الوصول الى الدوال :
ما الفرق بين الدوال الاربع السابقة ؟
في الحقيقة يمكن تعريف الدوال باي من الطرق السابقة ، لكن الفرق يكمن في امكانية الوصول اليها ، مثلا ، الدالة الاولى متاحة لجميع الدوال وجميع الفئات في اي مكان حرفياً - مادام تم استدعائها عبر import - .
الدالة الثانية يمكن الوصول اليها من جميع الدوال في نفس الفئة او يمكن استدعائها عبر import من نفس الحزمة package فقط ، ولا يمكن الوصول اليها من خارج الحزمة ابداً .
الدالة الثالثة تختلف عن سابقاتها بانها ليست static ، ما هي static بالضبط ، ساعطيكم مثالين .
دالة الاخراج ودالة الادخال .
هلا لاحظت الفرق بين دالة print() و دالة next() ؟
الفرق ان print() استطعنا الوصول اليها مباشرة عبر مسارها System.out لكن next() لم نستطع الوصول اليها عبر مسارها مباشرة كالتالي
لذلك اضطررنا الى انشاء كائن من Scanner للوصول اليها ، والسبب في ذلك ان الدالة print() هي دالة static والدالة next() هي دالة ليست static وتسمى non-static وهذا الفرق بينهما ، وايضا لا يمكن في نفس الفئة (class ) ان تستدعي الدوال non-static من داخل الدالة الرئيسية كالتالي
فالكود السابق يسبب خطا ، لان الدالة sleep3() لا يمكن استدعائها الا بانشاء كائن من الفئة الاب لها ، والمثال التالي يوضح طريقة استدعائها
الكود بالكامل :
بالتاكيد الكود مفهوم ، فنحن قد سبق وأن تعاملنا مع الكائنات ، ولان الدالة sleep3 () عبارة عن public فيمكن الوصول اليها من اي مكان ! سيخطر على بالك سؤال ، الم تقل انه عندما نريد الوصول اليها نعرف كائن من الفئة الاب لها ؟
الاجابة نعم ، لكن الدالة الرابعة ان قمت بتعريف كائن خارج الحزمة package فلن تستطيع الوصول اليها لانها ليست public ، وهذا موضوع آخر Access Modifiers وهو معدلات الوصول .
public static void sleep1(){
System.out.print("zzz");
}
static void sleep2(){
System.out.print("zzz");
}
public void sleep3(){
System.out.print("zzz");
}
void sleep4(){
System.out.print("zzz");
}
ما الفرق بين الدوال الاربع السابقة ؟
في الحقيقة يمكن تعريف الدوال باي من الطرق السابقة ، لكن الفرق يكمن في امكانية الوصول اليها ، مثلا ، الدالة الاولى متاحة لجميع الدوال وجميع الفئات في اي مكان حرفياً - مادام تم استدعائها عبر import - .
الدالة الثانية يمكن الوصول اليها من جميع الدوال في نفس الفئة او يمكن استدعائها عبر import من نفس الحزمة package فقط ، ولا يمكن الوصول اليها من خارج الحزمة ابداً .
الدالة الثالثة تختلف عن سابقاتها بانها ليست static ، ما هي static بالضبط ، ساعطيكم مثالين .
دالة الاخراج ودالة الادخال .
Scanner in = new Scanner(System.in);
System.out.print ("");
in.next();
هلا لاحظت الفرق بين دالة print() و دالة next() ؟
الفرق ان print() استطعنا الوصول اليها مباشرة عبر مسارها System.out لكن next() لم نستطع الوصول اليها عبر مسارها مباشرة كالتالي
Scanner.next();
لذلك اضطررنا الى انشاء كائن من Scanner للوصول اليها ، والسبب في ذلك ان الدالة print() هي دالة static والدالة next() هي دالة ليست static وتسمى non-static وهذا الفرق بينهما ، وايضا لا يمكن في نفس الفئة (class ) ان تستدعي الدوال non-static من داخل الدالة الرئيسية كالتالي
public static void main(String[] args) {
sleep3();
}
فالكود السابق يسبب خطا ، لان الدالة sleep3() لا يمكن استدعائها الا بانشاء كائن من الفئة الاب لها ، والمثال التالي يوضح طريقة استدعائها
الكود بالكامل :
public class Main {
public static void main(String[] args) {
Main m = new Main();
m.sleep3();
}
public void sleep3(){
System.out.print("zzz");
}
}
بالتاكيد الكود مفهوم ، فنحن قد سبق وأن تعاملنا مع الكائنات ، ولان الدالة sleep3 () عبارة عن public فيمكن الوصول اليها من اي مكان ! سيخطر على بالك سؤال ، الم تقل انه عندما نريد الوصول اليها نعرف كائن من الفئة الاب لها ؟
الاجابة نعم ، لكن الدالة الرابعة ان قمت بتعريف كائن خارج الحزمة package فلن تستطيع الوصول اليها لانها ليست public ، وهذا موضوع آخر Access Modifiers وهو معدلات الوصول .
#سؤال
ما المخرج ؟
class Car{
String name = "Car Name";
}
public class Main {
public static void main(String[] args) {
Car[] cars = new Car[]{
new Car()
};
System.out.print(cars[0].name);
}
}
ما المخرج ؟
Asem Najee
#سؤال class Car{ String name = "Car Name"; } public class Main { public static void main(String[] args) { Car[] cars = new Car[]{ new Car() }; System.out.print(cars[0].name); } } ما المخرج ؟
المخرج من الكود السابق
Anonymous Quiz
25%
تعبير خاطئ
15%
استثناء نوع NullPointerException
45%
Car Name
15%
null
0%
مخرج آخر ، اكتب تعليقاً
#شرح
عند تنفيذ الكود السابق ستلاحظ مخرجات غير متوقعه، واذا قمت بتنفيذ الكود الذي في التعليق فسيظهر خطا ، ما تفسيرك ؟
public class Main {
public static void main(String[] args) {
System.out.println(0b10);
System.out.println(010);
System.out.println(10);
System.out.println(0x10);
//System.out.println(09);
}
}
عند تنفيذ الكود السابق ستلاحظ مخرجات غير متوقعه، واذا قمت بتنفيذ الكود الذي في التعليق فسيظهر خطا ، ما تفسيرك ؟
#شرح الانظمة المختلفة للارقام
في جافا وعدة لغات اخرى مثل c++ و c# و python يتم التعامل مع الارقام بانظمة مختلفة وفقاً لسابقات محددة توضع قبل الرقم .
مثلا ، نحن نعلم ان الحرف f يمثل الرقم 15 في النظام السادس عشر ، لكن كيف نقوم بطباعته ؟
اذا قمنا بطباعته كالتالي
في الدالة الاولى سيظهر لنا خطا لانه يتوقع ان يكون f اسماً لمتغير غير معرف ، اما في الدالة الثانية فسيطبعه كما هو f بدون تغيير .
لذلك لتفادي التضارب بين الارقام والنصوص وأسماء المتغيرات يتم عمل سابقة مخصصه لكل نظام .
|---|---|---|
| 16 | 8 | 2 |
|---|---|---|
| 0x | 0 | 0b |
|---|---|---|
الجدول السابق يوضح سابقات كل نظام ، ستلاحظ امرا غريباً في النظام الثماني ، وهو انه يبدا ب 0 فقط لذلك لا يمكننا طباعة الرقم التالي 09 او 08 لانه لا يوجد رقم 9 او 8 في هذا النظام ، ولا تتوقع ان يعتبره عدداً عشرياً فيطبعه 9 او 8 .
الآن بما أنك فهمت الانظمة العددية ، عليك البحث عن سبب مخرج الكود التالي :
في جافا وعدة لغات اخرى مثل c++ و c# و python يتم التعامل مع الارقام بانظمة مختلفة وفقاً لسابقات محددة توضع قبل الرقم .
مثلا ، نحن نعلم ان الحرف f يمثل الرقم 15 في النظام السادس عشر ، لكن كيف نقوم بطباعته ؟
اذا قمنا بطباعته كالتالي
System.out.print(f);
// OR
System.out.print ("f");
في الدالة الاولى سيظهر لنا خطا لانه يتوقع ان يكون f اسماً لمتغير غير معرف ، اما في الدالة الثانية فسيطبعه كما هو f بدون تغيير .
لذلك لتفادي التضارب بين الارقام والنصوص وأسماء المتغيرات يتم عمل سابقة مخصصه لكل نظام .
|---|---|---|
| 16 | 8 | 2 |
|---|---|---|
| 0x | 0 | 0b |
|---|---|---|
الجدول السابق يوضح سابقات كل نظام ، ستلاحظ امرا غريباً في النظام الثماني ، وهو انه يبدا ب 0 فقط لذلك لا يمكننا طباعة الرقم التالي 09 او 08 لانه لا يوجد رقم 9 او 8 في هذا النظام ، ولا تتوقع ان يعتبره عدداً عشرياً فيطبعه 9 او 8 .
public class Main {
public static void main(String[] args) {
// Binary
System.out.println(0b1010);
// Octal
System.out.println(07);
// Decimal
System.out.println(10);
// Hex
System.out.println(0xf);
}
}
الآن بما أنك فهمت الانظمة العددية ، عليك البحث عن سبب مخرج الكود التالي :
System.out.println(123_456_78e-5);
موقع هرمش
أفضل موقع عربي لتعلم البرمجة و الأنظمة و الشبكات
موقع تعليمي مجاني يهتم بعلوم الكمبيوتر و يقدم إليك المعرفة بشكل مبسط و مفصل، و هو المكان المناسب لأي شخص يطمح لأن يصبح مبرمجاً محترفاً و مبدعاً في العالم الرقمي.
من افضل مصادر المحتوى البرمجي باللغة العربية ، موقع يشرح بالتفصيل ويوفر مراجع ودروساً في مختلف لغات البرمجة .
https://harmash.com
#روابط
https://harmash.com
#روابط
Asem Najee
من افضل مصادر المحتوى البرمجي باللغة العربية ، موقع يشرح بالتفصيل ويوفر مراجع ودروساً في مختلف لغات البرمجة . https://harmash.com #روابط
عشاق التوثيق ومحبي التعمق في مفاصل اللغات البرمجية ، تقدم لكم هذه الموسوعة توثيقاً عربياً لاغلب لغات البرمجة .
https://wiki.hsoub.com
#روابط
https://wiki.hsoub.com
#روابط
Forwarded from -﮼مشـتسـكولـنِحناش ❖.. (صلاح العُسالي ....❥)
»• ايها الإسرائيليون لقد اغتلتم مـن يفاوض، فأختاروا لكم مـن يقاتل " رعب إسرائيل قادم "تم إختيار يحيى السنوار قائداً لحركة حماس بعد إسماعيل هنية وهو القائد الأشد خطراً على إسرائيل " 🇵🇸 🇵🇸 .
Please open Telegram to view this post
VIEW IN TELEGRAM
هل بدأت تتقن لغة البرمجة java ! او اي لغة اخرى مشابهة لها ؟
يفضل البدء بتعلم لغة توصيفية عند تعلمك لبعض اساسيات البرمجة ؛ تساعد اللغات التوصيفية مثل HTML في فهم اسرع لكيفية التعامل مع واجهات المستخدم .
اللغات التوصيفية سهلة وتسطيع تعلمها بشكل متزامن مع تعلمك لاي لغة برمجية اخرى .
يفضل البدء بتعلم لغة توصيفية عند تعلمك لبعض اساسيات البرمجة ؛ تساعد اللغات التوصيفية مثل HTML في فهم اسرع لكيفية التعامل مع واجهات المستخدم .
اللغات التوصيفية سهلة وتسطيع تعلمها بشكل متزامن مع تعلمك لاي لغة برمجية اخرى .
Asem Najee
المواقع على الانترنت مفيدة جداً ، ولكن برغم فائدتها تواجهنا مشكلة وهي بطئ الإنترنت. حل المشكلة! قم بتحميل الموقع بالكامل الى جهازك (: لتحميل موقع w3schools بالكامل ، يبلغ حجمة 32MB مضغوط، عند فك الضغط يكبر الى 1.46GB حمل الملف من هنا ثم قم بفك الضغط وافتح…
w3schools Offline Version 2020 (1).rar
32 MB
حتى مع توفير رابط التحميل لم يستطع بعض الطلاب تحميل الموقع ، لذلك هذا هو ملف الموقع .
خطوات التشغيل :
- فك ضغط الملف .
- فتح ملف index.html .
ملاحظة : بعد فك الضغط يصبح حجم الموقع 1.4GB .
خطوات التشغيل :
- فك ضغط الملف .
- فتح ملف index.html .
ملاحظة : بعد فك الضغط يصبح حجم الموقع 1.4GB .
المنطق الأعور!
ما زال العرب يعتقدون أنهم ليسوا بحاجة لأن ينظروا بكلتا عينيهم إلى ما يجري حولهم، ولا يتحرجون من وضع يدهم على العين الأخرى، هذا ما يمكن ملاحظته من التعاطف العربي على منصات التواصل الاجتماعي مع طالب جامعة كورنيل الأمريكية السابق، باتريك داي، والذي حُكم عليه بالسجن 21 شهراً، يليها ثلاثة سنوات من الإفراج المشروط، لنشره تهديدات لليهود بالقتل والاغتصاب.
كيف نبرر لأنفسنا أن نرى جريمة الكراهية بعين واحدة حين تكون ضدنا، بينما نغلق العين الأخرى عن الجريمة ذاتها حين تكون ضد غيرنا؟ وكيف ننتقد من يرى أن كل مسلم إرهابي بسبب ما يقترفه بعض المتطرفين بينما لا نتحرج من اعتبار كل يهودي مذنب بسبب ما تقترفه إسرائيل؟ من قال أن جريمة الكراهية لا تُرى إلا بعين واحدة!
ومن الطبيعي بعد ذلك أن يستغلوا تصرفاتنا هذه ليقولوا للعالم أن خطابنا خطاب كراهية، وأننا نكره اليهود بناء على دينهم لا أكثر، فيصبح العقاب الجماعي لكل العرب والمسلمين في الخارج مبرراً.. علينا أن نكون أكثر وعياً وانتباهاً، وقبل هذه وتلك علينا أن نتمثل نبينا الكريم محمد ﷺ، فنرفض وندين جميع أشكال التطرف والكراهية، لنكون ممثلين لجوهر الإسلام الحق بأفضل صورة وعلى أكمل وجه.
حسين اسميك
ما زال العرب يعتقدون أنهم ليسوا بحاجة لأن ينظروا بكلتا عينيهم إلى ما يجري حولهم، ولا يتحرجون من وضع يدهم على العين الأخرى، هذا ما يمكن ملاحظته من التعاطف العربي على منصات التواصل الاجتماعي مع طالب جامعة كورنيل الأمريكية السابق، باتريك داي، والذي حُكم عليه بالسجن 21 شهراً، يليها ثلاثة سنوات من الإفراج المشروط، لنشره تهديدات لليهود بالقتل والاغتصاب.
كيف نبرر لأنفسنا أن نرى جريمة الكراهية بعين واحدة حين تكون ضدنا، بينما نغلق العين الأخرى عن الجريمة ذاتها حين تكون ضد غيرنا؟ وكيف ننتقد من يرى أن كل مسلم إرهابي بسبب ما يقترفه بعض المتطرفين بينما لا نتحرج من اعتبار كل يهودي مذنب بسبب ما تقترفه إسرائيل؟ من قال أن جريمة الكراهية لا تُرى إلا بعين واحدة!
ومن الطبيعي بعد ذلك أن يستغلوا تصرفاتنا هذه ليقولوا للعالم أن خطابنا خطاب كراهية، وأننا نكره اليهود بناء على دينهم لا أكثر، فيصبح العقاب الجماعي لكل العرب والمسلمين في الخارج مبرراً.. علينا أن نكون أكثر وعياً وانتباهاً، وقبل هذه وتلك علينا أن نتمثل نبينا الكريم محمد ﷺ، فنرفض وندين جميع أشكال التطرف والكراهية، لنكون ممثلين لجوهر الإسلام الحق بأفضل صورة وعلى أكمل وجه.
حسين اسميك
ذهب الحيا عن حكام العرب
https://www.tgoop.com/BoqashEcon/44381
https://www.tgoop.com/BoqashEcon/44381
Telegram
بقش - Boqash
📊 ولي العهد السعودي يخشى الاغتيال بسبب التطبيع مع #إسرائيل
#بقش
15 أغسطس 2024
يخشى ولي عهد #السعودية محمد بن سلمان من اغتياله بسبب مساعي التطبيع مع #إسرائيل، على غرار اغتيال الرئيس المصري أنور السادات في العام 1981، والذي توصَّل إلى اتفاقية السلام مع تل…
#بقش
15 أغسطس 2024
يخشى ولي عهد #السعودية محمد بن سلمان من اغتياله بسبب مساعي التطبيع مع #إسرائيل، على غرار اغتيال الرئيس المصري أنور السادات في العام 1981، والذي توصَّل إلى اتفاقية السلام مع تل…
Asem Najee
ذهب الحيا عن حكام العرب https://www.tgoop.com/BoqashEcon/44381
لم يتقدم الغرب بالإلحاد بل بالعلم .
مدونة الطبراني
الصفحة الرئيسية - مدونة الطبراني
أنا أحمد الطبراني، وهذه مدونتي المتواضعة، أنا مهندس برمجيات متخصص، أسعى جاهدًا لتعلم كل ما يدور حول البرمجة وأن أطور نفسي باستمرار ومشاركة ما تعلمته مع الآخرين
#روابط المحتوى العربي ثري بالمحتوى البرمجي ، على عكس ما يعتقد الاغلبية ، يمكنكم التعلم في مواقع كثيرة مثل موسوعة حسوب ، هرمش ، اما لمحبي القراءة فهناك الكثير من المقالات على ويكيبيديا وهناك ايضاً موقع لمبرمج اعجبني صراحةً ، الطبراني يوفر مقالات وكتب في مجالات مختلفة .
لا تنسى ايضاً قناة عاصم على تلجرام .
لا تنسى ايضاً قناة عاصم على تلجرام .
قال الامام علي كرم الله وجهه :
"حدث العاقل بما لا يُعقل فإن صَدَّق فلا عقل له" .
"حدث العاقل بما لا يُعقل فإن صَدَّق فلا عقل له" .
Telegram
Free Premium Courses
Free Premium & Paid Courses For Free
By WinDroid
Buy Ad to advertise on my channel 👇
telega.io/channels/WinDroidPremium/card?r=wj1X07bX
By WinDroid
Buy Ad to advertise on my channel 👇
telega.io/channels/WinDroidPremium/card?r=wj1X07bX
قناة تحتوى على اغلب الكورسات في عالم البرمجة باللغة العربية .
ان كنت تعلم عن ماذا تبحث ، ننصحك بتحميل كورسات مشروحه جيداً وبشكل مجاني .
https://www.tgoop.com/WinDroidPremium
#روابط
ان كنت تعلم عن ماذا تبحث ، ننصحك بتحميل كورسات مشروحه جيداً وبشكل مجاني .
https://www.tgoop.com/WinDroidPremium
#روابط
This media is not supported in your browser
VIEW IN TELEGRAM
■ طريقة التسجيل بالكورسات وتحميلها .