/ برمجة: جافا. أنواع البيانات

برمجة: جافا. أنواع البيانات

يتم تحديد نوع البيانات بواسطة ثلاثة مكونات:

  • مجموعة من القيم أو الكائنات ؛
  • مجموعة من العمليات التي يمكن تطبيقها على جميع القيم في المجموعة ؛
  • تمثيل البيانات التي تحدد تخزينها.

ما هي أنواع البيانات في جافا؟

تحتوي لغة البرمجة على بعض الأنواع المضمنة مسبقًا وتسمح للمبرمجين بتعريف أنواعهم الخاصة والمعرفة من قبل المستخدم.

في Java ، يتم تقسيم أنواع البيانات إلى بدائي ومرجع.

"بدائي" يعني ذلك أكثرالتقسيم مستحيل. لتوسيع أو تغيير لغة البرمجة لا يسمح. يتم وصف نوع البيانات هذا من خلال أنواع مخصصة و أنواع أخرى مخصصة.

يحتوي متغير من النوع الأساسي على قيمة ، ويحتوي متغير مرجع على عنوان كائن في الذاكرة.

أنواع البيانات جافا

لغة جافا. أنواع البيانات: الوقت والتاريخ

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

  • د = تاريخ جديد ().

رابط المثال هو أيضا سلسلة.

لغة جافا. أنواع البيانات: سلسلة

السلسلة عبارة عن فئة محددة في مكتبة Java ، ويمكن استخدامها للعمل مع النص (تسلسل حروف).

يكون تعريف متغير سلسلة مرجع كالتالي: String str.

قبل تعيين مرجع إلى كائن من هذا المتغير ، يجب أن تقوم بإنشائه باستخدام المشغل الجديد. على سبيل المثال ، يمكنك إنشاء كائن من الفئة String باستخدام النص "Hello":

  • str = new String ("Hello").

Что происходит при выполнении этого кода?أولاً ، يتم تخصيص الذاكرة ، ويرتبط اسم str بموقع الذاكرة هذا. هذا لا يختلف عن التصريح بمتغير بدائي. ينشئ جزء التعليمات البرمجية الثاني كائن سلسلة في الذاكرة مع النص "Hello" ويقوم بتخزين مرجع إليه (أو عنوان ذاكرة) في str.

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

  • string str1؛
  • سلسلة str2
  • str1 = سلسلة جديدة ("Hello") ؛
  • str2 = str1 ؛

هناك permalink null يمكن تخصيصه لأي متغير مرجع. لا يشير إلى أي كائن.

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

  • String str1 = "مرحبًا".

أنواع بيانات Java البدائية هي بايت ، قصيرة ، int ،طويلة ، شار ، تعويم ، مزدوجة وبوليانية. تقع في فئتين: منطقية و رقمية. يمكن تقسيم هذا الأخير إلى أرقام صحيحة وأرقام عائمة.

أنواع بيانات Java الصحيحة هي أنواع رقمية قيمها أعداد صحيحة. هناك خمسة منهم: البايت ، القصير ، الباحث ، طويل ، وشار.

أنواع البيانات جافا

كثافة العمليات

Int هو نوع بيانات بدائي 32 بت موقعة. يأخذ المتغير 32 بت من الذاكرة. النطاق الصالح هو -2147483648 إلى 2147483647 (-231 ما يصل إلى 231 - 1). كل الأعداد الصحيحة في هذا النطاق هي حرفية أو ثوابت صحيحة. على سبيل المثال ، 10 ، -200 ، 0 ، 30 ، 19 هي قيم int. يمكن تعيينها إلى متغير int:

  • int num1 = 21 ؛

يمكن التعبير عن القيم الحرفية الصحيحة كأرقام ثنائية وثمانية وعشرية وأرقام ست عشرية.

عندما تبدأ الحرفية من الصفر ولها رقمين على الأقل ، تعتبر مكتوبة باللغة الثمانية. تمثل 0 و 00 القيمة نفسها - صفر.

