420.57K
Category: informaticsinformatics

Стандартты Java түрлері

1.

4. Стандартты Java түрлері

2.

4.1. Массивтерді құру және
пайдалану

3.

Массивтер
• Массив - көптеген ұқсас
элементтер
• Массив өлшемі массивті жасағанда
анықталады
• Массив өлшемін өзгерту мүмкін
емес
• Элементтерге индекс бойынша
қатынау (нөлден бастап)
• Массив декларациясы
int[] arrayOfInt;
• Массивті жасау
arrayOfInt = new int[3];
• Жиым элементтеріне қатынасу
arrayOfInt[0] = 10;
arrayOfInt[1] = 20;
arrayOfInt[2] = arrayOfInt[0]
+ arrayOfInt[1];
• Қысқа синтаксис
arrayOfInt 10 20 30
int[] arrayOfInt2 = {5,2,99};

4.

Java-дағы массив — ортақ атаумен айтылатын ұқсас
типтес айнымалылар тобы. Java-дағы массивтер C/C++дағыдан өзгеше жұмыс істейді. Төменде Java массивтері
туралы кейбір маңызды тұстар бар.
Java-да барлық
қарастырылады).
массивтер
динамикалық
түрде
бөлінеді
(бұл төменде
Java-дағы массивтер объектілер болып табылады, сондықтан олардың
ұзындығын length қасиеті арқылы анықтауға болады. Бұл C/C++ тілдерінен
ерекшеленеді, онда ұзындық sizeof арқылы есептеледі.
Java-да массив айнымалысын кәдімгі айнымалы сияқты [] белгісін пайдаланып
жариялауға болады.
Массивтегі айнымалылар реттелген және олардың индексі 0-ден басталады.
Java массиві статикалық өріс, жергілікті айнымалы немесе әдіс параметрі
ретінде қолданыла алады.
Массив өлшемі int немесе short мәнімен анықталуы керек, бірақ long
қолдануға болмайды.
Массив типінің тікелей суперклассы — Object.
Әрбір
массив
түрі
Cloneable
интерфейстерін жүзеге асырады.
және
java.io.Serializable

5.

Массивте массивтің анықтамасына байланысты класстың қарабайыр
(int, char, т.б.) және объектінің (немесе қарабайыр емес) сілтемелері
болуы мүмкін. Қарапайым деректер түрлерінде нақты мәндер жадтың
іргелес орындарында сақталады. Сынып нысандары жағдайында нақты
нысандар үйме сегментінде сақталады.

6.

Массивті құру, инициализациялау және қатынасу
Бір өлшемді массивтер:
Бір өлшемді массив декларациясының жалпы түрі:
type var-name[];
OR
type[] var-name;
Массив
декларациясының
екі
компоненті
бар:
түрі
және
атауы.type жиымның элемент түрін жариялайды. Элемент түрі алапты
құрайтын әрбір элементтің деректер түрін анықтайды. Бүтін сандар
массиві сияқты, біз сондай-ақ char, float, double және т. Осылайша,
массивтің элемент түрі массив қандай деректер түрін сақтайтынын
анықтайды.

7.

Example:
// both are valid declarations
int intArray[];
or int[] intArray;
byte byteArray[];
short shortsArray[];
boolean booleanArray[];
long longArray[];
float floatArray[];
double doubleArray[];
char charArray[];
// an array of references to objects of
// the class MyClass (a class created by
// user)
MyClass myClassArray[];
Object[] ao,
// array of Object
Collection[] ca; // array of Collection
// of unknown type

8.

Java тіліндегі массивті құру
Массив жарияланған кезде тек массивтің сілтемесі жасалады. Жиымға жадты
жасау немесе беру үшін келесідей массив жасайсыз: Бір өлшемді массивтерге
қолданылатын new параметрінің жалпы пішіні келесідей көрінеді:
var-name = new type [size];
Мұнда тип бөлінетін деректердің түрін көрсетеді, өлшем массивтегі
элементтердің санын анықтайды, ал var-name массивке байланыстырылған
массив айнымалысының атауы болып табылады. Массивті бөлу үшін new
функциясын пайдалану үшін бөлінетін элементтердің түрі мен санын көрсету
керек.
Example:
int intArray[]; //declaring array
intArray = new int[20]; // allocating memory to array
OR
int[] intArray = new int[20]; // combining both statements in one

9.

Ескерту :
1.Жаңа бөлінген массивтегі элементтер автоматты түрде нөлге (сандық
түрлер үшін), жалған (логикалық) немесе бос (анықтамалық түрлер үшін)
іске қосылады. Java тіліндегі бастапқы массив мәндерін қараңыз
2.Массивті алу екі сатылы процесс. Алдымен, қалаған массив түрінің
айнымалы мәнін жариялау керек. Екіншіден, new көмегімен массивті ұстау
үшін жадты бөлу керек және оны массив айнымалысына тағайындау керек.
Осылайша, Java-да барлық массивтер динамикалық бөлінген.
Массив литералы
Массивтің өлшемі мен айнымалылары белгілі болған жағдайда массив
литералдарын пайдалануға болады.
int[] intArray = new int[]{ 1,2,3,4,5,6,7,8,9,10 };
жариялау
// Массивті литеральды деп
Бұл массивтің ұзындығы жасалған массивтің ұзындығын анықтайды.
Java-ның соңғы нұсқаларында жаңа int[] бөлігін жазудың қажеті жоқ.

10.

For Loop көмегімен Java массивінің элементтеріне қол жеткізу
Жиымдағы әрбір элементке оның индексі арқылы қол жеткізіледі. Индекс 0ден басталып, (жалпы массив өлшемі)-1-де аяқталады. Массивтің барлық
элементтеріне Java for Loop арқылы қол жеткізуге болады.
// көрсетілген массив элементтеріне қол жеткізу
for (int i = 0; i < arr.length; i++)
System.out.println("Element at index " + i + " : "+ arr[i]);

11.

// Java program to illustrate creating an array
// of integers, puts some values in the array,
// and prints each value to standard output.
class GFG
{
public static void main (String[] args)
{
// declares an Array of integers.
int[] arr;
// allocating memory for 5 integers.
arr = new int[5];
// initialize the first elements of the array
arr[0] = 10;
// initialize the second elements of the array
arr[1] = 20;
//so on...
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;
// accessing the elements of the specified array
for (int i = 0; i < arr.length; i++)
System.out.println("Element at index " + i +"+ arr[i]);
}
}

12.

Объектілердің массивтері
Объектілер массиві қарапайым түрдегі деректер элементтерінің
массиві сияқты келесі тәсілмен жасалады.
Student[] arr = new Student[7]; //student is a user-defined class
StudentArray жеті Студенттік объектінің мекен-жайын сақтауға болатын
студенттік класс өлшемдерінің әрқайсысында жеті жады кеңістігін
қамтиды. Student класстарын «Student» класының конструкторын
пайдалана отырып, жеделдету қажет, ал олардың сілтемелері массив
элементтеріне келесі тәсілмен тағайындалуы тиіс.
Student[] arr = new Student[5];

13.

// Java program to illustrate creating
// an array of objects
class Student
{
public int roll_no;
public String name;
Student(int roll_no, String name)
{
this.roll_no = roll_no;
this.name = name;
}
}
// Elements of the array are objects of a class Student.
public class GFG
{
public static void main (String[] args)
{
// declares an Array of integers.
Student[] arr;
// allocating memory for 5 objects of type Student.
arr = new Student[5];
// initialize the first elements of the array
arr[0] = new Student(1,"aman");
// initialize the second elements of the array
arr[1] = new Student(2,"vaibhav");

14.

// so on...
arr[2] = new Student(3,"shikar");
arr[3] = new Student(4,"dharmesh");
arr[4] = new Student(5,"mohit");
// accessing the elements of the specified array
for (int i = 0; i < arr.length; i++)
System.out.println("Element at " + i + " : " +
arr[i].roll_no +" "+ arr[i].name);
}
}
Output
Element at 0 : 1 aman
Element at 1 : 2 vaibhav
Element at 2 : 3 shikar
Element at 3 : 4 dharmesh
Element at 4 : 5 mohit

15.

Массив өлшемінен тыс элементтерге қол жеткізуге тырыссақ не
болады?
JVM массивке заңсыз индекспен қатынасылғанын көрсету
үшін ArrayIndexOutOfBoundsException шығарады. Индекс теріс немесе
массив өлшемінен үлкен немесе оған тең.
Runtime error
Exception in thread "main“
java.lang.ArrayIndexOutOfBoundsException: 2 GFG.main(File.java:12)

16.

Көп өлшемді массивтер
Көп өлшемді массивтер — басқа массивтердің сілтемені ұстап тұрған массивтің
әрбір элементі бар массивтер массивтері. Бұл Тісті массивтер деген атпен де
белгілі. Көп өлшемді массив бір өлшемге шаршы жақшаның ([]) бір жиынтығын
аппредитациялау арқылы жасалады.
Мысалдар:
int[][] intArray = new int[10][20]; //a 2D array or matrix
int[][][] intArray = new int[10][20][10]; //a 3D array

17.

Массивтермен типтік операциялар(1)
• Массивті айналып өту
int[] arr = new int[10];
for (int i=0; i<arr.length; i++)
arr[i] = i*10;
for (int item : arr)
System.out.println(item);
• Массивті көшіру
int[] arr2;
arr2 = arr;
arr2 = new int[arr.length];
for (int i=0; i<arr.length; i++)
arr2[i] = arr[i];
int[] arr3 = new int[arr.length];
System.arraycopy(arr, 0,
arr3, 0, arr.length);
• Массивті сұрыптау
int[] arr5 = {10, 3, 7, 15, 0, 2, 16};
java.util.Arrays.sort(arr5);
• Массивті толтыру
double[] arr6 = new double[10];
java.util.Arrays.fill(arr6, 0.5);
• Нысандар массивін жасау
Car[] carArray = {new Car(),
new Car(), new Car()};
Car[] carArray2 = new Car[100];
for (int i=0; i<carArray2.length; i++)
carArray2[i] = new Car();
System.out.println(carArray2[0].getName());
int[] arr4 = java.util.Arrays.copyOf(arr, arr.length);

18.

Массивтермен типтік
операциялар(2)
• Жолға түрлендіру
int arr7[] = {1,2,3,4,5,6,7};
System.out.println(
java.util.Arrays.toString(arr7));
• Элемент теңдігі үшін массивтерді салыстыру
int arr8[] = {1,2,3,4,5,6,7};
if (Arrays.equals(arr7, arr8))
System.out.println("Массивы равны");
if (arr7 == arr8) ...
English     Русский Rules