intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình Java - Chương 5: Mảng

Chia sẻ: Gió Biển | Ngày: | Loại File: PDF | Số trang:32

66
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Kỹ thuật lập trình Java - Chương 5: Mảng" cung cấp cho người đọc các kiến thức: Mảng một chiều, sao chép mảng, mảng nhiều chiều, tìm kiếm phần tử trong mảng một chiều, sắp xếp các phần tử trong mảng một chiều. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình Java - Chương 5: Mảng

  1. Mảng Chỉ số phần tử mảng 0 1 2 3 4 a 7 20 5 9 3 Tên mảng Giá trị
  2. Trả lời câu hỏi 1. Mảng trên có mấy chiều? 2. Các phần tử của mảng có chung đặc điểm gì? a. Màu sắc b. Hình dạng c. Số nguyên 3. Trong java, mảng trên được khai báo như thế nào? 4. Cấu trúc lệnh nào thường dùng để duyệt mảng? a. IF b. For c. While 5. Tìm các số nguyên tố trong mảng trên?
  3. NỘI DUNG MẢNG o Mảng một chiều o Sao chép mảng o Mảng nhiều chiều o Tìm kiếm phần tử trong mảng một chiều o Sắp xếp các phần tử trong mảng một chiều
  4. Kiểu dữ liệu mảng Java có 2 kiểu dữ liệu cơ bản: o Kiểu dữ liệu cơ sở: có 8 kiểu o Kiểu dữ liệu tham chiếu (hay dẫn xuất): có 3 kiểu - Kiểu mảng - Kiểu lớp - Kiểu giao tiếp (interface).
  5. Kiểu dữ liệu mảng o Khái niệm: Mảng là tập hợp nhiều phần tử có cùng tên, cùng kiểu dữ liệu. Mỗi phần tử trong mảng được truy xuất thông qua chỉ số của nó trong mảng. o Khai báo: []; hoặc [] ; o VD: int[] iarray; hoặc int iarray[]; int[] arrInt3, arrInt4, arrInt5;
  6. Kiểu dữ liệu mảng Cấp phát bộ nhớ cho mảng: o Không giống C, C++ o Kích thước của mảng phải được xác định trước khi khai báo: o VD: int arrInt[100]; //sẽ báo lỗi o Dùng từ khóa new để cấp phát bộ nhớ cho mảng. o VD: int iarrInt = new int[100];
  7. Kiểu dữ liệu mảng  Khởi tạo giá trị cho mảng o Có thể khởi tạo giá trị ban đầu cho các phần tử của mảng khi nó được khai báo. o VD: int[] arrInt = {1, 2, 3, 5, 6}; char[] arrChar = {‘a’, ‘b’, ‘c’}; String arrString[] = {“Nguyen Van A”, “Tran Van B”}; Chú ý: o Luôn khởi tạo hoặc cấp phát mảng trước khi sử dụng o Một số khai báo không hợp lệ: int[5] iarray; int iarray[5];
  8. Truy cập mảng o Chỉ số mảng trong Java bắt đầu từ 0. Vì vậy phần tử đầu tiên có chỉ số là 0, phần tử thứ n có chỉ số là n - 1. o Các phần tử của mảng được truy xuất thông qua chỉ số của nó đặt giữa cặp dấu ngoặc vuông ([]). o VD: int arrInt[] = {1, 2, 3}; int x = arrInt[0]; // x sẽ có giá trị là 1. int y = arrInt[1]; // y sẽ có giá trị là 2. int z = arrInt[2]; // z sẽ có giá trị là 3.
  9. Chiều dài mảng – số phần tử mảng o Lấy số phần tử mảng ta dùng lệnh tenmang.length o VD: int a[]=new int[10]; int b[]={1,3,5}; Kết quả: a.length=10; b.length=3;
  10. Một số ví dụ về mảng //Nhập và xuất giá trị các phần tử của một mảng các số nguyên: public class ArrayDemo { public static void main(String[] args) { int arrInt[] = new int[10]; int i; for(i = 0; i < arrInt.length; i ++) arrInt[i] = i; for(i = 0; i < arrInt.length; i ++) System.out.println("This is arrInt[" + i +"]: " + arrInt[i]); } }
  11. Một số ví dụ về mảng //Tìm phần tử có giá trị nhỏ nhất (Min) và lớn nhất (Max) trong một mảng. public class TimMaxMin { public static void main(String[] args) { int nums[] = { 99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49 }; int min, max; min = max = nums[0]; for(int i=1; i < 10; i++){ if(nums[i] < min) min = nums[i]; if(nums[i] > max) max = nums[i]; } System.out.println("Min and max: " + min + " " + max); } }
  12. Một số ví dụ về mảng import java.util.Scanner; //sap xep mang public class BTMang { System.out.println("Sap xep cac phan public static void main(String[] args) { tu cua mang theo chieu tang dan:"); Scanner input =new Scanner(System.in); for(i=0;i
  13. Một số ví dụ về mảng import java.util.Scanner; public static void Sapxep(int[] a){ public class BTMang2 { int i, j, tg; public static void Nhap(int[] a){ System.out.println("Sap xep cac phan Scanner input =new Scanner(System.in); tu cua mang theo chieu tang dan:"); System.out.println("Nhap vao cac phan for(i=0;i
  14. Một số ví dụ về mảng public static void main(String[] args) { int [] a = new int[5]; BTMang2 m2 = new BTMang2(); m2.Nhap(a); //in mang m2.In(a); m2.Sapxep(a); } }
  15. Sao chép mảng Sử dụng một vòng lặp: • int[] sourceArray = {2, 3, 1, 5, 10}; • int[] targetArray = new int[sourceArray.length]; • for (int i = 0; i < sourceArray.length; i++) • targetArray[i] = sourceArray[i]; Dùng lệnh gán: Gán tham chiếu của sourceArray cho targerArray • targetArray = sourceArray; Dùng tiện ích arraycopy • System.arraycopy(srcArray, src_pos, tarArray, tar_pos, length);
  16. Sao chép mảng import java.util.*; public class randomfile { public static void main(String[] args) { int[] s = {1,3,5,7,9,11,13,15}; int[] d = {2,4,6,8,10,12,14}; System.out.println(" mang d ban dau "); for(int i =0; i< d.length; i++){ System.out.print(" "+d[i]); copy 4 phần tử của mảng } s, bắt đầu tại vị trí thứ 3 System.out.print("\n"); là 7,9,11,13 rồi chép sang System.arraycopy(s,3,d,2,4); mảng d, bắt đầu tại vị trí System.out.println(" mang d sau"); thứ 2 -> kết quả mảng d: for(int i =0; i< d.length; i++){ phần tử 6,8,10,12 được System.out.print(" "+d[i]); thay bằng 7,9,11,13 }} }
  17. Mảng nhiều chiều o Khai báo n chiều trong java [][]...[] ; hoặc [][]..[] o Ví dụ khai báo mảng 2 chiều int a[][]; int[][] a;
  18. Mảng nhiều chiều o Khai báo 1 mảng kèm theo cấp phát bộ nhớ cho mảng n chiều [][]...[] = new [Số phần từ 1][Số phần tử 2].....[Số phần tử n] o Ví dụ khai bào mảng 2 chiều (ma trận 2 hàng 3 cột) int a[][]=new int[2][3];
  19. Mảng nhiều chiều o Truy xuất đến phần tử của mảng nhiều chiều A ta dùng cú pháp A[n-1][m-1]...[k-1]; o Ví dụ truy xuất mảng 2 chiều int a[][]={ {3,4}, {2,8}, }; o Lúc đó: a[0][0]=3; a[0][1]=4; a[1][0]=2; a[1][1]=8;
  20. Độ dài mảng nhiều chiều • Lấy số dòng của mảng: ArrayName.length • Lấy số phần tử của dòng i: ArrayName[i].length • Ví dụ: Cho mảng sau: int[][] array = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}}; – Khi đó: array.length cho kết quả là 4. array[0].length cho kết quả là 3 ……
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2