تبدأ جميع القيم الحرفية الدولية بتنسيق الأرقام السداسية عشر بالرقم 0x أو 0x ، ويجب أن تحتوي على رقم سداسي عشري واحد على الأقل:

  • int num1 = 0x123.

تبدأ الحرف Int في التنسيق الثنائي بـ 0b أو 0B:

  • عدد صحيح 1 = 0b10101.

الوقت أنواع بيانات جافا

طويل

هو نوع بدائي موقع 64 بت. يتم استخدامه عندما تتجاوز نتيجة الحسابات النطاق int. بعيد المدى - من -263 ما يصل إلى 263- 1. جميع الأعداد الصحيحة في هذا النطاق حرفية من نوع طويل.

للتمييز بين أنواع البيانات int و Long في Java ، ينتهي النوع الأخير حرفياً دائمًا بـ L أو l.

يمكن أيضًا التعبير عن الحرف الحرفي من النوع الطويل في الأشكال الثمانية والسداسية العشرية والثنائية.

عندما يتم تعيين حرف طويل لمتغير طويل ،يقوم مترجم Java بالتحقق من القيمة المعينة والتأكد من أنه في نطاق مقبول ؛ خلاف ذلك ، سيحدث خطأ في الترجمة.

بما أن نطاق int أصغر من المدى الطويل ،يمكن دائمًا تعيين قيمة المتغير int لمتغير من النوع الطويل. لكن التخصيص العكسي غير ممكن حتى في نطاق int. لهذا ، يتم استخدام إشارة صريحة:

  • num1 = (int) num2 ؛

أنواع بيانات سلسلة جافا

بايت

البايت هو نوع بدائي صحيح 8 بت. نطاقها -128 إلى 127 (-27 ما يصل إلى 27 - 1). وهو أصغر عدد صحيح متاح في Java.عادة ، يتم استخدام متغيرات البايت عندما يستخدم برنامج العديد من القيم في النطاق من -128 إلى 127 ، أو عند العمل مع البيانات الثنائية. على عكس الحرف الحرفية الدولية والطويلة ، لا توجد أي حرف بايت. ومع ذلك ، يمكنك تعيين أي حرف int إلى متغير بايت ، لأنه يتداخل مع نطاق البايت.

إذا كانت قيمة المتغير خارج النطاق ، فستقوم Java بإلقاء خطأ مترجم.

بالإضافة إلى ذلك ، يمكنك فقط تعيين حرف int ، ولكن ليس القيمة المخزنة في المتغير int ، حيث قد يؤدي ذلك إلى فقدان الدقة. سيتطلب هذا إلقاءًا صريحًا.

  • b1 = (بايت) num1.

قصيرة

هو نوع بيانات بدائية عدد 16 بت موقعة عدد صحيح. نطاقها -32768 إلى 32767 (أو -215 ما يصل إلى 215 - 1).

عموما الحاجة لمتغيرات قصيرةيحدث عندما يستخدم البرنامج عددًا كبيرًا من القيم التي لا تتجاوز النطاق المحدد. لا توجد حرفية قصيرة ، ولكن يمكنك تعيين أي حرفية int ضمن المدى القصير. يمكن دائمًا تعيين قيمة متغير البايت. بقية القواعد لتعيين int أو طويلة لقصر هي نفسها للبايت.

أنواع بيانات جافا البدائية

تشار

Char هو 16 بت غير موقعنوع بيانات بدائي يمثل حرف Unicode. يعني عدم وجود علامة أنه لا يمكن أن يكون للمتغير قيمة سالبة. النطاق من 0 إلى 65535 ، والذي يتطابق مع ترميز مجموعة أحرف Unicode. يمثل الحرف قيمة حرف ويمكن التعبير عنه في الأشكال التالية:

  • حرف محاط بعلامات اقتباس مفردة ؛
  • تسلسل أحرف التحكم ؛
  • تسلسل أحرف تحكم Unicode ؛
  • سلسلة من أحرف التحكم الثماني.

