d) Chương trình ứng dụn gở dạng Applet lẫn dạng độc lập
3.7.3 Truyền các tham chiếu theo mảng
Mảng (array) trong Java được xem như là đối tượng. Các phần tử của mảng có thể có kiểu nguyên thủy hoặc kiểu tham chiếu (kiểu lớp).
Ví dụ 3.7: Truyền các tham chiếu kiểu mảng
class Loc {
public static void main(String[] args) {
int[] day = {8,1,4,3,2,5}; //khoi tao mang day va gan gia tri dau //Hien thi cac phan tu cua day truoc khi loc
for (int i = 0; i<day.length; i++) System.out.print(" " + day[i]); System.out.println();//xuong dong int maxIndex = 0;
//Loc ra phan tu cuc dai va dua ve cuoi
for (int index = 1; index<day.length; index++){ if(day[maxIndex]>day[index])
doiCho(day,maxIndex,index); //(1) maxIndex = index;
}
//Hien thi sau khi loc
System.out.print(" " + day[i]); System.out.println(); }
public static void doiCho(int [] bang, int i, int k){ //(2)
int temp = bang[i]; bang[i] = bang[k]; bang[k] = temp; }} Kết quả của chương trình sau khi thực hiện:
Các tham số final
Tham số hình thức có thể khai báo với từ khóa final đứng trước. Tham biến loại này được gọi là tham số cuối “trắng”, nghĩa là nó được khởi tạo giá trị đó là cuối cùng, không thay đổi được.
Ví dụ 3.8: Sử dụng tham biến final
class KhachHang3 {
public static void main(String[] args) {
HangSX banh = new HangSX(); //tao ra mot doi tuong int giaBan = 20;
double tien = banh.tinh(10, giaBan);
System.out.println("Gia ban: " + giaBan); //giaBan khong doi System.out.println("Tien ban duoc: " + tien);
}}
//Lop Hang san xuat
class HangSX{
double tinh(int num, final double gia){ //(1)
gia = gia/2.0; //(2)
return num*gia; //Thay doi gia nhung ko anh huong toi gia ban nhung so tien van bi thay doi theo
}}}
Khi dịch hàm tinh() chương trình dịch sẽ thông báo lỗi và không được phép thay đổi giá trị của biến final gia trong định nghĩa hàm như ở (2).
Các đối số của chương trình
Chúng ta có thể truyền các tham số cho chương trình trên dòng lệnh Ví dụ: java TinhTong 12 23 45
Chương trình Java thông dịch lớp TinhTong để tính tổng các đối số 12, 23, 45. Chương trình TinhTong có thể viết như sau:
class TinhTong {
float s = 0.0F;
for (int i = 0; i<args.length; i++)
s += Float.valueOf(args[i]).floatValue(); //Chuyen day chu so thanh so
System.out.print("Tong cua " + args[0]); for (int i = 1; i<args.length; i++)
System.out.print(" + " + args[i]); System.out.println(" = " + s);}}
CHƯƠNG 4
LỚP VÀ CÁC THÀNH PHẦN CỦA LỚP