logo

Neprimitivni tipi podatkov v Javi

Tipi podatkov določajo vrsto podatkov, ki so shranjeni v spremenljivki. Tip določa vrsto podatkov (različne velikosti in vrednosti).

Programski jezik Java ima dve vrsti podatkovnih tipov

  1. Neprimitivni tipi podatkov

    Za razliko od primitivnih tipov podatkov ti niso vnaprej določeni. To so uporabniško definirani tipi podatkov, ki jih ustvarijo programerji. Ti tipi podatkov se uporabljajo za shranjevanje več vrednosti.

    java lokalni datum in čas

    Na primer, razmislite o matriko, ki hrani skupino vrednosti. Razred je tudi primitivni tip, ki shranjuje različne metode in spremenljivke. Zato se ti imenujejo tudi kot napredne vrste podatkov v Javi.

    Kadarkoli je definiran neprimitivni podatkovni tip, se nanaša na pomnilniško lokacijo, kjer so podatki shranjeni v pomnilniku kopice, tj. nanaša se na pomnilniško lokacijo, kjer je postavljen objekt. Zato se kliče tudi spremenljivka neprimitivnega podatkovnega tipa referenčni podatkovni tip oz preprosto referenčna spremenljivka objekta .

    Referenčna spremenljivka objekta živi v pomnilniku sklada, objekt, na katerega kaže, pa vedno živi v pomnilniku kopice. Sklad drži kazalec na predmet na kupu.

    V programiranju Java se vsi neprimitivni tipi podatkov preprosto imenujejo objekti, ki so ustvarjeni z instanciranjem razreda.

    Ključne točke:

    1. Privzeta vrednost katere koli referenčne spremenljivke je ničelna.
    2. Kadar koli metodi posredujemo neprimitivni tip podatkov, posredujemo naslov tega predmeta, kjer so shranjeni podatki.

    Tipi Neprimitivni tipi podatkov

    V Javi obstaja pet tipov neprimitivnih podatkovnih tipov. So naslednji:

    1. Razred
    2. Objekt
    3. Vrvica
    4. Array
    5. Vmesnik

    1. Razred in predmeti:

    A razred v Javi je uporabniško določen podatkovni tip, tj. ustvari ga uporabnik. Deluje kot predloga za podatke, ki so sestavljeni iz spremenljivk in metod članov.

    An predmet je spremenljivka razreda, ki lahko dostopa do elementov razreda, tj. metod in spremenljivk.

    primer:

    slovar za razvrščanje python

    V naslednjem primeru ustvarjamo razred, ki vsebuje spremenljivke in metode ( add() in sub() ). Tukaj dostopamo do metod z uporabo predmeta razreda 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(); } } 

    Izhod:

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

    2. Vmesnik:

    An vmesnik je podoben razredu, vendar je edina razlika ta, da so njegove metode privzeto abstraktne, tj. nimajo telesa. Vmesnik ima le končne spremenljivke in deklaracije metod. Imenuje se tudi popolnoma abstrakten razred.

    pisava iz lateksa

    Opomba: Če razred implementira vmesnik, mora implementirati vse metode tega vmesnika. Če ne, moramo razred razglasiti za abstrakten.

    primer:

    V naslednjem primeru ustvarjamo vmesnik CalcInterface z dvema abstraktnima metodama ( pomnoži () in deli () ). Tukaj razred InterfaceExample implementira vmesnik in nadalje definira metode tega vmesnika. Nato se objekt razreda uporabi za dostop do teh metod.

    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. Niz:

    Niz predstavlja zaporedje znakov, na primer 'Javatpoint', 'Hello world' itd. Niz je razred Jave.

    Eden od načinov za ustvarjanje niza in shranjevanje vrednosti vanj je prikazan spodaj:

     String str = 'You're the best'; 

    Tukaj je spremenljivka vrste niz str ima vrednost 'Najboljši si'. Kliknite tukaj, če želite izvedeti več o Niz v Javi .

    primer:

    velikost pythona

    V naslednjem primeru ustvarjamo niz z vrednostjo. Tukaj uporabljamo eno od metod razreda String, podniz() ki natisne podani indeksirani del niza.

    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); } } 

    Izhod:

     Hello! This is 

    4. Niz:

    An niz je podatkovni tip, ki lahko shrani več homogenih spremenljivk, tj. spremenljivk istega tipa v zaporedju. Shranjene so na indeksiran način, začenši z indeksom 0. Spremenljivke so lahko primitivne ali neprimitivne vrste podatkov.

    matrični niz v c

    Naslednji primer prikazuje, kako deklarirati matriko primitivnega podatkovnega tipa int :

     int [ ] marks; 

    Naslednji primer prikazuje, kako deklarirati matriko neprimitivnega podatkovnega tipa:

     Student [ ] students; 

    kje, študent je ime razreda in [ ] ustvari niz predmetov študenti .

    primer:

    V naslednjem primeru ustvarjamo dve osnovni matriki, v kateri je ena inicializirana, druga pa deklarirana (vnos se bere od uporabnika). Nadalje tiskamo to matriko s pomočjo zanke 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;>

    Razlika med primitivnimi in neprimitivnimi tipi podatkov v Javi

    1. V Javi so primitivni podatkovni tipi sistemsko definirani, vendar moramo ustvariti in definirati neprimitivne podatkovne tipe.
    2. V primitivnem podatkovnem tipu lahko spremenljivke shranijo samo eno vrednost naenkrat. Vendar pa je v neprimitivnih tipih podatkov mogoče shraniti več vrednosti istega tipa ali različnega tipa ali oboje.
    3. Vsi podatki za spremenljivke primitivnega tipa so shranjeni v skladu, medtem ko ima sklad za referenčne tipe kazalec na objekt na kupu.
    4. Primitivni tip se začne z malo črko, medtem ko se neprimitivni tipi začnejo z veliko črko.
    5. Velikost primitivnega tipa je odvisna od podatkovnega tipa, medtem ko imajo neprimitivni tipi vsi enako velikost.