يمكن التعبير عن الرمز بتضمينهعلامات الاقتباس المفردة: char C1 = "A". تشير علامات الاقتباس المزدوجة إلى سلسلة حرفية لا يمكن تعيينها لمتغير char ، حتى إذا كانت السلسلة تحتوي على حرف واحد فقط. هذا غير مسموح لأنه لم يتم تعيين مرجع لمتغير بدائي. جميع حرفية السلسلة هي كائنات سلسلة وبالتالي مراجع ، في حين أن حرفية الحرف من النوع البدائي.

تتم كتابة حرف تسلسل الهروب على شكل شرطة مائلة متبوعة بحرف في علامات اقتباس مفردة. هناك 8 منهم: "n" و "r" و "f" و "b" و "t" و "\" و "" و ""

تسلسل هروب unicode هو"uxxxx" ، حيث تشير u (شرطة مائلة للخلف متبوعة بحرف صغير u) إلى بدايتها وتمثل xxxx أربعة أرقام سداسية عشرية تمامًا لرمز حرف Unicode. على سبيل المثال ، "A" 65 عشري و 41 سداسي عشري. وبالتالي ، يمكن تمثيل هذه الشخصية على أنها "u0041".

تتم كتابة تسلسل الهروب الثماني كـ "nnn" ، حيث n هو رقم ثماني (0-7). تتراوح القيم من "00" إلى "377" ، حيث 3778 يتوافق مع 25510. لذلك ، يتم استخدامه لتمثيلأحرف برمز من 0 إلى 255 ، مطلوب للتوافق مع لغات البرمجة الأخرى. على عكس تسلسل Unicode ، الذي يتطلب جميع الأرقام الست عشرية ، يمكنك استخدام أرقام 1 أو 2 أو 3 ثمانيات هنا: "n" أو "nn" أو "nnn".

أنواع البيانات المرجعية جافا

نوع منطقي

القيمة المنطقية لها قيمتان فقط:صح وخطأ. يطلق عليها حرفيا منطقية. لا يمكن تحويل المتغير المنطقي إلى نوع آخر والعكس صحيح. لا تحدد Java حجم القيمة المنطقية - إنها تعتمد على التنفيذ المحدد لـ Java Virtual Machine.

أنواع بيانات Java Floating Point

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

في لغة جافا ، تستخدم أنواع بيانات النقطة العائمة 32 بت. وفقًا لمعيار IEEE 754 ، يتوافق هذا مع الدقة المفردة ، مما يسمح لك بتمثيل ، على سبيل المثال ، الأرقام 1.4 × 10-45 و 3.4 × 1038سواء كانت إيجابية أو سلبية.

جميع الأعداد الحقيقية التي تنتهي بـ f أو F تسمى بالحرف العائم. يمكن تمثيلها في شكل عشري وفي التدوين العلمي. فمثلا:

  • تعويم f1 = 3.25F ؛
  • تعويم f2 = 32.5E-1F ؛
  • تعويم f3 = 0.325E + 1F.

يحدد النوع صفرين: + 0.0F (أو 0.0F) و -0.0F.ومع ذلك ، لأغراض المقارنة ، يعتبر كلا الأصفار متساويين. بالإضافة إلى ذلك ، حدد نوعين من اللانهاية: إيجابي وسالب. نتائج بعض العمليات (على سبيل المثال ، قسمة 0.0F على 0.0F) غير محددة وتمثلها القيمة الخاصة NaN.

أنواع بيانات جافا التاريخ والوقت

دقة مزدوجة

يستخدم مزدوج 64 بت لتخزين أرقام الفاصلة العائمة. يمكن أن تمثل الأرقام المزدوجة الدقة القيم الموجبة والسالبة 4.9 × 10-324 و 1.7 × 10308.

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