1. أنواع البيانات الأساسية
جراحة تجميلية:
بايت 1 بايت
قصيرة 2 بايت
كثافة العمليات 4 بايت
طويلة 8 بايت
شخصية:
شار 2 بايت
رقم النقطة العائمة:
تعويم 4 بايت
مزدوج 8 بايت
منطقية:
منطقية 1 بايت
2. يضيف Java 7 أعدادًا صحيحة ثنائية جديدة
ابدأ بـ 0b أو 0B
3. الأحرف في Java هي ترميز Unicode 16 بت، والتنسيق هو "/uXXXX"، حيث يمثل xxxx عددًا صحيحًا سداسي عشري
4. تنص Java على اللانهاية الموجبة واللانهاية السالبة والصفر.
اللانهاية الموجبة = عدد موجب مقسوم على 0
اللانهاية السالبة = عدد سالب مقسوم على صفر
اقسم 0.0 على 0.0 أو خذ الجذر التربيعي لعدد سالب لتحصل على رقم ليس
5. الأنواع المنطقية في Java يمكن أن تكون صحيحة وخاطئة فقط
6. لا توجد مصفوفة متعددة الأبعاد في Java
يبدو أن المصفوفات متعددة الأبعاد في لغة C ليست مصفوفات حقيقية، على سبيل المثال، a[3][4]، a[0] a[1] a[2] حقيقية، وهي مليئة بالعناوين، و ديناميكية في لغة C مثل المصفوفة المخصصة
كثافة العمليات [][] ب = كثافة العمليات الجديدة[3][4]
7. طريقة التجميع مع الحزمة في جافا
javac -d Hello.java سيقوم بإنشاء شجرة دليل في الدليل الحالي
قم بتشغيل اسم حزمة جافا.اسم الفئة
8. لا يحتوي مجال الكائنات في تعدد الأشكال في Java على تعدد الأشكال، مثل فئة الأصل object = فئة فرعية جديدة ()، يُسمى object.field الفئة الأصلية، حتى لو كان الحقل مغطى بالفئة الفرعية.
9. مثيل المشغل
التنسيق: مثيل اسم المتغير المرجعي لاسم الفئة (أو الواجهة) يتم استخدامه لتحديد ما إذا كان الكائن السابق هو مثيل لفئة أو فئة فرعية أو فئة تنفيذ للكائن التالي. إذا كان الأمر كذلك، فإنه يُرجع صحيحًا، وإلا فإنه يُرجع خطأ.
10. التحويل بين أنواع البيانات الأساسية وفئات التغليف المقابلة لها في Java
كثافة العمليات = 1؛
عدد صحيح أ = عدد صحيح جديد (أ)؛
a = A.intValue();
الشيء نفسه ينطبق على الأنواع الأخرى.
11. مثال فئة سينجلتون
الفراغ العام الثابت الرئيسي (String[] args)
{
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2);
}
}
حقل الفئة: يجب تحديد القيمة الأولية في كتلة تهيئة ثابتة أو عند الإعلان عن الحقل
حقل المثيل: يجب الإعلان عنه في كتلة تهيئة غير ثابتة أو عن طريق تحديد قيمة أولية أو مُنشئ عند الإعلان عن الحقل.
13. يجب تهيئة المتغيرات النهائية بشكل صريح، ولن يقوم النظام بتهيئة المتغيرات النهائية بشكل ضمني.
14.java سيستخدم التجمع الثابت لإدارة ثوابت السلسلة المباشرة التي تم استخدامها من قبل، على سبيل المثال: String a = "java";، سيقوم النظام بحفظ السلسلة الثابتة "java" في التجمع الثابت، وعندما تكون String b = "java" يتم تنفيذه مرة أخرى، a == b صحيح
15. لا يمكن تجاوز الأساليب النهائية، ولا يمكن وراثة الفئات النهائية.
إذا تم استخدام الطريقة الخاصة، فهي نفس الطريقة الخاصة النهائية.
إذا ظهرت طريقة تم تعديلها باستخدام Final في فئة فرعية، فسيتم تعريفها حديثًا بواسطة الفئة الفرعية وليس لها أي علاقة بالفئة الأصلية.
16. فئة غير قابلة للتغيير: لا يمكن تغيير حقل هذه الفئة بعد الإنشاء. توفر Java ثمانية فئات أساسية متغيرة، وفئات السلسلة كلاهما غير قابلة للتغيير.
17. فئات غير قابلة للتغيير تقوم بتخزين المثيلات
القيمة المنطقية العامة تساوي (Object obj)
{
إذا (هذا == الكائن)
عودة صحيحة؛
إذا (obj != null && obj.getClass() == CacheImmutale.class)
{
CacheImmutale ci = (CacheImmutale)obj;
إرجاع name.equals(ci.getName());
}
عودة كاذبة.
}
رمز التجزئة العام ()
{
إرجاع name.hashCode();
}
}
اختبار CacheImmuteTest للفئة العامة
{
الفراغ العام الثابت الرئيسي (String[] args)
{
CacheImmutale c1 = CacheImmutale.valueOf("Hello");
CacheImmutale c2 = CacheImmutale.valueOf("Hello");
System.out.println(c1 == c2);
}
}
هناك أيضًا java.lang.Integer مقدمة من Java، والتي تستخدم آلية التخزين المؤقت لإنشاء أرقام بين -128-127.
عدد صحيح in2 = Integer.valueOf(6);
عدد صحيح in3= Integer.valueOf(6);
in2 == in3 صحيح؛
18. لا يمكن للثابت والمجرد تعديل الطريقة في نفس الوقت.
19. يمكن أن يحتوي الفصل على فصل أصل وينفذ واجهات متعددة في الواجهة، ويكون الملف عامًا وثابتًا ونهائيًا، والطريقة مجردة عامة.
20. عندما تصل طريقة من فئة داخلية غير ثابتة إلى متغير، يكون ترتيب البحث هو: أولاً داخل الطريقة في الفئة الداخلية -> الفئة الداخلية -> إذا لم يتم العثور عليها في الفئة الخارجية، فسيحدث خطأ في الترجمة.
الطبقة العامة DiscernVariable
{
سلسلة خاصة دعامة = "متغير مثيل للفئة الخارجية"؛
فئة خاصة InClass
{
سلسلة خاصة خاصة = "متغير مثيل للفئة الداخلية"؛
معلومات الفراغ العام ()
{
سلسلة الدعامة = "المتغير المحلي"؛
System.out.println("قيمة الحقل للفئة الخارجية:" + DiscernVariable.this.prop);
System.out.println("قيمة الحقل للفئة الداخلية:" + this.prop);
System.out.println("قيمة المتغير المحلي:" + Prop);
}
}
اختبار الفراغ العام ()
{
InClass in = new InClass();
in.info();
}
الفراغ العام الثابت الرئيسي (String[] args)
{
جديد DiscernVariable().test();
}
}
22. الوصول إلى الطبقات الداخلية خارج الطبقات الخارجية
الوصول إلى الفئات الداخلية غير الثابتة: outclass.Inclass varname = new outclass().new InClass();
الوصول إلى الفئات الداخلية الثابتة: outclass.Inclass varname = new outclass.Inclass();
فئة خارج
{
classIn
{
publicIn()
{
System.out.println("مُنشئ الطبقة الداخلية غير الساكنة");
}
}
}
public classCreatInnerInstance
{
الفراغ العام الثابت الرئيسي (String[] args)
{
Out.In in = new Out().new In();
/*
يمكن كتابة الكود أعلاه بشكل منفصل على النحو التالي:
خارج.داخل؛
خارج خارج = خارج جديد ()؛
in = out.new In();
*/
}
}
يمتد فئة SubClass إلى Out.In
{
// عرض المُنشئ الذي يحدد الفئة الفرعية
فئة فرعية عامة (خارج)
{
// عرض المُنشئ الذي يستدعي الداخل من خلال الكائن المنقول للخارج
out.super();
}
}
فئة StaticOut
{
فئة ثابتة StaticIn
{
StaticIn العامة ()
{
System.out.println("منشئ الطبقة الداخلية الثابتة");
}
}
}
الطبقة العامة CreatStaticInnerInstance
{
الفراغ العام الثابت الرئيسي (String[] args)
{
StaticOut.StaticIn in = new StaticOut.StaticIn();
/*
يمكن كتابة الكود أعلاه بشكل منفصل على النحو التالي:
StaticOut.StaticIn في؛
in = new StaticOut.StaticIn();
*/
}
}
يمتد فئة SubClass StaticOut.StaticIn
{
// لا حاجة لإنشاء مثيل للفئة الداخلية
}