Примитивный тип данных и тип данных Object в Java с примерами
Примитивный тип данных : в Java примитивные типы данных являются предопределенными типами данных Java. В них указывается размер и тип любых стандартных значений. В Java есть 8 примитивных типов данных, а именно byte, short, int, long, float, double, char и boolean. Когда сохраняется примитивный тип данных, значения будут присвоены стеку. Когда переменная копируется, создается другая копия переменной, и изменения, внесенные в скопированную переменную, не будут отражать изменения в исходной переменной. Вот программа на Java, демонстрирующая все примитивные типы данных в Java.
Тип данных объекта : их также называют непримитивным или ссылочным типом данных. Они так называются, потому что относятся к каким-то конкретным объектам. В отличие от примитивных типов данных, непримитивные типы данных создаются пользователями в Java. Примеры включают массивы, строки, классы, интерфейсы и т. Д. Когда ссылочные переменные будут сохранены, переменная будет сохранена в стеке, а исходный объект будет сохранен в куче. В типе данных Object, хотя будут созданы две копии, они обе будут указывать на одну и ту же переменную в куче, поэтому изменения, внесенные в любую переменную, будут отражать изменение обеих переменных. Вот программа Java для демонстрации массивов (тип данных объекта) в Java.
Разница между примитивным и объектным типами данных в Java:
Теперь давайте посмотрим на программу, которая демонстрирует разницу между примитивными и объектными типами данных в Java.
Ява
import java.lang.*; import java.util.*; class GeeksForGeeks { public static void main(String ar[]) { System.out.println( "PRIMITIVE DATA TYPES
" ); int x = 10 ; int y = x; System.out.print( "Initially: " ); System.out.println( "x = " + x + ", y = " + y); // Here the change in the value of y // will not affect the value of x y = 30 ; System.out.print( "After changing y to 30: " ); System.out.println( "x = " + x + ", y = " + y); System.out.println( "**Only value of y is affected here " + "because of Primitive Data Type
" ); System.out.println( "REFERENCE DATA TYPES
" ); int [] c = { 10 , 20 , 30 , 40 }; // Here complete reference of c is copied to d // and both point to same memory in Heap int [] d = c; System.out.println( "Initially" ); System.out.println( "Array c: " + Arrays.toString(c)); System.out.println( "Array d: " + Arrays.toString(d)); // Modifying the value at // index 1 to 50 in array d System.out.println( "
Modifying the value at " + "index 1 to 50 in array d
" ); d[ 1 ] = 50 ; System.out.println( "After modification" ); System.out.println( "Array c: " + Arrays.toString(c)); System.out.println( "Array d: " + Arrays.toString(d)); System.out.println( "**Here value of c[1] is also affected " + "because of Reference Data Type
" ); } } |
ПЕРВИЧНЫЕ ВИДЫ ДАННЫХ Первоначально: x = 10, y = 10 После изменения y на 30: x = 10, y = 30 ** Здесь затрагивается только значение y из-за примитивного типа данных ВИДЫ СПРАВОЧНЫХ ДАННЫХ Первоначально Массив c: [10, 20, 30, 40] Массив d: [10, 20, 30, 40] Изменение значения с индекса 1 до 50 в массиве d После модификации Массив c: [10, 50, 30, 40] Массив d: [10, 50, 30, 40] ** Здесь значение c [1] также зависит от ссылочного типа данных.
Давайте посмотрим на разницу между примитивным и объектным типом данных в табличной форме. Характеристики Примитивные типы данных Объекты Источник Предопределенные типы данных Типы данных, определяемые пользователем Сохраненная структура Хранится в стопке Ссылочная переменная хранится в стеке, а исходный объект хранится в куче При копировании Создаются две разные переменные с разными присваиваниями (одинаковые только значения) Созданы две ссылочные переменные, но обе указывают на один и тот же объект в куче. Когда вносятся изменения в скопированную переменную Изменения не отражаются в исходных. Изменения отражены в исходных. Значение по умолчанию Примитивные типы данных не имеют значения NULL в качестве значения по умолчанию Значение по умолчанию для ссылочной переменной - null. Пример byte, short, int, long, float, double, char, логическое значение массив, строковый класс, интерфейс и т. д.
Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .