Array satu dimensi di Java

By | November 16, 2022

Mangihin.com.

Selamat Membaca, semoga informasi ini bermanfaat dan dapat membantu anda.

Diperbarui 2022

Konsep Susunan atau Susunan:

SEBUAH Himpunan adalah kumpulan data terbatas dari jenis yang sama, disimpan di lokasi memori berurutan dan diberi nama umum.

Misalnya, kita ingin menyimpan nilai dari 20 siswa di kelas.
Untuk menyimpan nilai kita akan menggunakan array yang terdiri dari 20 elemen bertipe double dan di setiap elemen array kita akan menyimpan nilai setiap siswa

Kami secara grafis dapat mewakili susunan catatan sebagai berikut:


Himpunan
nilai:

8.50

6.35

5.75

8.50

· · ·

3.75

6.00

7.40

nilai[0]

nilai[1]

nilai[2]

nilai[3]

· · ·

nilai[17]

nilai[18]

nilai[19]

Untuk mengakses setiap elemen array, gunakan nama array dan a
Indeks yang menunjukkan posisi yang ditempati elemen dalam larik.

Indeks ditulis dalam tanda kurung siku.

Itu elemen pertama dari array menempati posisi 0posisi kedua 1, dst. Dalam array N elemen, yang terakhir akan menempati posisi N-1.

Dalam contoh di atas, Anda perhatikan[0] berisi nilai siswa pertama dan catatan[19] berisi yang terakhir

Indeks harus berupa bilangan bulat bukan negatif.

1.
BUAT ARRAY SATU-DIMENSI

Untuk membuat array, dua operasi harus dilakukan:


penyataan


Instansiasi

mendeklarasikan sebuah array

Deklarasi menciptakan referensi ke susunan.

Referensi akan menjadi nama yang akan kita gunakan untuk menangani larik dalam program.

Anda harus menunjukkan nama array dan tipe data yang akan dikandungnya.

Secara umum, array satu dimensi dapat dideklarasikan di Java dengan salah satu dari dua cara berikut:

Jenis []
namaarray;

ketik namaArray[];

Jenis: menunjukkan jenis data yang akan dikandung. Array dapat berisi elemen tipe dasar atau referensi ke objek.

namearray: adalah referensi ke array. Itu adalah nama yang akan digunakan dalam program untuk menanganinya.

Sebagai contoh:

int [] ventas;  //array de datos de tipo int llamado ventas
double [] temperaturas;  //array de datos de tipo double llamado temperaturas   
String [] nombres; //array de datos de tipo String llamado nombres

instantiate sebuah array

Dengan instantiasi, satu blok memori dicadangkan untuk menyimpan semua elemen array.

Alamat di mana blok memori tempat array akan disimpan dimulai ditetapkan ke nama array. Ini berarti bahwa nama array berisi alamat memori tempatnya berada.

Secara umum, sebuah array dibuat seperti ini:

arrayName = tipe baru[tamao];

  • arrayname: adalah nama yang dibuat dalam deklarasi.
  • type : menunjukkan jenis data yang dikandungnya.
  • ukuran: adalah jumlah elemen dalam array. Itu harus berupa ekspresi bilangan bulat positif. Ukuran array tidak dapat diubah selama eksekusi program.
  • baru: operator untuk membuat objek. Menggunakan baru mengalokasikan memori yang diperlukan untuk menemukan objek. Java mengimplementasikan array sebagai objek.

Sebagai contoh:

ventas = new int[5]; //se reserva memoria para 5 enteros y
                     //se asigna la direccin de inicio del array a ventas.   

Biasanya, deklarasi dan instantiasi dilakukan dalam satu pernyataan:

Jenis [] namaarray = tipe baru[tamao];

Sebagai contoh:

int [] ventas = new int[5];

Ukuran array juga dapat ditunjukkan selama eksekusi program, yaitu pada waktu eksekusi ukuran array dapat diminta dari keyboard dan dibuat:

Scanner sc = new Scanner(System.in);
System.out.print("Nmero de elementos del array: ");           
int numeroElementos = sc.nextInt();
int [] ventas = new int[numeroElementos];

Jika tidak ada cukup memori untuk membuat larik, new melontarkan pengecualian java.lang.OutOfMemoryError.

