logo

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

تحدد أنواع البيانات نوع البيانات المخزنة في المتغير. يحدد النوع نوع البيانات (أحجام وقيم مختلفة).

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

  1. أنواع البيانات غير البدائية

    على عكس أنواع البيانات البدائية، هذه ليست محددة مسبقًا. هذه هي أنواع البيانات المحددة من قبل المستخدم والتي أنشأها المبرمجون. تُستخدم أنواع البيانات هذه لتخزين قيم متعددة.

    فك شفرة جافا سكريبت Base64

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

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

    يعيش متغير مرجع الكائن في ذاكرة المكدس ويعيش الكائن الذي يشير إليه دائمًا في ذاكرة الكومة. يحمل المكدس مؤشرًا للكائن الموجود في الكومة.

    في برمجة Java، تُسمى جميع أنواع البيانات غير البدائية ببساطة كائنات يتم إنشاؤها عن طريق إنشاء فئة.

    النقاط الرئيسية:

    1. القيمة الافتراضية لأي متغير مرجعي فارغة.
    2. عندما نقوم بتمرير نوع بيانات غير بدائي إلى طريقة ما، فإننا نقوم بتمرير عنوان ذلك الكائن حيث يتم تخزين البيانات.

    أنواع أنواع البيانات غير البدائية

    هناك خمسة أنواع من أنواع البيانات غير البدائية في Java. وهم على النحو التالي:

    1. فصل
    2. هدف
    3. خيط
    4. مجموعة مصفوفة
    5. واجهه المستخدم

    1. الفئة والأشياء:

    أ فصل في Java هو نوع بيانات محدد بواسطة المستخدم، أي يتم إنشاؤه بواسطة المستخدم. إنه بمثابة قالب للبيانات التي تتكون من متغيرات الأعضاء وطرقها.

    ان هدف هو متغير الفئة، والذي يمكنه الوصول إلى عناصر الفئة، أي الأساليب والمتغيرات.

    مثال:

    أمثلة على كود جافا

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

    ClassExample.java

     public class ClassExample { // defining the variables of class int a = 20; int b = 10; int c; // defining the methods of class public void add () { int c = a + b; System.out.println('Addition of numbers is: ' + c); } public void sub () { int c = a - b; System.out.println('Subtraction of numbers is: ' + c); } // main method public static void main (String[] args) { // creating the object of class ClassExample obj = new ClassExample(); // calling the methods obj.add(); obj.sub(); } } 

    انتاج:

     Addition of numbers is: 30 Subtraction of numbers is: 10 

    2. الواجهة:

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

    عدد صحيح للسلسلة في Java

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

    مثال:

    في المثال التالي، نقوم بإنشاء واجهة CalcInterface باستخدام طريقتين مجردتين ( ضرب () وتقسيم () ). هنا، يقوم Class InterfaceExample بتنفيذ الواجهة ويحدد أيضًا أساليب تلك الواجهة. ثم يتم استخدام كائن الفئة للوصول إلى تلك الأساليب.

    InterfaceExample.java

     interface CalcInterface { void multiply(); void divide(); } public class InterfaceExample implements CalcInterface { // defining the variables of class int a = 10; int b = 20; int c; // implementing the interface methods public void multiply() { int c = a * b; System.out.println('Multiplication of numbers is: ' + c); } public void divide() { int c = a / b; System.out.println('Division of numbers is: ' + c); } // main method public static void main (String[] args) throws IOException { InterfaceExample obj = new InterfaceExample(); // calling the methods obj.multiply(); obj.divide(); } } 

    3. السلسلة:

    تمثل السلسلة سلسلة من الأحرف، على سبيل المثال 'Javatpoint'، و'Hello World'، وما إلى ذلك. السلسلة هي فئة Java.

    إحدى الطرق لإنشاء سلسلة وتخزين قيمة فيها موضحة أدناه:

     String str = 'You're the best'; 

    هنا، نوع السلسلة متغير شارع له قيمة 'أنت الأفضل'. انقر هنا لفهم المزيد عنها سلسلة في جافا .

    مثال:

    تسطير النص باستخدام CSS

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

    StringExample.java

     public class StringExample { public static void main(String[] args) { // creating a string and initializing it String str = 'Hello! This is example of String type'; // applying substring() on above string String subStr = str.substring(0,14); // printing the string System.out.println(subStr); } } 

    انتاج:

     Hello! This is 

    4. المصفوفة:

    ان مجموعة مصفوفة هو نوع بيانات يمكنه تخزين متغيرات متجانسة متعددة، أي متغيرات من نفس النوع في تسلسل. يتم تخزينها بطريقة مفهرسة بدءًا من الفهرس 0. يمكن أن تكون المتغيرات إما أنواع بيانات بدائية أو غير بدائية.

    يوضح المثال التالي كيفية الإعلان عن مجموعة من نوع البيانات البدائية كثافة العمليات :

     int [ ] marks; 

    يوضح المثال التالي كيفية الإعلان عن صفيف من نوع البيانات غير البدائية:

     Student [ ] students; 

    أين، طالب هو اسم الفئة و[ ] ينشئ مصفوفة من الكائنات طلاب .

    كيفية العثور على الأشياء المخفية على أندرويد

    مثال:

    في المثال التالي، نقوم بإنشاء مصفوفتين أساسيتين، حيث يتم تهيئة أحدهما والإعلان عن الآخر (تتم قراءة الإدخال من المستخدم). علاوة على ذلك، فإننا نقوم بطباعة تلك المصفوفة باستخدام حلقة for.

    ArrayExample.java

     // importing required packages import java.io. * ; import java.util. * ; public class ArrayExample { public static void main(String[] args) throws IOException { int i; Scanner sc = new Scanner(System. in ); // declaring and initializing an array int arr[] = {1, 2, 3, 6, 9}; // defining another array arr1 int arr1[] = new int[5]; // reading values from the user System.out.println(&apos;Enter the numbers (size = 5) :&apos;); for (i = 0; i <5; i++) { arr1[i]="sc.nextInt();" } system.out.println('previous array with initialized size is: '); for (i="0;" i < 5; system.out.print(arr[i] + ' system.out.println('
    the new we have entered is:'); system.out.print(arr1[i] pre> <p> <strong>Output:</strong> </p> <pre> Enter the numbers (size = 5) : 56 43 22 1 7 Previous array with initialized size is: 1 2 3 6 9 The new array we have entered is: 56 43 22 1 7 </pre> <h2>Difference between Primitive and Non-primitive Data types in Java</h2> <ol class="points"> <li>In Java, the primitive data types are system defined however we have to create and define the non-primitive data types.</li> <li>In primitive data type, variables can store only one value at a time. However in non-primitive data types, either multiple values of the same type or different type or both can be stored.</li> <li>All the data for primitive type variables are stored on the stack whereas, for reference types, the stack holds a pointer to the object on the heap.</li> <li>A primitive type starts with a lowercase letter, while non-primitive types start with an uppercase letter.</li> <li>The size of a primitive type depends on the data type, while non-primitive types have all the same size.</li> </ol> <hr></5;>

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

    1. في Java، يتم تعريف أنواع البيانات البدائية بواسطة النظام ولكن يتعين علينا إنشاء أنواع البيانات غير البدائية وتحديدها.
    2. في نوع البيانات البدائية، يمكن للمتغيرات تخزين قيمة واحدة فقط في المرة الواحدة. ومع ذلك، في أنواع البيانات غير البدائية، يمكن تخزين قيم متعددة من نفس النوع أو نوع مختلف أو كليهما.
    3. يتم تخزين كافة البيانات الخاصة بمتغيرات النوع البدائي على المكدس، بينما بالنسبة للأنواع المرجعية، يحمل المكدس مؤشرًا للكائن الموجود في الكومة.
    4. يبدأ النوع البدائي بحرف صغير، بينما يبدأ النوع غير البدائي بحرف كبير.
    5. يعتمد حجم النوع البدائي على نوع البيانات، بينما الأنواع غير البدائية لها نفس الحجم.