Java المتغيرات وأنواع البيانات
ما هو المتغير في Java?
متغير في Java عبارة عن حاوية بيانات تقوم بتخزين قيم البيانات أثناء Java تنفيذ البرنامج. يتم تعيين نوع بيانات لكل متغير يحدد نوع وكمية القيمة التي يمكن أن يحملها. المتغير هو اسم موقع الذاكرة للبيانات. ال Java تحتوي المتغيرات بشكل أساسي على ثلاثة أنواع: المحلية والمثيلة والثابتة.
من أجل استخدام متغير في برنامج ما، عليك تنفيذ خطوتين
- إعلان متغير
- تهيئة المتغير
كيفية إعلان المتغيرات في Java?
للإعلان عن متغير، يجب عليك تحديد نوع البيانات وإعطاء المتغير اسمًا فريدًا.
ومن أمثلة الإقرارات الصالحة الأخرى
int a,b,c; float pi; double d; char a;
كيفية تهيئة المتغيرات في Java?
لتهيئة متغير، يجب عليك تعيين قيمة صالحة له.
مثال على التهيئة الصالحة الأخرى هي
pi =3.14f; do =20.22d; a=’v’;
يمكنك الجمع بين إعلان المتغير والتهيئة.
على سبيل المثال:
int a=2,b=4,c=6; float pi=3.14f; double do=20.22d; char a=’v’;
أنواع المتغيرات في Java
In Java، هناك ثلاثة أنواع من المتغيرات:
- المتغيرات المحلية
- متغيرات سريعة
- المتغيرات الثابتة
1) المتغيرات المحلية
المتغيرات المحلية هي متغير تم الإعلان عنه داخل نص الطريقة.
2) متغيرات الحالة
يتم تعريف متغيرات المثيلات بدون الكلمة الأساسية static. يتم إعلانها خارج أي طريقة أو منشئ أو كتلة. هذه المتغيرات خاصة بكل مثيل من الفئة وتُعرف باسم متغيرات المثيلات.
3) المتغيرات الثابتة
يتم تهيئة المتغيرات الثابتة مرة واحدة فقط، في وقت تحميل الفئة، قبل بدء تنفيذ البرنامج. تتم مشاركة هذه المتغيرات بين جميع مثيلات الفئة ويتم تهيئة المتغيرات الثابتة قبل أي متغيرات مثيل.
أنواع المتغيرات في Java مع الأمثلة
class Guru99 { static int a = 1; //static variable int data = 99; //instance variable void method() { int b = 90; //local variable } }
ما هي أنواع البيانات في Java?
أنواع البيانات في Java يتم تعريفها على أنها محددات تخصص أحجامًا وأنواعًا مختلفة من القيم التي يمكن تخزينها في المتغير أو المعرف. Java لديه مجموعة غنية من أنواع البيانات. أنواع البيانات في Java يمكن تقسيمها إلى قسمين :
- أنواع البيانات البدائية :- والتي تشمل عددًا صحيحًا وحرفًا ومنطقيًا وعائمًا
- أنواع البيانات غير البدائية :- والتي تشمل الفئات والمصفوفات والواجهات.
أنواع البيانات البدائية
أنواع البيانات الأولية محددة مسبقًا ومتاحة داخل Java لغة. القيم البدائية لا تشترك في الحالة مع القيم البدائية الأخرى.
هناك 8 أنواع بدائية: byte، short، int، long، char، float، double، وboolean
أنواع البيانات الصحيحة
byte (1 byte) short (2 bytes) int (4 bytes) long (8 bytes)
نوع البيانات العائمة
float (4 bytes) double (8 bytes)
نوع البيانات النصية
char (2 bytes)
منطقي
boolean (1 byte) (true/false)
نوع البيانات | القيمة الافتراضية | حجم افتراضى |
---|---|---|
بايت | 0 | بايت 1 |
في صفقات | 0 | بايت 2 |
مادبا | 0 | بايت 4 |
التداول الطويل | 0L | بايت 8 |
الطفو | 0.0f | بايت 4 |
مضاعفة | 0.0d | بايت 8 |
منطقية | زائف | 1 بت |
دبابة | "\ u0000" | بايت 2 |
نقطة لنتذكر:
- يتم توقيع جميع أنواع البيانات الرقمية (+/-).
- يظل حجم أنواع البيانات كما هو على جميع الأنظمة الأساسية (موحد)
- نوع البيانات شار في Java هو 2 بايت لأنه يستخدم UNICODE مجموعة الأحرف. بحكم ذلك، Java يدعم التدويل. UNICODE عبارة عن مجموعة أحرف تغطي جميع النصوص واللغات المعروفة في العالم
Java تحويل النوع المتغير وصب النوع
يمكن لمتغير من نوع واحد أن يتلقى قيمة من نوع آخر. هنا هناك حالتان -
حالة 1) يتم تعيين متغير ذو سعة أصغر إلى متغير آخر ذو سعة أكبر.
هذه العملية تلقائية، وتعرف غير الصريحة بـ تحويل
حالة 2) يتم تعيين متغير ذو سعة أكبر لمتغير آخر ذو سعة أصغر
في مثل هذه الحالات، عليك أن تحدد بوضوح عامل تحويل النوع. تُعرف هذه العملية باسم نوع الصب.
في حالة عدم تحديد عامل تحويل النوع، يعطي المترجم خطأً. نظرًا لأن هذه القاعدة يتم فرضها بواسطة المترجم، فإنها تجعل المبرمج على دراية بأن التحويل الذي يوشك على القيام به قد يتسبب في بعض الفقد في البيانات ويمنع خسائر عرضية.
مثال: لفهم نوع الصب
الخطوة 1) انسخ الكود التالي إلى المحرر.
class Demo { public static void main(String args[]) { byte x; int a = 270; double b = 128.128; System.out.println("int converted to byte"); x = (byte) a; System.out.println("a and x " + a + " " + x); System.out.println("double converted to int"); a = (int) b; System.out.println("b and a " + b + " " + a); System.out.println("\ndouble converted to byte"); x = (byte)b; System.out.println("b and x " + b + " " + x); } }
الخطوة 2) حفظ وتجميع وتشغيل التعليمات البرمجية.
الناتج المتوقع:
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128