logo

Tipus de dades no primitius a Java

Els tipus de dades defineixen el tipus de dades que s'emmagatzemen a la variable. El tipus especifica el tipus de dades (diferents mides i valors).

El llenguatge de programació Java té dos tipus de tipus de dades

  1. Tipus de dades no primitius

    A diferència dels tipus de dades primitius, aquests no estan predefinits. Aquests són tipus de dades definits per l'usuari creats pels programadors. Aquests tipus de dades s'utilitzen per emmagatzemar diversos valors.

    imprimir matriu en java

    Per exemple, considereu un matriu que emmagatzema un grup de valors. Class també és un tipus primitiu que emmagatzema diferents mètodes i variables. Per tant, aquests també s'anomenen com tipus de dades avançats en Java.

    Sempre que es defineix un tipus de dades no primitius, fa referència a una ubicació de memòria on les dades s'emmagatzemen a la memòria munt, és a dir, es refereix a la ubicació de memòria on es col·loca un objecte. Per tant, també s'anomena una variable de tipus de dades no primitiva tipus de dades de referència o simplement variable de referència d'objecte .

    Una variable de referència d'objecte viu a la memòria de pila i l'objecte al qual apunta sempre viu a la memòria de pila. La pila conté un punter a l'objecte de la pila.

    A la programació Java, tots els tipus de dades no primitius s'anomenen objectes que es creen mitjançant la instanciació d'una classe.

    Punts clau:

    1. El valor per defecte de qualsevol variable de referència és nul.
    2. Sempre que estem passant un tipus de dades no primitius a un mètode, estem passant l'adreça d'aquest objecte on s'emmagatzemen les dades.

    Tipus de tipus de dades no primitius

    Hi ha cinc tipus de tipus de dades no primitius a Java. Són els següents:

    1. Classe
    2. Objecte
    3. Corda
    4. Matriu
    5. Interfície

    1. Classe i objectes:

    A classe a Java és un tipus de dades definides per l'usuari, és a dir, les crea l'usuari. Actua com una plantilla per a les dades que consisteix en variables i mètodes membres.

    An objecte és la variable de la classe, que pot accedir als elements de la classe, és a dir, mètodes i variables.

    Exemple:

    llista enllaçada

    En l'exemple següent, estem creant una classe que conté les variables i mètodes ( afegir() i sub() ). Aquí, estem accedint als mètodes mitjançant l'objecte de la Classe 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(); } } 

    Sortida:

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

    2. Interfície:

    An interfície és similar a una classe, però l'única diferència és que els seus mètodes són abstractes per defecte, és a dir, no tenen cos. Una interfície només té les variables finals i les declaracions de mètodes. També s'anomena classe totalment abstracta.

    comanda push git

    Nota: si la classe implementa una interfície, ha d'implementar tots els mètodes d'aquesta interfície. Si no, hem de declarar la classe com a abstracta.

    Exemple:

    En l'exemple següent, estem creant la interfície CalcInterface amb dos mètodes abstractes ( multiplicar () i dividir () ). Aquí, la classe InterfaceExample implementa la interfície i defineix encara més els mètodes d'aquesta interfície. Aleshores, s'utilitza l'objecte de classe per accedir a aquests mètodes.

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

    Una cadena representa una seqüència de caràcters per exemple 'Javatpoint', 'Hello world', etc. String és la classe de Java.

    Una de les maneres de crear una cadena i emmagatzemar-hi un valor es mostra a continuació:

     String str = 'You're the best'; 

    Aquí, variable de tipus String str té el valor 'Tu ets el millor'. Feu clic aquí per entendre-ne més Cadena en Java .

    Exemple:

    mida del vector c++

    En l'exemple següent, estem creant una cadena amb un valor. Aquí, estem utilitzant un dels mètodes de classe String, subcadena () que imprimeix la part indexada especificada de la cadena.

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

    Sortida:

     Hello! This is 

    4. Matriu:

    An matriu és un tipus de dades que pot emmagatzemar múltiples variables homogènies, és a dir, variables del mateix tipus en una seqüència. S'emmagatzemen de manera indexada començant per l'índex 0. Les variables poden ser de tipus de dades primitives o no primitives.

    decodificació javascript base64

    L'exemple següent mostra com declarar una matriu de tipus de dades primitius int :

     int [ ] marks; 

    L'exemple següent mostra com declarar una matriu de tipus de dades no primitius:

     Student [ ] students; 

    on, Estudiant és el nom de la classe i [ ] crea una matriu d'objectes estudiants .

    Exemple:

    En l'exemple següent, estem creant dues matrius bàsiques, en les quals una s'inicializa i l'altra es declara (l'entrada es llegeix de l'usuari). A més, estem imprimint aquestes matrius mitjançant el bucle 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;>

    Diferència entre tipus de dades primitives i no primitives a Java

    1. A Java, els tipus de dades primitius es defineixen pel sistema, però hem de crear i definir els tipus de dades no primitius.
    2. En el tipus de dades primitiu, les variables només poden emmagatzemar un valor alhora. Tanmateix, en els tipus de dades no primitius, es poden emmagatzemar diversos valors del mateix tipus o tipus diferent o tots dos.
    3. Totes les dades de les variables de tipus primitiu s'emmagatzemen a la pila, mentre que, per als tipus de referència, la pila conté un punter a l'objecte de la pila.
    4. Un tipus primitiu comença amb una lletra minúscula, mentre que els tipus no primitius comencen amb una lletra majúscula.
    5. La mida d'un tipus primitiu depèn del tipus de dades, mentre que els tipus no primitius tenen tots la mateixa mida.