














Preview text:
TRƯỜNG ĐẠI HỌC HỌC VĂN LANG KHOA CÔNG NGHỆ THÔNG TIN TÀI LIỆU GIẢNG DẠY LẬP TRÌNH JAVA
Chủ biên: ThS. TỐNG HÙNG ANH 2020 Khoa Công nghệ Thông tin MỤC LỤC MỤC LỤC
I.Cấu trúc dữ liệu mảng................................................................................................................................3
II.Mảng trong Java.......................................................................................................................................3
II.1 Mảng một chiều trong Java....................................................................................................................3
1. Tạo một mảng trong Java..................................................................................................................3
2. Các cách khác để tạo một mảng trong Java.....................................................................................3
4. Thay đổi một phần tử mảng trong Java...........................................................................................3
5. Độ dài mảng trong Java.....................................................................................................................4
6. Duyệt các phần tử của mảng trong Java...........................................................................................4
7. Sử dụng vòng lặp for......................................................................................................................5
8. Sử dụng foreach..............................................................................................................................5
9. So sánh for với foreach...................................................................................................................6
10. Sắp xếp mảng....................................................................................................................................6
11. Các phương thức tiện ích cho mảng một chiều..............................................................................7
II.2. Mảng hai chiều trong Java.....................................................................................................................9
1.Khai báo mảng hai chiều trong Java..................................................................................................9
2. Khởi tạo và gán giá trị cho mảng hai chiều trong java................................................................9
3. Khai báo và khởi tạo mảng hai chiều trong java.............................................................................9
4.Cộng hai ma trận (mảng hai chiều) trong Java.................................................................................9
III. Collection framework...........................................................................................................................11 Lập trình java 2 Khoa Công nghệ Thông tin
Giải bổ sung bài tập 6 – chương 2:
Bài 6 (chương 2): Tạo và in mảng đối tượng nhân viên package cau6; import java.util.Scanner; public class NhanVien { String name; String ; address int ; age
public NhanVien(String ten, String diaChi int ,
) { //contructor để khởi tạo thông tin tuoi
// TODO Auto-generated constructor stub name = ten; address = diaChi; age = tuoi; } public static void main(String[] args) { NhanVien[] nV = ien NhanV new ien[10]; Scanner sc = Scanner(System. new in); // nhập từ bàn phím
System.out.println("Nhập vào mảng NV:");
for (int i=0; i< nVien.length; i++) { String = ten sc.nextLine(); String diaChi = sc.nextLine(); int tuoi = sc.nextInt(); nVien[i] = new NhanV ten ien( diaChi , tuoi , );
sc.nextLine(); //xóa vùng nhớ đệm }
System.out.println("Xuất mảng NV:");
for (int i=0; iSystem.out.println(nVien[i].name +" "+nVien[i].address+" "+nVien[i].age); } } }
I.Cấu trúc dữ liệu mảng Lập trình java 3 Khoa Công nghệ Thông tin II.Mảng trong Java
II.1 Mảng một chiều trong Java
1. Tạo một mảng trong Java
2. Các cách khác để tạo một mảng trong Java
3. Truy cập các phần tử của một mảng trong Java
Bạn truy cập một phần tử mảng bằng cách sử dụng số chỉ mục (index). BÀI TẬP
1 : Truy cập một phần tử đầu tiên mảng { , "Honda" , "MERCEDES" "Ford",
"HUNDAI"} bằng cách sử dụng số chỉ mục [0]. Hướng dẫn
public class TruyCapPhanTuMang {
public static void main(String[] args) {
// TODO Auto-generated method stub String[] cars = { , "Honda" , "MERCEDES" "Ford", "HUNDAI" }; System.out.println(cars[1]); } } Kết quả: MERCEDES
Lưu ý: Chỉ mục của mảng bắt đầu bằng 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.
4. Thay đổi một phần tử mảng trong Java
Để thay đổi giá trị của một phần tử cụ thể, hãy sử dụng số chỉ mục:
BÀI TẬP 2: Thay đổi giá trị của một phần tử đầu tiên của mảng { "Morning" " , Honda" "MERCEDES" "Ford" ,
, "HUNDAI" }, hãy sử dụng số chỉ mục[0]: Lập trình java 4 Khoa Công nghệ Thông tin Hướng dẫn
public class ThayDoiPhanTuMang {
public static void main(String[] args) {
String[] cars = { "Honda", "MERCEDES", "Ford", "HUNDAI" };
// Thay doi phần tử đầu tiên cars[0] = "Morning";
// hiển thị phần tử đầu tiên và thứ 2 của mảng
System.out.println("P/tử thứ 1: " + cars[0]);
System.out.println("P/tử thứ 2: " + cars[1]); } } Kết quả: Morning MERCEDES
5. Độ dài mảng trong Java
Để biết có bao nhiêu phần tử một mảng, sử dụng hàm length : BÀI TẬP
3 : In ra bao nhiêu phần tử một mảng { , "Honda" " , MERCEDES" "Ford",
"HUNDAI" }, sử dụng hàm length. Hướng dẫn public class DoDaiMang {
public static void main(String[] args) {
// TODO Auto-generated method stub String[] cars = { , "Honda" , "MERCEDES" "Ford", "HUNDAI" };
System.out.println("Độ dài của mảng cars là: " + cars.length); } } Kết quả:
Độ dài của mảng cars là: 4 Lập trình java 5 Khoa Công nghệ Thông tin
6. Duyệt các phần tử của mảng trong Java Lập trình java 6 Khoa Công nghệ Thông tin 7. Sử dụng vòng lặp for
Bạn có thể lặp qua các phần tử mảng bằng vòng lặp for và sử dụng hàm length để chỉ định số lần vòng lặp sẽ chạy. BÀI TẬP
4 : Lặp qua để in ra các phần tử mảng { , "Honda" , "MERCEDES" "Ford",
"HUNDAI" } bằng vòng lặp for và sử dụng hàm length để chỉ định số lần vòng lặp sẽ chạy. Hướng dẫn
public class DuyetCacPhanTu_for {
public static void main(String[] args) { String[] cars = { , "Honda" , "MERCEDES" "Ford", "HUNDAI" };
for (int i = 0; i < cars.length; i++) { System.out.println(cars[i]); } } } Kết quả: Honda MERCEDES Ford HUNDAI 8. Sử dụng foreach BÀI TẬP
5 : Lặp qua để in ra các phần tử mảng { , "Honda" , "MERCEDES" "Ford",
"HUNDAI" } bằng vòng lặp foreach. Hướng dẫn
public class DuyetCacPhanTu_foreach {
public static void main(String[] args) {
String[] cars = { "Honda", "MERCEDES", "Ford", "HUNDAI" }; for (String : car cars){ } System.out.println(car); } } Lập trình java 7 Khoa Công nghệ Thông tin Kết quả: Honda MERCEDES Ford HUNDAI 9. So sánh for với foreach
Nếu bạn so sánh vòng lặp for và vòng lặp foreach, bạn sẽ thấy rằng phương thức foreach dễ viết
hơn, nó không yêu cầu bộ đếm (sử dụng thuộc tính length) và nó dễ đọc hơn. 10. Sắp xếp mảng
Có nhiều phương thức mảng có sẵn, Bài tập Sort(), sắp xếp một mảng theo thứ tự bảng chữ cái
hoặc theo thứ tự tăng dần,
BÀI TẬP 6: Sắp xếp một mảng { , "Honda" ,
"MERCEDES" "Ford", "HUNDAI" } theo thứ
tự bảng chữ cái hoặc theo thứ tự tăng dần. Hướng dẫn import java.util.Arrays;
public class SapXepCacPhanTuMang_TangDan {
public static void main(String[] args) { String[] cars = { , "Honda" ,
"MERCEDES" "Ford", "HUNDAI" }; Arrays. (cars); System.out.println( );
"Mảng cars sau khi được sắp xếp:" for (String : car cars) { } System.out.println(car); } } Kết quả:
Mảng cars sau khi được sắp xếp: Ford Honda HUNDAI MERCEDES Lập trình java 8 Khoa Công nghệ Thông tin
11. Các phương thức tiện ích cho mảng một chiều BÀI TẬP
7 : TẠO MẢNG {15, 5, 10, 20, 25}
Sắp xếp các giá trị của mảng tăng dần.
Tìm kiếm chỉ số của một giá trị 20 xuất hiện trong mảng.
/Gán cùng một giá trị 99 cho tất cả các phần tử của mảng. Hướng dẫn import java.util.Arrays;
public class CacPhuongThucTienIch {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Khai báo một mảng 5 phần tử kiểu nguyên
int[] arr = {15, 5, 10, 20, 25};
System.out.println("Gọi hàm toString để hiển thị mảng: ");
// Chuyển một mảng thành chuỗi (string) System.out.println(Arrays. (arr));
// Sắp xếp các giá trị của mảng tăng dần Arrays. (arr);
System.out.println("Sau khi gọi hàm sort: ");
// Chuyển một mảng thành chuỗi (string) System.out.println(Arrays. (arr));
// Tìm kiếm chỉ số của một giá trị xuất hiện trong mảng.
// Mảng phải được sắp xếp trước khi gọi hàm binarySearch int index = Arrays. (arr, 10); if (index < 0) { Lập trình java 9 Khoa Công nghệ Thông tin
System.out.println("Không tìm thấy giá trị"); } { else
System.out.println("Tìm thấy giá trị 10 tại index " + index); }
// Gán cùng một giá trị cho tất cả các phần tử của mảng. Arrays. (arr, 49);
System.out.println("Sau khi gọi hàm fill: ");
// Chuyển một mảng thành chuỗi (string) System.out.println(Arrays. (arr)); } } Kết quả:
Gọi hàm toString để hiển thị mảng: [15, 5, 10, 20, 25] Sau khi gọi hàm sort: [5, 10, 15, 20, 25]
Tìm thấy giá trị 10 tại index 2 Sau khi gọi hàm fill: [49, 49, 49, 49, 49] Lập trình java 10 Khoa Công nghệ Thông tin
II.2.Mảng hai chiều trong Java
1.Khai báo mảng hai chiều trong Java
2. Khởi tạo và gán giá trị cho mảng hai chiều trong java
3. Khai báo và khởi tạo mảng hai chiều trong java BÀI TẬP
8 : tạo mảng hai chiều { { 1, 2, 3 }, { 2, 4, 5 }, { 4, 4, 5 } }sau đó in mảng 2 chiều ra màn hình Hướng dẫn
public class InCacPhanTuMangHaiChieu {
public static void main(String[] args) {
int arr[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
// in mảng 2 chiều ra màn hình
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(arr[i][j] + “ ”); } System.out.println(); } } } Kết quả: 1 2 3 4 5 6 7 8 9
4.Cộng hai ma trận (mảng hai chiều) trong Java BÀI TẬP
9 : Cộng hai ma trận { { 1, 3, 4 }, { 3, 4, 5 } }; Lập trình java 11 Khoa Công nghệ Thông tin { { 1, 3, 4 }, { 3, 4, 5 } }; Hướng dẫn public class CongHaiMaTRan {
public static void main(String[] args) {
int a[][] = { { 1, 2, 4 }, { 3, 4, 5 } };
int b[][] = { { 1, 3, 5 }, { 3, 3, 3 } };
// Tạo ma trận khác để lưu kết quả int c[][] = new int[2][3]; // Cộng hai ma trận
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) { c[i][j] = a[i][j] + b[i][j];
System.out.print(c[i][j] + " "); } System.out.println(); } } } Kết quả: 2 5 9 6 7 8 Lập trình java 12 Khoa Công nghệ Thông tin
BÀI TẬP 10: Nhân 2 Ma trận Lập trình java 13 Khoa Công nghệ Thông tin III. Collection framework
Tham khảo tập tin “The Java Collections Framework.pptx” Tham khảo www.3school.com Lập trình java 14 Khoa Công nghệ Thông tin Lập trình java 15