logo

Непримитивни типови података у Јави

Типови података дефинишу тип података који се чувају у променљивој. Тип одређује врсту података (различите величине и вредности).

Програмски језик Јава има две врсте типова података

  1. Непримитивни типови података

    За разлику од примитивних типова података, они нису унапред дефинисани. Ово су кориснички дефинисани типови података које креирају програмери. Ови типови података се користе за складиштење више вредности.

    претворити нфа у дфа

    На пример, размотрите ан низ који чува групу вредности. Класа је такође примитиван тип који чува различите методе и променљиве. Стога се ови називају и као напредни типови података у Јави.

    Кад год се дефинише непримитиван тип података, он се односи на меморијску локацију на којој се подаци чувају у меморији гомиле, тј. односи се на меморијску локацију на којој се налази објекат. Стога се променљива типа података која није примитивна такође позива референтни тип података или једноставно објектна референтна варијабла .

    Референтна променљива објекта живи у меморији стека, а објекат на који она указује увек живи у меморији гомиле. Стек држи показивач на објекат на хрпи.

    У Јава програмирању, сви непримитивни типови података се једноставно називају објектима који се креирају инстанцирањем класе.

    Кључне тачке:

    1. Подразумевана вредност било које референтне променљиве је нула.
    2. Кад год методу прослеђујемо непримитиван тип података, ми прослеђујемо адресу тог објекта где се подаци чувају.

    Типови непримитивних типова података

    Постоји пет типова непримитивних типова података у Јави. Они су следећи:

    1. Класа
    2. Објекат
    3. Низ
    4. Низ
    5. Интерфејс

    1. Класа и објекти:

    А класа у Јави је кориснички дефинисан тип података, тј. креира га корисник. Делује као шаблон за податке који се састоје од променљивих чланова и метода.

    Ан објекат је променљива класе, која може да приступи елементима класе, односно методама и променљивим.

    Пример:

    бхарти јха

    У следећем примеру, креирамо класу која садржи променљиве и методе ( адд() и суб() ). Овде приступамо методама користећи објекат класе обј .

    ЦлассЕкампле.јава

     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. Интерфејс:

    Ан интерфејс је сличан класи, али једина разлика је у томе што су њене методе подразумевано апстрактне, тј. немају тело. Интерфејс има само коначне варијабле и декларације метода. Такође се назива и потпуно апстрактна класа.

    сет јава

    Напомена: Ако класа имплементира интерфејс, мора имплементирати све методе тог интерфејса. Ако није, класу морамо прогласити апстрактном.

    Пример:

    У следећем примеру, креирамо интерфејс ЦалцИнтерфаце са две апстрактне методе ( помножи () и подели () ). Овде класа ИнтерфацеЕкампле имплементира интерфејс и даље дефинише методе тог интерфејса. Затим се објекат класе користи за приступ тим методама.

    ИнтерфацеЕкампле.јава

     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. Стринг:

    Стринг представља низ знакова, на пример 'Јаватпоинт', 'Хелло ворлд', итд. Стринг је класа Јаве.

    Један од начина за креирање стринга и чување вредности у њему приказан је у наставку:

     String str = 'You're the best'; 

    Овде, променљива типа стринг стр има вредност 'Ти си најбољи'. Кликните овде да бисте разумели више о Стринг у Јави .

    Пример:

    јавафк

    У следећем примеру, креирамо стринг са вредношћу. Овде користимо једну од метода класе Стринг, подстринг() који штампа наведени индексирани део стринга.

    СтрингЕкампле.јава

     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; 

    где, Ученик је име класе и [ ] креира низ објеката студенти .

    Пример:

    У следећем примеру креирамо два основна низа, у којима је један иницијализован, а други декларисан (унос се чита од корисника). Даље, ми штампамо те низове користећи фор петљу.

    АрраиЕкампле.јава

     // 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. У Јави, примитивни типови података су системски дефинисани, али ми морамо да креирамо и дефинишемо непримитивне типове података.
    2. У примитивном типу података, променљиве могу да складиште само једну вредност у исто време. Међутим, у непримитивним типовима података, може се ускладиштити више вредности истог типа или различитог типа или обоје.
    3. Сви подаци за променљиве примитивног типа се чувају у стеку, док за референтне типове стек држи показивач на објекат на хрпи.
    4. Примитивни тип почиње малим словом, док непримитивни типови почињу великим словом.
    5. Величина примитивног типа зависи од типа података, док непримитивни типови имају исту величину.