Perbedaan antara referensi dan konten array

Perbedaan antara nama larik dan isi larik harus jelas.

Ketika, misalnya, sebuah instruksi dieksekusi untuk membuat array bilangan bulat yang disebut A:

ke dalam [] A = int baru [5];

Dua operasi dilakukan: pertama, blok memori dibuat untuk menyimpan larik 5 bilangan bulat, dan kemudian alamat awal dari blok memori, juga disebut referensi larik, ditugaskan ke variabel A.



Nama larik berisi alamat awal dari blok memori tempat isi larik berada.

dua.
MENGINISIALISASI ARRAY SATU-DIMENSI

Array adalah objek, jadi ketika dibuat, elemen-elemennya secara otomatis diberi nilai awal:

Nilai awal default untuk array di java:

  • 0 untuk array numerik
  • ‘u0000’ (null character) untuk array karakter
  • false untuk array boolean
  • null untuk array referensi String dan objek.

Kami juga dapat memberikan nilai awal lainnya ke array saat dibuat.

Nilai awal dari sebuah array ditulis dalam kurung kurawal yang dipisahkan dengan koma.

Nilai-nilai awal dari sebuah array harus muncul dalam urutan di mana mereka akan ditugaskan ke elemen-elemen dari array.

Jumlah nilai menentukan ukuran array.

Sebagai contoh:

double [] notas = {6.7, 7.5, 5.3, 8.75, 3.6, 6.5};   

larik nada bertipe ganda dideklarasikan, memori dicadangkan untuk 6 elemen, dan nilai awal tersebut diberikan padanya.

Contoh:

//creacin de un array de 4 elementos booleanos
boolean [] resultados = {true,false,true,false};
//creacin de un array de 7 elementos de tipo String
String [] dias = {"Lunes", "Martes", "Mircoles", "Jueves", "Viernes", "Sbado", "Domingo"};   

3.
MENGAKSES ELEMEN ARRAY

Untuk mengakses setiap elemen array, nama array dan indeks yang menunjukkan posisi yang ditempati elemen dalam array digunakan.

Indeks ditulis dalam tanda kurung siku.

Nilai integer, variabel bertipe integer, atau ekspresi bertipe integer dapat digunakan sebagai indeks.

Itu elemen pertama dari array menempati posisi 0posisi kedua 1, dst. Dalam array N elemen, yang terakhir akan menempati posisi N-1.

Elemen array dapat digunakan seperti variabel lainnya.. Anda dapat melakukan dengan mereka operasi yang sama yang dapat dilakukan dengan variabel lainnya (peningkatan, penurunan, operasi aritmatika, perbandingan, dll).

Sebagai contoh:

Jika Anda mencoba mengakses elemen yang berada di luar batas array (elemen dengan indeks negatif atau dengan indeks lebih besar dari yang sesuai dengan elemen terakhir dari array) kompiler tidak melaporkan kesalahan. Kesalahan akan terjadi selama eksekusi. Dalam hal ini, java.lang.ArrayIndexOutOfBoundsException dilempar.

Anda dapat mengetahui jumlah elemen array melalui atribut panjangnya.

Kita bisa menggunakan panjang untuk memeriksa jangkauan array dan menghindari kesalahan akses.

Misalnya, kita memasukkan nilai dengan keyboard dan posisi array tempat kita akan menyimpannya:

Scanner sc = new Scanner(System.in);
int i, valor;
int [] a = new int[10];
System.out.print("Posicin: ");                                                                                   
i = sc.nextInt(); //pedimos una posicin del array
if (i >= 0 && i < a.length) {  //si la posicin introducida est dentro de los lmites del array
    System.out.print("Valor: ");
    valor = sc.nextInt();  //pedimos el valor                                                                     
    a[i] = valor;
}else{
    System.out.println("Posicin no vlida");
}

Empat.
LOOPING ARRAY SATU-DIMENSI

Untuk melintasi suatu array digunakan pernyataan iteratif, biasanya pernyataan for, walaupun bisa juga dilakukan dengan while atau do.. while, menggunakan variabel integer sebagai indeks yang akan mengambil nilai dari elemen pertama sampai terakhir atau dari yang terakhir sampai yang pertama.

