Truyền các tham chiếu theo mảng

Một phần của tài liệu Bài giảng Lập trình Java (Trang 29)

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

Một phần của tài liệu Bài giảng Lập trình Java (Trang 29)

Tải bản đầy đủ (DOC)

(138 trang)
w