Misalnya, cuplikan program Java berikut mendeklarasikan array 7 elemen bertipe ganda dan memberikan nilai awal padanya. Ini kemudian mengulang array, menggunakan pernyataan for, untuk menampilkan konten array di layar.

double[] notas = {2.3, 8.5, 3.2, 9.5, 4, 5.5, 7.0}; //array de 7 elementos
for (int i = 0; i < 7; i++) {                                                                                     
     System.out.print(notas[i] + " "); //se muestra cada elemento del array                                       
}

Untuk menghindari kesalahan akses array, disarankan gunakan panjang untuk melintasi seluruh array.

Sebagai contoh:

double[] notas = {2.3, 8.5, 3.2, 9.5, 4, 5.5, 7.0}; //array de 7 elementos
for (int i = 0; i < notas.length; i++) {                                                                          
     System.out.print(notas[i] + " "); //se muestra cada elemento del array                                       
}

Contoh traversal array satu dimensi di java:

Program yang membaca dengan keyboard nilai siswa suatu kelas dan menghitung nilai rata-rata kelompok. Ini juga menunjukkan siswa dengan nilai di atas rata-rata. Jumlah siswa dibaca dengan keyboard.

Program ini membuat array elemen bertipe double yang akan berisi nilai siswa. Ukuran array akan menjadi jumlah siswa di kelas.

dilakukan 3 tur pada larik, yang pertama menetapkan nilai yang dimasukkan oleh keyboard ke setiap elemen, yang kedua menambahkannya, dan yang ketiga menunjukkan siswa dengan nilai lebih tinggi dari rata-rata.

import java.util.Scanner;

public class Recorrido2 {

    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        int numAlum, i;
        double suma = 0, media;
  
        do {
            System.out.print("Nmero de alumnos de la clase: ");
            numAlum = sc.nextInt();
        } while (numAlum <= 0);
  
        double[] notas = new double[numAlum]; //se crea el array
  
        // Entrada de datos. Se asigna a cada elemento del array
        // la nota introducida por teclado
        for (i = 0; i < notas.length; i++) {
            System.out.print("Alumno " + (i + 1) + " Nota final: ");                                              
            notas[i] = sc.nextDouble();
        }
  
        // Sumar todas las notas
        for (i = 0; i < notas.length; i++) {
            suma = suma + notas[i];
        }
  
        // Calcular la media
        media = suma / notas.length;
  
        // Mostrar la media
        System.out.printf("Nota media del curso: %.2f %n", media);
  
        // Mostrar los valores superiores a la media
        System.out.println("Listado de notas superiores a la media: ");
        for (i = 0; i < notas.length; i++) {
            if (notas[i] > media) {
                System.out.println("Alumno numero " + (i + 1)+ " Nota final: " + notas[i]);                       
            }
        }
    }
}

Loop melalui Array di java dengan foreach. untuk loop untuk koleksi

Dimulai dengan Java 5, pernyataan for yang ditingkatkan ditambahkan ke traverse array dan container secara umum.

Mengizinkan akses berurutan ke setiap elemen array.

Sintaks umumnya adalah:

for(tipo nombreDeVariable : nombreArray){
   ......
}

Jenis: yoMenunjukkan jenis data yang terkandung dalam array.

namavariabel: variabel yang dalam setiap iterasi nilai dari setiap elemen array ditetapkan. Ini didefinisikan di dalam for sehingga hanya dapat diakses di dalamnya.

namearray: adalah nama array yang akan kita lintasi.

Melalui putaran ini kita hanya dapat mengakses elemen-elemen dari array. Kami tidak dapat mengubah kontennya.

Contoh: Program berikut membuat array suhu dari 10 elemen. Itu membaca nilai dari keyboard dan kemudian menampilkannya di layar menggunakan foreach loop.

import java.util.Scanner;

public class Recorrerforeach1 {

    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        double [] temperatura = new double[10];
        int i;
  
        for(i = 0; i < temperatura.length; i++){
            System.out.print("Elemento " + i + ": ");                                                             
            temperatura[i] = sc.nextDouble();         
        }

        for(double t: temperatura){
            System.out.print(t + " ");                                                                            
        }
        System.out.println();   
    }
}